View Javadoc

1   package org.objectledge.encodings.encoders;
2   
3   /***
4    * Encoder for ISO8859_6 character set.
5    *
6    * * @author    <a href="mailto:dgajda@caltha.pl">Damian Gajda</a>
7    * @version   $Id: CharEncoderISO8859_6.java,v 1.1 2004/02/02 18:59:00 zwierzem Exp $
8    */
9   public class CharEncoderISO8859_6
10           extends CharEncoder
11  {
12  
13      /*** Index table for char significant byte. */
14      private static final int[] PREFIX_INDEX = {
15  0x0, 0x200, 0x200, 0x200, 0x200, 0x200, 0x100, 0x200,
16  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
17  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
18  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
19  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
20  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
21  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
22  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
23  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
24  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
25  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
26  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
27  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
28  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
29  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
30  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
31  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
32  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
33  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
34  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
35  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
36  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
37  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
38  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
39  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
40  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
41  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
42  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
43  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
44  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
45  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200,
46  0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200, 0x200
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  { 0x80 },{ 0x81 },{ 0x82 },{ 0x83 },{ 0x84 },{ 0x85 },{ 0x86 },{ 0x87 },
68  { 0x88 },{ 0x89 },{ 0x8a },{ 0x8b },{ 0x8c },{ 0x8d },{ 0x8e },{ 0x8f },
69  { 0x90 },{ 0x91 },{ 0x92 },{ 0x93 },{ 0x94 },{ 0x95 },{ 0x96 },{ 0x97 },
70  { 0x98 },{ 0x99 },{ 0x9a },{ 0x9b },{ 0x9c },{ 0x9d },{ 0x9e },{ 0x9f },
71  { 0xa0 },null,null,null,{ 0xa4 },null,null,null,
72  null,null,null,null,null,{ 0xad },null,null,
73  null,null,null,null,null,null,null,null,
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,null,
82  null,null,null,null,null,null,null,null,
83  null,null,null,null,null,null,null,null,
84  null,null,null,null,{ 0xac },null,null,null,
85  null,null,null,null,null,null,null,null,
86  null,null,null,{ 0xbb },null,null,null,{ 0xbf },
87  null,{ 0xc1 },{ 0xc2 },{ 0xc3 },{ 0xc4 },{ 0xc5 },{ 0xc6 },{ 0xc7 },
88  { 0xc8 },{ 0xc9 },{ 0xca },{ 0xcb },{ 0xcc },{ 0xcd },{ 0xce },{ 0xcf },
89  { 0xd0 },{ 0xd1 },{ 0xd2 },{ 0xd3 },{ 0xd4 },{ 0xd5 },{ 0xd6 },{ 0xd7 },
90  { 0xd8 },{ 0xd9 },{ 0xda },null,null,null,null,null,
91  { 0xe0 },{ 0xe1 },{ 0xe2 },{ 0xe3 },{ 0xe4 },{ 0xe5 },{ 0xe6 },{ 0xe7 },
92  { 0xe8 },{ 0xe9 },{ 0xea },{ 0xeb },{ 0xec },{ 0xed },{ 0xee },{ 0xef },
93  { 0xf0 },{ 0xf1 },{ 0xf2 },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,null,null,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 null,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,null,null,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     };
148 
149     /*** Constructor. */
150     public CharEncoderISO8859_6()
151     {
152         this.encodingName = "ISO8859_6";
153         ((CharEncoder)this).prefixIndex = PREFIX_INDEX;
154         ((CharEncoder)this).suffixIndex = SUFFIX_INDEX;
155     }
156 }