Statistics
| Revision:

root / trunk / libraries / libCq_CMS_praster / src / org / cresques / px / dxf / Unicode.java @ 8026

History | View | Annotate | Download (32.9 KB)

1
/*
2
 * Cresques Mapping Suite. Graphic Library for constructing mapping applications.
3
 * 
4
 * Copyright (C) 2004-5. 
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
19
 *
20
 * For more information, contact:
21
 * 
22
 * cresques@gmail.com
23
 */
24
package org.cresques.px.dxf;
25

    
26
/**
27
 * La clase Unicode permite convertir textos Unicode en textos codificados seg?n la
28
 * especificaci?n DOS437.
29
 * @author jmorell
30
 */
31
class Unicode {
32
    static final char UCNONE = 65535;
33
    static final char unicode[][] = {
34
        {
35
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
36
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
37
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
38
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
39
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
40
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
41
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
42
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
43
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
44
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
45
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
46
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
47
            'x', 'y', 'z', '{', '|', '}', '~', '\177', '\200', '\201', 
48
            '\202', '\203', '\204', '\205', '\206', '\207', '\210', '\211', '\212', '\213', 
49
            '\214', '\215', '\216', '\217', '\220', '\221', '\222', '\223', '\224', '\225', 
50
            '\226', '\227', '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237', 
51
            '\240', '\241', '\242', '\243', '\244', '\245', '\246', '\247', '\250', '\251', 
52
            '\252', '\253', '\254', '\255', '\256', '\257', '\260', '\261', '\262', '\263', 
53
            '\264', '\265', '\266', '\267', '\270', '\271', '\272', '\273', '\274', '\275', 
54
            '\276', '\277', '\300', '\301', '\302', '\303', '\304', '\305', '\306', '\307', 
55
            '\310', '\311', '\312', '\313', '\314', '\315', '\316', '\317', '\320', '\321', 
56
            '\322', '\323', '\324', '\325', '\326', '\327', '\330', '\331', '\332', '\333', 
57
            '\334', '\335', '\336', '\337', '\340', '\341', '\342', '\343', '\344', '\345', 
58
            '\346', '\347', '\350', '\351', '\352', '\353', '\354', '\355', '\356', '\357', 
59
            '\360', '\361', '\362', '\363', '\364', '\365', '\366', '\367', '\370', '\371', 
60
            '\372', '\373', '\374', '\375', '\376', '\377'
61
        }, {
62
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
63
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
64
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
65
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
66
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
67
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
68
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
69
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
70
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
71
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
72
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
73
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
74
            'x', 'y', 'z', '{', '|', '}', '~', '\177', '\200', '\201', 
75
            '\202', '\203', '\204', '\205', '\206', '\207', '\210', '\211', '\212', '\213', 
76
            '\214', '\215', '\216', '\217', '\220', '\221', '\222', '\223', '\224', '\225', 
77
            '\226', '\227', '\230', '\231', '\232', '\233', '\234', '\235', '\236', '\237', 
78
            '\240', '\u0104', '\u02D8', '\u0141', '\244', '\u013D', '\u015A', '\247', '\250', '\u0160', 
79
            '\u015E', '\u0164', '\u0179', '\255', '\u017D', '\u017B', '\260', '\u0105', '\u02DB', '\u0142', 
80
            '\264', '\u013E', '\u015B', '\u02C7', '\270', '\u0161', '\u015F', '\u0165', '\u017A', '\u02DD', 
81
            '\u017E', '\u017C', '\u0154', '\301', '\302', '\u0102', '\304', '\u0139', '\u0106', '\307', 
82
            '\u010C', '\311', '\u0118', '\313', '\u011A', '\315', '\316', '\u010E', '\u0110', '\u0143', 
83
            '\u0147', '\323', '\324', '\u0150', '\326', '\327', '\u0158', '\u016E', '\332', '\u0170', 
84
            '\334', '\335', '\u0162', '\337', '\u0155', '\341', '\342', '\u0103', '\344', '\u013A', 
85
            '\u0107', '\347', '\u010D', '\351', '\u0119', '\353', '\u011B', '\355', '\356', '\u010F', 
86
            '\u0111', '\u0144', '\u0148', '\363', '\364', '\u0151', '\366', '\367', '\u0159', '\u016F', 
87
            '\372', '\u0171', '\374', '\375', '\u0163', '\u02D9'
88
        }, {
89
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
90
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
91
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
92
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
93
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
94
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
95
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
96
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
97
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
98
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
99
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
100
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
101
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
102
            '\351', '\342', '\344', '\340', '\345', '\347', '\352', '\353', '\350', '\357', 
103
            '\356', '\354', '\304', '\305', '\311', '\346', '\306', '\364', '\366', '\362', 
104
            '\373', '\371', '\377', '\326', '\334', '\242', '\243', '\245', '\u20A7', '\u0192', 
105
            '\341', '\355', '\363', '\372', '\361', '\321', '\252', '\272', '\277', '\u2310', 
106
            '\254', '\275', '\274', '\241', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
107
            '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', '\u2551', '\u2557', '\u255D', '\u255C', 
108
            '\u255B', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u255E', '\u255F', 
109
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', 
110
            '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', '\u256A', '\u2518', '\u250C', '\u2588', 
111
            '\u2584', '\u258C', '\u2590', '\u2580', '\u03B1', '\337', '\u0393', '\u03C0', '\u03A3', '\u03C3', 
112
            '\265', '\u03C4', '\u03A6', '\u0398', '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
113
            '\u2261', '\261', '\u2265', '\u2264', '\u2320', '\u2321', '\367', '\u2248', '\260', '\u2219', 
114
            '\267', '\u221A', '\u207F', '\262', '\u25A0', '\240'
115
        }, {
116
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
117
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
118
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
119
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
120
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
121
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
122
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
123
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
124
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
125
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
126
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
127
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
128
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
129
            '\351', '\342', '\344', '\340', '\345', '\347', '\352', '\353', '\350', '\357', 
130
            '\356', '\354', '\304', '\305', '\311', '\346', '\306', '\364', '\366', '\362', 
131
            '\373', '\371', '\377', '\326', '\334', '\370', '\243', '\330', '\327', '\u0192', 
132
            '\341', '\355', '\363', '\372', '\361', '\321', '\252', '\272', '\277', '\256', 
133
            '\254', '\275', '\274', '\241', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
134
            '\u2524', '\301', '\302', '\300', '\251', '\u2563', '\u2551', '\u2557', '\u255D', '\242', 
135
            '\245', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\343', '\303', 
136
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\244', '\360', '\320', 
137
            '\312', '\313', '\310', '\u0131', '\315', '\316', '\317', '\u2518', '\u250C', '\u2588', 
138
            '\u2584', '\246', '\314', '\u2580', '\323', '\337', '\324', '\322', '\365', '\325', 
139
            '\265', '\376', '\336', '\332', '\333', '\331', '\375', '\335', '\257', '\264', 
140
            '\255', '\261', '\u2017', '\276', '\266', '\247', '\367', '\270', '\260', '\250', 
141
            '\267', '\271', '\263', '\262', '\u25A0', '\240'
142
        }, {
143
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
144
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
145
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
146
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
147
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
148
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
149
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
150
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
151
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
152
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
153
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
154
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
155
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
156
            '\351', '\342', '\344', '\u016F', '\u0107', '\347', '\u0142', '\353', '\u0150', '\u0151', 
157
            '\356', '\u0179', '\304', '\u0106', '\311', '\u0139', '\u013A', '\364', '\366', '\u013D', 
158
            '\u013E', '\u015A', '\u015B', '\326', '\334', '\u0164', '\u0165', '\u0141', '\327', '\u010D', 
159
            '\341', '\355', '\363', '\372', '\u0104', '\u0105', '\u017D', '\u017E', '\u0118', '\u0119', 
160
            '\254', '\u017A', '\u010C', '\u015F', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
161
            '\u2524', '\301', '\302', '\u011A', '\u015E', '\u2563', '\u2551', '\u2557', '\u255D', '\u017B', 
162
            '\u017C', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u0102', '\u0103', 
163
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\244', '\u0111', '\u0110', 
164
            '\u010E', '\313', '\u010F', '\u0147', '\315', '\316', '\u011B', '\u2518', '\u250C', '\u2588', 
165
            '\u2584', '\u0162', '\u016E', '\u2580', '\323', '\337', '\324', '\u0143', '\u0144', '\u0148', 
166
            '\u0160', '\u0161', '\u0154', '\332', '\u0155', '\u0170', '\375', '\335', '\u0163', '\264', 
167
            '\255', '\u02DD', '\u02DB', '\u02C7', '\u02D8', '\247', '\367', '\270', '\260', '\250', 
168
            '\u02D9', '\u0171', '\u0158', '\u0159', '\u25A0', '\240'
169
        }, {
170
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
171
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
172
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
173
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
174
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
175
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
176
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
177
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
178
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
179
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
180
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
181
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
182
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\u0452', '\u0402', 
183
            '\u0453', '\u0403', '\u0451', '\u0401', '\u0454', '\u0404', '\u0455', '\u0405', '\u0456', '\u0406', 
184
            '\u0457', '\u0407', '\u0456', '\u0408', '\u0459', '\u0409', '\u045A', '\u040A', '\u045B', '\u040B', 
185
            '\u045C', '\u040C', '\u045E', '\u040E', '\u045F', '\u040F', '\u044E', '\u042E', '\u044A', '\u042A', 
186
            '\u0430', '\u0410', '\u0431', '\u0411', '\u0446', '\u0426', '\u0434', '\u0414', '\u0435', '\u0415', 
187
            '\u0444', '\u0424', '\u0433', '\u0413', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
188
            '\u2524', '\u0445', '\u0425', '\u0438', '\u0418', '\u2563', '\u2551', '\u2557', '\u255D', '\u0439', 
189
            '\u0419', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u043A', '\u041A', 
190
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\244', '\u043B', '\u041B', 
191
            '\u043C', '\u041C', '\u043D', '\u041D', '\u043E', '\u041E', '\u043F', '\u2518', '\u250C', '\u2588', 
192
            '\u2584', '\u041F', '\u044F', '\u2580', '\u042F', '\u0440', '\u0420', '\u0441', '\u0421', '\u0442', 
193
            '\u0422', '\u0443', '\u0423', '\u0436', '\u0416', '\u0432', '\u0412', '\u044C', '\u042C', '\u2116', 
194
            '\255', '\u044B', '\u042B', '\u0437', '\u0417', '\u0448', '\u0428', '\u044D', '\u042D', '\u0449', 
195
            '\u0429', '\u0447', '\u0427', '\uFFFF', '\u25A0', '\240'
196
        }, {
197
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
198
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
199
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
200
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
201
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
202
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
203
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
204
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
205
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
206
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
207
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
208
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
209
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
210
            '\351', '\342', '\344', '\340', '\345', '\347', '\352', '\353', '\350', '\357', 
211
            '\356', '\u0131', '\304', '\305', '\311', '\346', '\306', '\364', '\366', '\362', 
212
            '\373', '\371', '\u0130', '\326', '\334', '\370', '\243', '\330', '\u015E', '\u015F', 
213
            '\341', '\355', '\363', '\372', '\361', '\321', '\u011E', '\u011F', '\277', '\256', 
214
            '\254', '\275', '\274', '\241', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
215
            '\u2524', '\301', '\302', '\300', '\251', '\u2563', '\u2551', '\u2557', '\u255D', '\242', 
216
            '\245', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\343', '\303', 
217
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\244', '\272', '\252', 
218
            '\312', '\313', '\310', '\uFFFF', '\315', '\316', '\317', '\u2518', '\u250C', '\u2588', 
219
            '\u2584', '\246', '\314', '\u2580', '\323', '\337', '\324', '\322', '\365', '\325', 
220
            '\265', '\uFFFF', '\327', '\332', '\333', '\331', '\354', '\377', '\257', '\264', 
221
            '\255', '\261', '\uFFFF', '\276', '\266', '\247', '\367', '\270', '\260', '\250', 
222
            '\267', '\271', '\263', '\262', '\u25A0', '\240'
223
        }, {
224
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
225
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
226
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
227
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
228
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
229
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
230
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
231
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
232
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
233
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
234
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
235
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
236
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
237
            '\351', '\342', '\343', '\340', '\301', '\347', '\352', '\312', '\350', '\315', 
238
            '\324', '\354', '\303', '\302', '\311', '\300', '\310', '\364', '\365', '\362', 
239
            '\332', '\371', '\314', '\325', '\334', '\242', '\243', '\331', '\u20A7', '\323', 
240
            '\341', '\355', '\363', '\372', '\361', '\321', '\252', '\272', '\277', '\322', 
241
            '\254', '\275', '\274', '\241', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
242
            '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', '\u2551', '\u2557', '\u255D', '\u255C', 
243
            '\u255B', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u255E', '\u255F', 
244
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', 
245
            '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', '\u256A', '\u2518', '\u250C', '\u2588', 
246
            '\u2584', '\u258C', '\u2590', '\u2580', '\u03B1', '\337', '\u0393', '\u03C0', '\u03A3', '\u03C3', 
247
            '\265', '\u03C4', '\u03A6', '\u0398', '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
248
            '\u2261', '\261', '\u2265', '\u2264', '\u2320', '\u2321', '\367', '\u2248', '\260', '\u2219', 
249
            '\267', '\u221A', '\u207F', '\262', '\u25A0', '\240'
250
        }, {
251
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
252
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
253
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
254
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
255
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
256
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
257
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
258
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
259
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
260
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
261
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
262
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
263
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
264
            '\351', '\342', '\343', '\340', '\345', '\347', '\352', '\353', '\350', '\320', 
265
            '\360', '\336', '\304', '\305', '\311', '\346', '\306', '\364', '\366', '\376', 
266
            '\373', '\335', '\375', '\326', '\334', '\370', '\243', '\330', '\u20A7', '\u0192', 
267
            '\341', '\355', '\363', '\372', '\301', '\315', '\323', '\332', '\277', '\u2310', 
268
            '\254', '\275', '\274', '\241', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
269
            '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', '\u2551', '\u2557', '\u255D', '\u255C', 
270
            '\u255B', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u255E', '\u255F', 
271
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', 
272
            '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', '\u256A', '\u2518', '\u250C', '\u2588', 
273
            '\u2584', '\u258C', '\u2590', '\u2580', '\u03B1', '\337', '\u0393', '\u03C0', '\u03A3', '\u03C3', 
274
            '\265', '\u03C4', '\u03A6', '\u0398', '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
275
            '\u2261', '\261', '\u2265', '\u2264', '\u2320', '\u2321', '\367', '\u2248', '\260', '\u2219', 
276
            '\267', '\u221A', '\u207F', '\262', '\u25A0', '\240'
277
        }, {
278
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
279
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
280
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
281
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
282
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
283
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
284
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
285
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
286
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
287
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
288
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
289
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
290
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
291
            '\351', '\342', '\343', '\340', '\266', '\347', '\352', '\353', '\350', '\357', 
292
            '\356', '\u2017', '\300', '\247', '\311', '\310', '\312', '\364', '\313', '\317', 
293
            '\373', '\371', '\244', '\324', '\334', '\242', '\243', '\331', '\333', '\u0192', 
294
            '\246', '\264', '\363', '\372', '\250', '\270', '\263', '\257', '\316', '\u2310', 
295
            '\254', '\275', '\274', '\276', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
296
            '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', '\u2551', '\u2557', '\u255D', '\u255C', 
297
            '\u255B', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u255E', '\u255F', 
298
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', 
299
            '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', '\u256A', '\u2518', '\u250C', '\u2588', 
300
            '\u2584', '\u258C', '\u2590', '\u2580', '\u03B1', '\337', '\u0393', '\u03C0', '\u03A3', '\u03C3', 
301
            '\265', '\u03C4', '\u03A6', '\u0398', '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
302
            '\u2261', '\261', '\u2265', '\u2264', '\u2320', '\u2321', '\367', '\u2248', '\260', '\u2219', 
303
            '\267', '\u221A', '\u207F', '\262', '\u25A0', '\240'
304
        }, {
305
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
306
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
307
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
308
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
309
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
310
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
311
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
312
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
313
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
314
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
315
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
316
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
317
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\260', '\267', 
318
            '\u2219', '\u221A', '\u2592', '\u2500', '\u2502', '\u253C', '\u2524', '\u252C', '\u251C', '\u2534', 
319
            '\u2510', '\u250C', '\u2514', '\u2518', '\u03B2', '\u221E', '\u03C6', '\261', '\275', '\274', 
320
            '\u2248', '\253', '\273', '\uFEF7', '\uFEF8', '\uFFFF', '\uFFFF', '\uFEFB', '\uFEFC', '\uFFFF', 
321
            '\240', '\255', '\uFE82', '\243', '\244', '\uFE84', '\uFFFF', '\uFFFF', '\uFE8E', '\uFE8F', 
322
            '\uFE95', '\uFE99', '\u060C', '\uFE9D', '\uFEA1', '\uFEA5', '\u0660', '\u0661', '\u0662', '\u0663', 
323
            '\u0664', '\u0665', '\u0666', '\u0667', '\u0668', '\u0669', '\uFED1', '\u061B', '\uFEB1', '\uFEB5', 
324
            '\uFEB9', '\u061F', '\242', '\uFE80', '\uFE81', '\uFE83', '\uFE85', '\uFECC', '\uFE8A', '\uFE8D', 
325
            '\uFE90', '\uFE93', '\uFE96', '\uFE9A', '\uFE9E', '\uFEA2', '\uFEA6', '\uFEA9', '\uFEAB', '\uFEAD', 
326
            '\uFEAF', '\uFEB2', '\uFEB6', '\uFEBA', '\uFEBE', '\uFEC1', '\uFEC5', '\uFECA', '\uFECE', '\246', 
327
            '\254', '\367', '\327', '\uFEC9', '\u0640', '\uFED2', '\uFED6', '\uFEDA', '\uFEDE', '\uFEE2', 
328
            '\uFEE6', '\uFEEA', '\uFEED', '\uFEEF', '\uFEF2', '\uFEBD', '\uFECB', '\uFED0', '\uFECD', '\uFEE1', 
329
            '\uFE7D', '\u0651', '\uFEE5', '\uFEE9', '\uFEEB', '\uFEF0', '\uFEF4', '\uFECF', '\uFED5', '\uFEF5', 
330
            '\uFEF6', '\uFEDD', '\uFED9', '\uFEF1', '\u25A0', '\uFFFF'
331
        }, {
332
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
333
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
334
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
335
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
336
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
337
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
338
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
339
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
340
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
341
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
342
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
343
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
344
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\307', '\374', 
345
            '\351', '\342', '\344', '\340', '\265', '\347', '\352', '\353', '\350', '\357', 
346
            '\356', '\354', '\304', '\305', '\311', '\346', '\306', '\364', '\366', '\362', 
347
            '\373', '\371', '\377', '\326', '\334', '\370', '\243', '\330', '\u20A7', '\u0192', 
348
            '\341', '\355', '\363', '\372', '\361', '\321', '\252', '\272', '\277', '\u2310', 
349
            '\254', '\275', '\274', '\241', '\253', '\244', '\u2591', '\u2592', '\u2593', '\u2502', 
350
            '\u2524', '\u2561', '\u2562', '\u2556', '\u2555', '\u2563', '\u2551', '\u2557', '\u255D', '\u255C', 
351
            '\u255B', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u255E', '\u255F', 
352
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u2567', '\u2568', '\u2564', 
353
            '\u2565', '\u2559', '\u2558', '\u2552', '\u2553', '\u256B', '\u256A', '\u2518', '\u250C', '\u2588', 
354
            '\u2584', '\u258C', '\u2590', '\u2580', '\u03B1', '\337', '\u0393', '\u03C0', '\u03A3', '\u03C3', 
355
            '\265', '\u03C4', '\u03A6', '\u0398', '\u03A9', '\u03B4', '\u221E', '\u03C6', '\u03B5', '\u2229', 
356
            '\u2261', '\261', '\u2265', '\u2264', '\u2320', '\u2321', '\367', '\u2248', '\260', '\u2219', 
357
            '\267', '\u221A', '\u207F', '\262', '\u25A0', '\240'
358
        }, {
359
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
360
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
361
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
362
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
363
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
364
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
365
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
366
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
367
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
368
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
369
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
370
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
371
            'x', 'y', 'z', '{', '|', '}', '~', '\u2302', '\uFFFF', '\uFFFF', 
372
            '\uFFFF', '\uFFFF', '\uFFFF', '\uFFFF', '\u0386', '\uFFFF', '\267', '\254', '\246', '\u2018', 
373
            '\u2019', '\u0388', '\u2015', '\u0389', '\u038A', '\u03AA', '\u038C', '\uFFFF', '\uFFFF', '\u038E', 
374
            '\u03AB', '\251', '\u038F', '\262', '\263', '\u03AC', '\243', '\u03AD', '\u03AE', '\u03AF', 
375
            '\u03CA', '\u0390', '\u03CC', '\u03CD', '\u0391', '\u0392', '\u0393', '\u0394', '\u0395', '\u0396', 
376
            '\u0397', '\275', '\u0398', '\u0399', '\253', '\273', '\u2591', '\u2592', '\u2593', '\u2502', 
377
            '\u2524', '\u039A', '\u039B', '\u039C', '\u039D', '\u2563', '\u2551', '\u2557', '\u255D', '\u039E', 
378
            '\u039F', '\u2510', '\u2514', '\u2534', '\u252C', '\u251C', '\u2500', '\u253C', '\u03A0', '\u03A1', 
379
            '\u255A', '\u2554', '\u2569', '\u2566', '\u2560', '\u2550', '\u256C', '\u03A3', '\u03A4', '\u03A5', 
380
            '\u03A6', '\u03A7', '\u03A8', '\u03A9', '\u03B1', '\u03B2', '\u03B3', '\u2518', '\u250C', '\u2588', 
381
            '\u2584', '\u03B4', '\u03B5', '\u2580', '\u03B6', '\u03B7', '\u03B8', '\u03B9', '\u03BA', '\u03BB', 
382
            '\u03BC', '\u03BD', '\u03BE', '\u03BF', '\u03C0', '\u03C1', '\u03C3', '\u03C2', '\u03C4', '\264', 
383
            '\255', '\261', '\u03C5', '\u03C6', '\u03C7', '\247', '\u03C8', '\u03F4', '\260', '\250', 
384
            '\u03C9', '\u03CB', '\u03B0', '\u03CE', '\u25A0', '\240'
385
        }, {
386
            '\0', '\001', '\002', '\003', '\004', '\005', '\006', '\007', '\b', '\t', 
387
            '\n', '\013', '\f', '\r', '\016', '\017', '\020', '\021', '\022', '\023', 
388
            '\024', '\025', '\026', '\027', '\030', '\031', '\032', '\033', '\034', '\035', 
389
            '\036', '\037', ' ', '!', '"', '#', '$', '%', '&', '\'', 
390
            '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', 
391
            '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', 
392
            '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 
393
            'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 
394
            'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 
395
            'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 
396
            'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 
397
            'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 
398
            'x', 'y', 'z', '{', '|', '}', '~', '\177', '\304', '\305', 
399
            '\307', '\311', '\321', '\326', '\334', '\341', '\340', '\342', '\344', '\343', 
400
            '\345', '\347', '\351', '\350', '\352', '\353', '\355', '\354', '\356', '\357', 
401
            '\361', '\363', '\362', '\364', '\366', '\365', '\372', '\371', '\373', '\374', 
402
            '\u2020', '\260', '\242', '\243', '\247', '\u2022', '\266', '\337', '\256', '\251', 
403
            '\u2122', '\264', '\250', '\u2260', '\306', '\330', '\u221E', '\261', '\u2264', '\u2265', 
404
            '\245', '\265', '\u2202', '\u2211', '\u220F', '\u03C0', '\u222B', '\252', '\272', '\u2126', 
405
            '\346', '\370', '\277', '\241', '\254', '\u221A', '\u0192', '\u2248', '\u2206', '\253', 
406
            '\273', '\u2026', '\240', '\300', '\303', '\325', '\u0152', '\u0153', '\u2010', '\u2014', 
407
            '\u201C', '\u201D', '\u2018', '\u2019', '\367', '\u25CA', '\377', '\u0178', '\u2044', '\244', 
408
            '\u2039', '\u203A', 'f', 'f', '\u2021', '\267', '\u201A', '\u201E', '\u2030', '\302', 
409
            '\312', '\301', '\313', '\310', '\315', '\316', '\317', '\314', '\323', '\324', 
410
            '\uFDFF', '\322', '\332', '\333', '\331', '\u0131', '\u02C6', '\u02DC', '\257', '\u02D8', 
411
            '\u02D9', '\u02DA', '\270', '\u02DD', '\u02DB', '\u02C7'
412
        }
413
    };
414
    static char unicode2DOS437[];
415
    
416
    /**
417
     * M?todo que permite convertir textos Unicode en textos codificados seg?n la
418
     * especificaci?n DOS437.
419
     * @param stringbuffer, la cadena a transformar.
420
     * @param i, 2 por defecto.
421
     * @param c, '?' por defecto.
422
     * @return
423
     */
424
    static String char2DOS437(StringBuffer stringbuffer, int i, char c)
425
    {
426
        if(unicode2DOS437 == null)
427
        {
428
            unicode2DOS437 = new char[0x10000];
429
            for(int j = 0; j < 256; j++)
430
            {
431
                char c1;
432
                if((c1 = unicode[2][j]) != '\uFFFF')
433
                    unicode2DOS437[c1] = (char)j;
434
            }
435

    
436
        }
437
        if(i != 2)
438
        {
439
            StringBuffer stringbuffer1 = new StringBuffer(stringbuffer.length());
440
            for(int k = 0; k < stringbuffer.length(); k++)
441
            {
442
                char c2 = unicode2DOS437[stringbuffer.charAt(k)];
443
                stringbuffer1.append(c2 == 0 ? c : c2);
444
            }
445

    
446
            return new String(stringbuffer1);
447
        } else
448
        {
449
            return new String(stringbuffer);
450
        }
451
    }
452
}