View Javadoc

1   package org.objectledge.encodings.encoders;
2   
3   /***
4    * Encoder for KOI8_R character set.
5    *
6    * * @author    <a href="mailto:dgajda@caltha.pl">Damian Gajda</a>
7    * @version   $Id: CharEncoderKOI8_R.java,v 1.1 2004/02/02 18:59:00 zwierzem Exp $
8    */
9   public class CharEncoderKOI8_R
10           extends CharEncoder
11  {
12  
13      /*** Index table for char significant byte. */
14      private static final int[] PREFIX_INDEX = {
15  0x0, 0x500, 0x500, 0x500, 0x100, 0x500, 0x500, 0x500,
16  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
17  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
18  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
19  0x500, 0x500, 0x200, 0x300, 0x500, 0x400, 0x500, 0x500,
20  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
21  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
22  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
23  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
24  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
25  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
26  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
27  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
28  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
29  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
30  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
31  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
32  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
33  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
34  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
35  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
36  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
37  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
38  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
39  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
40  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
41  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
42  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
43  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
44  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
45  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500,
46  0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500, 0x500
47      };
48  
49      /*** Index table for char least significant byte. */
50      private static final char[][] SUFFIX_INDEX = {
51  { 0x0 },{ 0x1 },{ 0x2 },{ 0x3 },{ 0x4 },{ 0x5 },{ 0x6 },{ 0x7 },
52  { 0x8 },{ 0x9 },{ 0xa },{ 0xb },{ 0xc },{ 0xd },{ 0xe },{ 0xf },
53  { 0x10 },{ 0x11 },{ 0x12 },{ 0x13 },{ 0x14 },{ 0x15 },{ 0x16 },{ 0x17 },
54  { 0x18 },{ 0x19 },{ 0x1a },{ 0x1b },{ 0x1c },{ 0x1d },{ 0x1e },{ 0x1f },
55  { 0x20 },{ 0x21 },{ 0x22 },{ 0x23 },{ 0x24 },{ 0x25 },{ 0x26 },{ 0x27 },
56  { 0x28 },{ 0x29 },{ 0x2a },{ 0x2b },{ 0x2c },{ 0x2d },{ 0x2e },{ 0x2f },
57  { 0x30 },{ 0x31 },{ 0x32 },{ 0x33 },{ 0x34 },{ 0x35 },{ 0x36 },{ 0x37 },
58  { 0x38 },{ 0x39 },{ 0x3a },{ 0x3b },{ 0x3c },{ 0x3d },{ 0x3e },{ 0x3f },
59  { 0x40 },{ 0x41 },{ 0x42 },{ 0x43 },{ 0x44 },{ 0x45 },{ 0x46 },{ 0x47 },
60  { 0x48 },{ 0x49 },{ 0x4a },{ 0x4b },{ 0x4c },{ 0x4d },{ 0x4e },{ 0x4f },
61  { 0x50 },{ 0x51 },{ 0x52 },{ 0x53 },{ 0x54 },{ 0x55 },{ 0x56 },{ 0x57 },
62  { 0x58 },{ 0x59 },{ 0x5a },{ 0x5b },{ 0x5c },{ 0x5d },{ 0x5e },{ 0x5f },
63  { 0x60 },{ 0x61 },{ 0x62 },{ 0x63 },{ 0x64 },{ 0x65 },{ 0x66 },{ 0x67 },
64  { 0x68 },{ 0x69 },{ 0x6a },{ 0x6b },{ 0x6c },{ 0x6d },{ 0x6e },{ 0x6f },
65  { 0x70 },{ 0x71 },{ 0x72 },{ 0x73 },{ 0x74 },{ 0x75 },{ 0x76 },{ 0x77 },
66  { 0x78 },{ 0x79 },{ 0x7a },{ 0x7b },{ 0x7c },{ 0x7d },{ 0x7e },{ 0x7f },
67  null,null,null,null,null,null,null,null,
68  null,null,null,null,null,null,null,null,
69  null,null,null,null,null,null,null,null,
70  null,null,null,null,null,null,null,null,
71  { 0x9a },null,null,null,null,null,null,null,
72  null,{ 0xbf },null,null,null,null,null,null,
73  { 0x9c },null,{ 0x9d },null,null,null,null,{ 0x9e },
74  null,null,null,null,null,null,null,null,
75  null,null,null,null,null,null,null,null,
76  null,null,null,null,null,null,null,null,
77  null,null,null,null,null,null,null,null,
78  null,null,null,null,null,null,null,null,
79  null,null,null,null,null,null,null,null,
80  null,null,null,null,null,null,null,null,
81  null,null,null,null,null,null,null,{ 0x9f },
82  null,null,null,null,null,null,null,null,
83  null,{ 0xb3 },null,null,null,null,null,null,
84  null,null,null,null,null,null,null,null,
85  { 0xe1 },{ 0xe2 },{ 0xf7 },{ 0xe7 },{ 0xe4 },{ 0xe5 },{ 0xf6 },{ 0xfa },
86  { 0xe9 },{ 0xea },{ 0xeb },{ 0xec },{ 0xed },{ 0xee },{ 0xef },{ 0xf0 },
87  { 0xf2 },{ 0xf3 },{ 0xf4 },{ 0xf5 },{ 0xe6 },{ 0xe8 },{ 0xe3 },{ 0xfe },
88  { 0xfb },{ 0xfd },{ 0xff },{ 0xf9 },{ 0xf8 },{ 0xfc },{ 0xe0 },{ 0xf1 },
89  { 0xc1 },{ 0xc2 },{ 0xd7 },{ 0xc7 },{ 0xc4 },{ 0xc5 },{ 0xd6 },{ 0xda },
90  { 0xc9 },{ 0xca },{ 0xcb },{ 0xcc },{ 0xcd },{ 0xce },{ 0xcf },{ 0xd0 },
91  { 0xd2 },{ 0xd3 },{ 0xd4 },{ 0xd5 },{ 0xc6 },{ 0xc8 },{ 0xc3 },{ 0xde },
92  { 0xdb },{ 0xdd },{ 0xdf },{ 0xd9 },{ 0xd8 },{ 0xdc },{ 0xc0 },{ 0xd1 },
93  null,{ 0xa3 },null,null,null,null,null,null,
94  null,null,null,null,null,null,null,null,
95  null,null,null,null,null,null,null,null,
96  null,null,null,null,null,null,null,null,
97  null,null,null,null,null,null,null,null,
98  null,null,null,null,null,null,null,null,
99  null,null,null,null,null,null,null,null,
100 null,null,null,null,null,null,null,null,
101 null,null,null,null,null,null,null,null,
102 null,null,null,null,null,null,null,null,
103 null,null,null,null,null,null,null,null,
104 null,null,null,null,null,null,null,null,
105 null,null,null,null,null,null,null,null,
106 null,null,null,null,null,null,null,null,
107 null,null,null,null,null,null,null,null,
108 null,null,null,null,null,null,null,null,
109 null,null,null,null,null,null,null,null,
110 null,null,null,null,null,null,null,null,
111 null,null,null,null,null,null,null,null,
112 null,null,null,null,null,null,null,null,
113 null,null,null,null,null,null,null,null,
114 null,null,null,null,null,null,null,null,
115 null,null,null,null,null,null,null,null,
116 null,null,null,null,null,null,null,null,
117 null,null,null,null,null,null,null,null,
118 null,{ 0x95 },{ 0x96 },null,null,null,null,null,
119 null,null,null,null,null,null,null,null,
120 null,null,null,null,null,null,null,null,
121 null,null,null,null,null,null,null,null,
122 null,null,null,null,null,null,null,null,
123 null,null,null,null,null,null,null,null,
124 { 0x97 },null,null,null,null,null,null,null,
125 null,null,null,null,null,null,null,null,
126 null,null,null,null,null,null,null,null,
127 null,null,null,null,{ 0x98 },{ 0x99 },null,null,
128 null,null,null,null,null,null,null,null,
129 null,null,null,null,null,null,null,null,
130 null,null,null,null,null,null,null,null,
131 null,null,null,null,null,null,null,null,
132 null,null,null,null,null,null,null,null,
133 null,null,null,null,null,null,null,null,
134 null,null,null,null,null,null,null,null,
135 null,null,null,null,null,null,null,null,
136 null,null,null,null,null,null,null,null,
137 null,null,null,null,null,null,null,null,
138 null,null,null,null,null,null,null,null,
139 null,null,null,null,null,null,null,null,
140 null,null,null,null,null,null,null,null,
141 null,null,null,null,null,null,null,null,
142 null,null,null,null,null,null,null,null,
143 null,null,null,null,null,null,null,null,
144 null,null,null,null,null,null,null,null,
145 null,null,null,null,null,null,null,null,
146 null,null,null,null,null,null,null,null,
147 null,null,null,null,null,null,null,null,
148 null,null,null,null,null,null,null,null,
149 null,null,null,null,null,null,null,null,
150 null,null,null,null,null,null,null,null,
151 { 0x93 },{ 0x9b },null,null,null,null,null,null,
152 null,null,null,null,null,null,null,null,
153 null,null,null,null,null,null,null,null,
154 null,null,null,null,null,null,null,null,
155 null,null,null,null,null,null,null,null,
156 null,null,null,null,null,null,null,null,
157 null,null,null,null,null,null,null,null,
158 null,null,null,null,null,null,null,null,
159 null,null,null,null,null,null,null,null,
160 null,null,null,null,null,null,null,null,
161 null,null,null,null,null,null,null,null,
162 null,null,null,null,null,null,null,null,
163 null,null,null,null,null,null,null,null,
164 null,null,null,null,null,null,null,null,
165 null,null,null,null,null,null,null,null,
166 null,null,null,null,null,null,null,null,
167 null,null,null,null,null,null,null,null,
168 null,null,null,null,null,null,null,null,
169 null,null,null,null,null,null,null,null,
170 null,null,null,null,null,null,null,null,
171 null,null,null,null,null,null,null,null,
172 null,null,null,null,null,null,null,null,
173 null,null,null,null,null,null,null,null,
174 null,null,null,null,null,null,null,null,
175 null,null,null,null,null,null,null,null,
176 null,null,null,null,null,null,null,null,
177 null,null,null,null,null,null,null,null,
178 null,null,null,null,null,null,null,null,
179 { 0x80 },null,{ 0x81 },null,null,null,null,null,
180 null,null,null,null,{ 0x82 },null,null,null,
181 { 0x83 },null,null,null,{ 0x84 },null,null,null,
182 { 0x85 },null,null,null,{ 0x86 },null,null,null,
183 null,null,null,null,{ 0x87 },null,null,null,
184 null,null,null,null,{ 0x88 },null,null,null,
185 null,null,null,null,{ 0x89 },null,null,null,
186 null,null,null,null,{ 0x8a },null,null,null,
187 null,null,null,null,null,null,null,null,
188 null,null,null,null,null,null,null,null,
189 { 0xa0 },{ 0xa1 },{ 0xa2 },{ 0xa4 },{ 0xa5 },{ 0xa6 },{ 0xa7 },{ 0xa8 },
190 { 0xa9 },{ 0xaa },{ 0xab },{ 0xac },{ 0xad },{ 0xae },{ 0xaf },{ 0xb0 },
191 { 0xb1 },{ 0xb2 },{ 0xb4 },{ 0xb5 },{ 0xb6 },{ 0xb7 },{ 0xb8 },{ 0xb9 },
192 { 0xba },{ 0xbb },{ 0xbc },{ 0xbd },{ 0xbe },null,null,null,
193 null,null,null,null,null,null,null,null,
194 null,null,null,null,null,null,null,null,
195 { 0x8b },null,null,null,{ 0x8c },null,null,null,
196 { 0x8d },null,null,null,{ 0x8e },null,null,null,
197 { 0x8f },{ 0x90 },{ 0x91 },{ 0x92 },null,null,null,null,
198 null,null,null,null,null,null,null,null,
199 { 0x94 },null,null,null,null,null,null,null,
200 null,null,null,null,null,null,null,null,
201 null,null,null,null,null,null,null,null,
202 null,null,null,null,null,null,null,null,
203 null,null,null,null,null,null,null,null,
204 null,null,null,null,null,null,null,null,
205 null,null,null,null,null,null,null,null,
206 null,null,null,null,null,null,null,null,
207 null,null,null,null,null,null,null,null,
208 null,null,null,null,null,null,null,null,
209 null,null,null,null,null,null,null,null,
210 null,null,null,null,null,null,null,null,
211 null,null,null,null,null,null,null,null,
212 null,null,null,null,null,null,null,null,
213 null,null,null,null,null,null,null,null,
214 null,null,null,null,null,null,null,null,
215 null,null,null,null,null,null,null,null,
216 null,null,null,null,null,null,null,null,
217 null,null,null,null,null,null,null,null,
218 null,null,null,null,null,null,null,null,
219 null,null,null,null,null,null,null,null,
220 null,null,null,null,null,null,null,null,
221 null,null,null,null,null,null,null,null,
222 null,null,null,null,null,null,null,null,
223 null,null,null,null,null,null,null,null,
224 null,null,null,null,null,null,null,null,
225 null,null,null,null,null,null,null,null,
226 null,null,null,null,null,null,null,null,
227 null,null,null,null,null,null,null,null,
228 null,null,null,null,null,null,null,null,
229 null,null,null,null,null,null,null,null,
230 null,null,null,null,null,null,null,null,
231 null,null,null,null,null,null,null,null,
232 null,null,null,null,null,null,null,null,
233 null,null,null,null,null,null,null,null,
234 null,null,null,null,null,null,null,null,
235 null,null,null,null,null,null,null,null,
236 null,null,null,null,null,null,null,null,
237 null,null,null,null,null,null,null,null,
238 null,null,null,null,null,null,null,null,
239 null,null,null,null,null,null,null,null,
240 null,null,null,null,null,null,null,null,
241 null,null,null,null,null,null,null,null,
242 null,null,null,null,null,null,null,null
243     };
244 
245     /*** Constructor. */
246     public CharEncoderKOI8_R()
247     {
248         this.encodingName = "KOI8_R";
249         ((CharEncoder)this).prefixIndex = PREFIX_INDEX;
250         ((CharEncoder)this).suffixIndex = SUFFIX_INDEX;
251     }
252 }