author | Stefan Vogel <sv@exept.de> |
Fri, 05 Mar 2004 20:06:35 +0100 | |
changeset 1417 | b75a9128f73e |
parent 1403 | 69f6ded3b234 |
child 1420 | 3cdb0bb41576 |
permissions | -rw-r--r-- |
195 | 1 |
" |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
2 |
COPYRIGHT (c) 1995 by Claus Gittinger |
195 | 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 |
||
1250 | 13 |
"{ Package: 'stx:libbasic2' }" |
14 |
||
15 |
TwoByteString variableWordSubclass:#JISEncodedString |
|
195 | 16 |
instanceVariableNames:'' |
17 |
classVariableNames:'' |
|
18 |
poolDictionaries:'' |
|
19 |
category:'Collections-Text' |
|
20 |
! |
|
21 |
||
540 | 22 |
!JISEncodedString class methodsFor:'documentation'! |
195 | 23 |
|
24 |
copyright |
|
25 |
" |
|
26 |
COPYRIGHT (c) 1995 by Claus Gittinger |
|
27 |
All Rights Reserved |
|
28 |
||
29 |
This software is furnished under a license and may be used |
|
30 |
only in accordance with the terms of that license and with the |
|
31 |
inclusion of the above copyright notice. This software may not |
|
32 |
be provided or otherwise made available to, or used by, any |
|
33 |
other person. No title to or ownership of the software is |
|
34 |
hereby transferred. |
|
35 |
" |
|
36 |
! |
|
37 |
||
38 |
documentation |
|
39 |
" |
|
230
aef7afe6a01d
no need for initialize method
Claus Gittinger <cg@exept.de>
parents:
202
diff
changeset
|
40 |
JISEncodedString represents 16bit strings encoded in JIS. |
262 | 41 |
You need jis-encoded fonts on your display workstation, |
42 |
to display them (i.e. when switching to japanese ...). |
|
43 |
||
449
25bc9f97233e
Rename misspelled "interrest" to "interest".
Stefan Vogel <sv@exept.de>
parents:
264
diff
changeset
|
44 |
Most of you are probably not interested in those ... |
253 | 45 |
|
46 |
[author:] |
|
47 |
Claus Gittinger |
|
262 | 48 |
|
49 |
[see also:] |
|
50 |
BIG5EncodedString GBEncodedString |
|
51 |
TwoByteString String CharacterArray |
|
52 |
StringCollection |
|
195 | 53 |
" |
241 | 54 |
! |
55 |
||
56 |
examples |
|
57 |
" |
|
58 |
JISEncodedString fromString:'hello world' |
|
59 |
||
60 |
'hello world' decodeFrom:#jis7 |
|
61 |
||
62 |
<someStringWithJIS7Escapes> decodeFrom:#jis7 |
|
63 |
" |
|
195 | 64 |
! ! |
65 |
||
540 | 66 |
!JISEncodedString class methodsFor:'initialization'! |
260
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
67 |
|
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
68 |
initialize |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
69 |
"initialize the class - private" |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
70 |
|
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
71 |
self flags:(Behavior flagWords) |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
72 |
|
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
73 |
" |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
74 |
JISEncodedString initialize |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
75 |
" |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
76 |
|
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
77 |
"Created: 27.4.1996 / 13:12:02 / cg" |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
78 |
! ! |
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
79 |
|
540 | 80 |
!JISEncodedString class methodsFor:'code tables'! |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
81 |
|
545 | 82 |
defaultRomanCharacterValue |
1398
c089faf6bc1d
some encoding stuff moved to CharacterEncoder
Claus Gittinger <cg@exept.de>
parents:
1250
diff
changeset
|
83 |
^ CharacterEncoder::JIS0208 defaultRomanCharacterValue |
545 | 84 |
|
85 |
"Created: 30.6.1997 / 18:34:58 / cg" |
|
86 |
! |
|
87 |
||
543 | 88 |
romanTable |
1399 | 89 |
"return a table to decode from roman ascii to 16 bit JIS. |
90 |
||
91 |
WARNING: this is a temporary kludge for CJK characterSets and will be removed, |
|
92 |
when the textViews always use unicode." |
|
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
93 |
|
1398
c089faf6bc1d
some encoding stuff moved to CharacterEncoder
Claus Gittinger <cg@exept.de>
parents:
1250
diff
changeset
|
94 |
^ CharacterEncoder::JIS0208 romanTable |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
95 |
! ! |
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
96 |
|
1250 | 97 |
!JISEncodedString class methodsFor:'encoding & decoding'! |
546
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
98 |
|
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
99 |
encodeHalfWidthKatakana:aString |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
100 |
"encode halfWidth katakana characters in aString. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
101 |
Return the argument or a copy." |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
102 |
|
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
103 |
|newString char code cell halfWidthKanaToFullKana| |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
104 |
|
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
105 |
halfWidthKanaToFullKana := #( |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
106 |
"/ full half uni |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
107 |
16r2123 "/ 0x8E21 0xFF61 # HALFWIDTH IDEOGRAPHIC FULL STOP |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
108 |
16r2156 "/ 0x8E22 0xFF62 # HALFWIDTH LEFT CORNER BRACKET |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
109 |
16r2157 "/ 0x8E23 0xFF63 # HALFWIDTH RIGHT CORNER BRACKET |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
110 |
16r2122 "/ 0x8E24 0xFF64 # HALFWIDTH IDEOGRAPHIC COMMA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
111 |
16r2126 "/ 0x8E25 0xFF65 # HALFWIDTH KATAKANA MIDDLE DOT |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
112 |
16r2572 "/ 0x8E26 0xFF66 # HALFWIDTH KATAKANA LETTER WO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
113 |
16r2522 "/ 0x8E27 0xFF67 # HALFWIDTH KATAKANA LETTER SMALL A |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
114 |
16r2521 "/ 0x8E28 0xFF68 # HALFWIDTH KATAKANA LETTER SMALL I |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
115 |
16r2525 "/ 0x8E29 0xFF69 # HALFWIDTH KATAKANA LETTER SMALL U |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
116 |
16r2527 "/ 0x8E2A 0xFF6A # HALFWIDTH KATAKANA LETTER SMALL E |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
117 |
16r2529 "/ 0x8E2B 0xFF6B # HALFWIDTH KATAKANA LETTER SMALL O |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
118 |
16r2563 "/ 0x8E2C 0xFF6C # HALFWIDTH KATAKANA LETTER SMALL YA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
119 |
16r2565 "/ 0x8E2D 0xFF6D # HALFWIDTH KATAKANA LETTER SMALL YU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
120 |
16r2567 "/ 0x8E2E 0xFF6E # HALFWIDTH KATAKANA LETTER SMALL YO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
121 |
16r2543 "/ 0x8E2F 0xFF6F # HALFWIDTH KATAKANA LETTER SMALL TU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
122 |
16r213C "/ 0x8E30 0xFF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
123 |
16r2522 "/ 0x8E31 0xFF71 # HALFWIDTH KATAKANA LETTER A |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
124 |
16r2524 "/ 0x8E32 0xFF72 # HALFWIDTH KATAKANA LETTER I |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
125 |
16r2526 "/ 0x8E33 0xFF73 # HALFWIDTH KATAKANA LETTER U |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
126 |
16r2528 "/ 0x8E34 0xFF74 # HALFWIDTH KATAKANA LETTER E |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
127 |
16r252A "/ 0x8E35 0xFF75 # HALFWIDTH KATAKANA LETTER O |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
128 |
16r252B "/ 0x8E36 0xFF76 # HALFWIDTH KATAKANA LETTER KA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
129 |
16r252D "/ 0x8E37 0xFF77 # HALFWIDTH KATAKANA LETTER KI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
130 |
16r252F "/ 0x8E38 0xFF78 # HALFWIDTH KATAKANA LETTER KU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
131 |
16r2531 "/ 0x8E39 0xFF79 # HALFWIDTH KATAKANA LETTER KE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
132 |
16r2533 "/ 0x8E3A 0xFF7A # HALFWIDTH KATAKANA LETTER KO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
133 |
16r2535 "/ 0x8E3B 0xFF7B # HALFWIDTH KATAKANA LETTER SA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
134 |
16r2537 "/ 0x8E3C 0xFF7C # HALFWIDTH KATAKANA LETTER SI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
135 |
16r2539 "/ 0x8E3D 0xFF7D # HALFWIDTH KATAKANA LETTER SU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
136 |
16r253B "/ 0x8E3E 0xFF7E # HALFWIDTH KATAKANA LETTER SE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
137 |
16r253D "/ 0x8E3F 0xFF7F # HALFWIDTH KATAKANA LETTER SO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
138 |
16r253F "/ 0x8E40 0xFF80 # HALFWIDTH KATAKANA LETTER TA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
139 |
16r2541 "/ 0x8E41 0xFF81 # HALFWIDTH KATAKANA LETTER TI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
140 |
16r2544 "/ 0x8E42 0xFF82 # HALFWIDTH KATAKANA LETTER TU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
141 |
16r2546 "/ 0x8E43 0xFF83 # HALFWIDTH KATAKANA LETTER TE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
142 |
16r2548 "/ 0x8E44 0xFF84 # HALFWIDTH KATAKANA LETTER TO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
143 |
16r254A "/ 0x8E45 0xFF85 # HALFWIDTH KATAKANA LETTER NA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
144 |
16r254B "/ 0x8E46 0xFF86 # HALFWIDTH KATAKANA LETTER NI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
145 |
16r254C "/ 0x8E47 0xFF87 # HALFWIDTH KATAKANA LETTER NU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
146 |
16r254D "/ 0x8E48 0xFF88 # HALFWIDTH KATAKANA LETTER NE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
147 |
16r254E "/ 0x8E49 0xFF89 # HALFWIDTH KATAKANA LETTER NO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
148 |
16r254F "/ 0x8E4A 0xFF8A # HALFWIDTH KATAKANA LETTER HA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
149 |
16r2552 "/ 0x8E4B 0xFF8B # HALFWIDTH KATAKANA LETTER HI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
150 |
16r2555 "/ 0x8E4C 0xFF8C # HALFWIDTH KATAKANA LETTER HU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
151 |
16r2558 "/ 0x8E4D 0xFF8D # HALFWIDTH KATAKANA LETTER HE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
152 |
16r255B "/ 0x8E4E 0xFF8E # HALFWIDTH KATAKANA LETTER HO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
153 |
16r255E "/ 0x8E4F 0xFF8F # HALFWIDTH KATAKANA LETTER MA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
154 |
16r255F "/ 0x8E50 0xFF90 # HALFWIDTH KATAKANA LETTER MI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
155 |
16r2560 "/ 0x8E51 0xFF91 # HALFWIDTH KATAKANA LETTER MU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
156 |
16r2561 "/ 0x8E52 0xFF92 # HALFWIDTH KATAKANA LETTER ME |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
157 |
16r2562 "/ 0x8E53 0xFF93 # HALFWIDTH KATAKANA LETTER MO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
158 |
16r2564 "/ 0x8E54 0xFF94 # HALFWIDTH KATAKANA LETTER YA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
159 |
16r2566 "/ 0x8E55 0xFF95 # HALFWIDTH KATAKANA LETTER YU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
160 |
16r2568 "/ 0x8E56 0xFF96 # HALFWIDTH KATAKANA LETTER YO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
161 |
16r2569 "/ 0x8E57 0xFF97 # HALFWIDTH KATAKANA LETTER RA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
162 |
16r256A "/ 0x8E58 0xFF98 # HALFWIDTH KATAKANA LETTER RI |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
163 |
16r256B "/ 0x8E59 0xFF99 # HALFWIDTH KATAKANA LETTER RU |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
164 |
16r256C "/ 0x8E5A 0xFF9A # HALFWIDTH KATAKANA LETTER RE |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
165 |
16r256D "/ 0x8E5B 0xFF9B # HALFWIDTH KATAKANA LETTER RO |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
166 |
16r256F "/ 0x8E5C 0xFF9C # HALFWIDTH KATAKANA LETTER WA |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
167 |
16r2573 "/ 0x8E5D 0xFF9D # HALFWIDTH KATAKANA LETTER N |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
168 |
16r212B "/ 0x8E5E 0xFF9E # HALFWIDTH KATAKANA VOICED SOUND MARK |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
169 |
16r212C "/ 0x8E5F 0xFF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
170 |
). |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
171 |
|
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
172 |
1 to:aString size do:[:idx | |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
173 |
char := aString at:idx. |
1417
b75a9128f73e
Use #codePoint instead of deprecated #asciiValue
Stefan Vogel <sv@exept.de>
parents:
1403
diff
changeset
|
174 |
((code := char codePoint) bitAnd:16rFF00) == 16r8E00 ifTrue:[ |
546
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
175 |
cell := code bitAnd:16rFF. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
176 |
(cell >= 16r21 and:[cell <= 16r5F]) ifTrue:[ |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
177 |
newString isNil ifTrue:[ |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
178 |
newString := JISEncodedString fromString:aString |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
179 |
]. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
180 |
code := halfWidthKanaToFullKana at:(cell - 16r21 + 1). |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
181 |
newString at:idx put:(Character value:code). |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
182 |
]. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
183 |
] |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
184 |
]. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
185 |
newString notNil ifTrue:[ |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
186 |
^ newString |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
187 |
]. |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
188 |
^ aString |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
189 |
|
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
190 |
"Created: 2.7.1997 / 12:41:21 / cg" |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
191 |
"Modified: 2.7.1997 / 12:51:08 / cg" |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
192 |
! ! |
51973c9643ad
care for halfWidth kanakana characters
Claus Gittinger <cg@exept.de>
parents:
545
diff
changeset
|
193 |
|
540 | 194 |
!JISEncodedString class methodsFor:'standards'! |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
195 |
|
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
196 |
jis7KanjiEscapeSequence |
543 | 197 |
"return the escape sequence used to switch to kanji in jis7 encoded strings. |
198 |
This happens to be the same as ISO2022-JP's escape sequence." |
|
241 | 199 |
|
1398
c089faf6bc1d
some encoding stuff moved to CharacterEncoder
Claus Gittinger <cg@exept.de>
parents:
1250
diff
changeset
|
200 |
^ CharacterEncoder::JIS0208_to_JIS7 jis7KanjiEscapeSequence. |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
201 |
|
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
202 |
"Created: 26.2.1996 / 17:38:08 / cg" |
543 | 203 |
"Modified: 30.6.1997 / 16:03:16 / cg" |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
204 |
! |
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
205 |
|
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
206 |
jis7RomanEscapeSequence |
241 | 207 |
"return the escape sequence used to switch to roman in jis7 encoded strings" |
208 |
||
1398
c089faf6bc1d
some encoding stuff moved to CharacterEncoder
Claus Gittinger <cg@exept.de>
parents:
1250
diff
changeset
|
209 |
^ CharacterEncoder::JIS0208_to_JIS7 jis7RomanEscapeSequence. |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
210 |
|
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
211 |
"Created: 26.2.1996 / 17:38:03 / cg" |
241 | 212 |
"Modified: 22.4.1996 / 16:08:42 / cg" |
202 | 213 |
! |
214 |
||
543 | 215 |
jisISO2022EscapeSequence |
216 |
"return the escape sequence used to switch to kanji in iso2022 encoded strings" |
|
217 |
||
1403 | 218 |
^ CharacterEncoder::JIS0208_to_JIS7 jisISO2022EscapeSequence |
543 | 219 |
|
220 |
"Created: 30.6.1997 / 16:02:34 / cg" |
|
221 |
! |
|
222 |
||
202 | 223 |
oldJis7KanjiEscapeSequence |
1403 | 224 |
"return the escape sequence used to switch to kanji in old jis7 encoded strings" |
241 | 225 |
|
1403 | 226 |
^ CharacterEncoder::JIS0208_to_JIS7 jis7KanjiOldEscapeSequence. |
201
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
227 |
! ! |
f93cf3d2cb61
knowledge about coding sequences moved to JISEncodedString
Claus Gittinger <cg@exept.de>
parents:
197
diff
changeset
|
228 |
|
195 | 229 |
!JISEncodedString methodsFor:'queries'! |
230 |
||
231 |
encoding |
|
264 | 232 |
"return the strings encoding as a symbol. |
233 |
Here, the constant symbol #jis is returned." |
|
240 | 234 |
|
195 | 235 |
^ #jis |
240 | 236 |
|
264 | 237 |
"Modified: 27.4.1996 / 13:23:16 / cg" |
195 | 238 |
! ! |
239 |
||
540 | 240 |
!JISEncodedString class methodsFor:'documentation'! |
195 | 241 |
|
242 |
version |
|
1417
b75a9128f73e
Use #codePoint instead of deprecated #asciiValue
Stefan Vogel <sv@exept.de>
parents:
1403
diff
changeset
|
243 |
^ '$Header: /cvs/stx/stx/libbasic2/JISEncodedString.st,v 1.21 2004-03-05 19:06:35 stefan Exp $' |
195 | 244 |
! ! |
1250 | 245 |
|
260
427397326fac
need explicit #initialize (due to startup optimization)
Claus Gittinger <cg@exept.de>
parents:
253
diff
changeset
|
246 |
JISEncodedString initialize! |