001: /*
002: * @(#)ByteToCharMS932.java 1.11 06/10/10
003: *
004: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: *
026: */
027:
028: package sun.io;
029:
030: /**
031: * Tables and data to convert MS932 to Unicode
032: *
033: * @author ConverterGenerator tool
034: * @version >= JDK1.1.6
035: */
036:
037: public class ByteToCharMS932 extends ByteToCharSJIS {
038: int _start, _end;
039:
040: public String getCharacterEncoding() {
041: return "MS932";
042: }
043:
044: public ByteToCharMS932() {
045: super ();
046: _start = 0x40;
047: _end = 0xFC;
048: }
049:
050: protected char getUnicode(int byte1, int byte2) {
051: int n = (_index1[byte1] & 0xf) * (_end - _start + 1)
052: + (byte2 - _start);
053: char unicode = _index2[_index1[byte1] >> 4].charAt(n);
054: if (unicode == '\u0000')
055: return (super .getUnicode(byte1, byte2));
056: else
057: return unicode;
058: }
059:
060: private final static String _innerIndex0 = "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
061: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
062: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
063: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
064: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
065: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
066: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
067: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
068: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
069: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
070: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
071: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
072: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
073: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
074: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
075: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
076: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
077: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
078: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
079: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
080: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
081: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
082: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
083: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
084: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
085: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
086: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
087: + "\u0000\u0000\u0000\u0000\uFF3C\uFF5E\u2225\u0000"
088: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
089: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
090: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
091: + "\u0000\uFF0D\u0000\u0000\u0000\u0000\u0000\u0000"
092: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
093: + "\u0000\u0000\u0000\u0000\u0000\u0000\uFFE0\uFFE1"
094: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
095: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
096: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
097: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
098: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
099: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
100: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\uFFE2"
101: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
102: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
103: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
104: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
105: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
106: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
107: + "\u0000\u0000\u2460\u2461\u2462\u2463\u2464\u2465"
108: + "\u2466\u2467\u2468\u2469\u246A\u246B\u246C\u246D"
109: + "\u246E\u246F\u2470\u2471\u2472\u2473\u2160\u2161"
110: + "\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169"
111: + "\u0000\u3349\u3314\u3322\u334D\u3318\u3327\u3303"
112: + "\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A"
113: + "\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"
114: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
115: + "\u337B\u0000\u301D\u301F\u2116\u33CD\u2121\u32A4"
116: + "\u32A5\u32A6\u32A7\u32A8\u3231\u3232\u3239\u337E"
117: + "\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A"
118: + "\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A\u0000"
119: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
120: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
121: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
122: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
123: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
124: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
125: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
126: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
127: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
128: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
129: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
130: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u7E8A"
131: + "\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8"
132: + "\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03"
133: + "\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040"
134: + "\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4"
135: + "\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C"
136: + "\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393"
137: + "\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586"
138: + "\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\u0000\uFA10"
139: + "\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4"
140: + "\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6"
141: + "\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8"
142: + "\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D"
143: + "\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137"
144: + "\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE"
145: + "\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624"
146: + "\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2"
147: + "\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0"
148: + "\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2"
149: + "\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6"
150: + "\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"
151: + "\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C"
152: + "\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007"
153: + "\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147"
154: + "\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377"
155: + "\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426"
156: + "\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F"
157: + "\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF"
158: + "\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A"
159: + "\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E"
160: + "\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47"
161: + "\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448"
162: + "\u84B4\u8553\u8559\u0000\u856B\uFA1F\u85B0\uFA20"
163: + "\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE"
164: + "\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12"
165: + "\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26"
166: + "\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4"
167: + "\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E"
168: + "\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7"
169: + "\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325"
170: + "\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370"
171: + "\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448"
172: + "\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743"
173: + "\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B"
174: + "\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72"
175: + "\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19"
176: + "\u9ED1\u0000\u0000\u2170\u2171\u2172\u2173\u2174"
177: + "\u2175\u2176\u2177\u2178\u2179\uFFE2\uFFE4\uFF07"
178: + "\uFF02\u2170\u2171\u2172\u2173\u2174\u2175\u2176"
179: + "\u2177\u2178\u2179\u2160\u2161\u2162\u2163\u2164"
180: + "\u2165\u2166\u2167\u2168\u2169\uFFE2\uFFE4\uFF07"
181: + "\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348"
182: + "\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB"
183: + "\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56"
184: + "\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF"
185: + "\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"
186: + "\u0000\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6"
187: + "\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2"
188: + "\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759"
189: + "\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2"
190: + "\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56"
191: + "\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5"
192: + "\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0"
193: + "\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A"
194: + "\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198"
195: + "\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600"
196: + "\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657"
197: + "\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA"
198: + "\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844"
199: + "\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B"
200: + "\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C"
201: + "\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC"
202: + "\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C"
203: + "\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085"
204: + "\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1"
205: + "\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9"
206: + "\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429"
207: + "\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C"
208: + "\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E"
209: + "\u7864\u787A\u7930\uFA18\uFA19\u0000\uFA1A\u7994"
210: + "\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D"
211: + "\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1"
212: + "\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4"
213: + "\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807"
214: + "\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22"
215: + "\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23"
216: + "\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127"
217: + "\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206"
218: + "\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251"
219: + "\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9"
220: + "\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB"
221: + "\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4"
222: + "\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC"
223: + "\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F"
224: + "\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C"
225: + "\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1"
226: + "\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1\u0000"
227: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
228: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
229: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
230: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
231: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
232: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
233: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
234: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
235: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
236: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
237: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
238: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
239: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
240: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
241: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
242: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
243: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
244: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
245: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
246: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
247: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
248: + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
249: private final static short _index1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0,
250: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
251: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
252: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
253: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
254: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
255: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
256: 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
257: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
258: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
259: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
260: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
261: 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
262: 0, 5, 6, 7, 0, 0, 0 };
263: String _index2[] = { _innerIndex0 };
264: }
|