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