e4u-encode 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +21 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/lib/e4u/encode/docomo/cp932/docomo_unicode.rb +301 -0
- data/lib/e4u/encode/docomo/cp932.rb +12 -0
- data/lib/e4u/encode/docomo/unicode/cp932.rb +5 -0
- data/lib/e4u/encode/docomo/unicode/google_unicode.rb +294 -0
- data/lib/e4u/encode/docomo/unicode/utf8.rb +5 -0
- data/lib/e4u/encode/docomo/unicode.rb +34 -0
- data/lib/e4u/encode/docomo/utf8/docomo_unicode.rb +300 -0
- data/lib/e4u/encode/docomo/utf8.rb +12 -0
- data/lib/e4u/encode/docomo.rb +50 -0
- data/lib/e4u/encode/encoding.rb +25 -0
- data/lib/e4u/encode/google/unicode/docomo_unicode.rb +818 -0
- data/lib/e4u/encode/google/unicode/kddi_unicode.rb +818 -0
- data/lib/e4u/encode/google/unicode/softbank_unicode.rb +818 -0
- data/lib/e4u/encode/google/unicode/utf8.rb +5 -0
- data/lib/e4u/encode/google/unicode.rb +45 -0
- data/lib/e4u/encode/google/utf8/unicode.rb +823 -0
- data/lib/e4u/encode/google/utf8.rb +12 -0
- data/lib/e4u/encode/google.rb +47 -0
- data/lib/e4u/encode/kddi/cp932/kddi_unicode.rb +667 -0
- data/lib/e4u/encode/kddi/cp932.rb +12 -0
- data/lib/e4u/encode/kddi/unicode/cp932.rb +5 -0
- data/lib/e4u/encode/kddi/unicode/google_unicode.rb +660 -0
- data/lib/e4u/encode/kddi/unicode/utf8.rb +5 -0
- data/lib/e4u/encode/kddi/unicode.rb +34 -0
- data/lib/e4u/encode/kddi/utf8/kddi_unicode.rb +1313 -0
- data/lib/e4u/encode/kddi/utf8.rb +12 -0
- data/lib/e4u/encode/kddi.rb +50 -0
- data/lib/e4u/encode/softbank/cp932/softbank_unicode.rb +504 -0
- data/lib/e4u/encode/softbank/cp932.rb +32 -0
- data/lib/e4u/encode/softbank/unicode/cp932.rb +5 -0
- data/lib/e4u/encode/softbank/unicode/google_unicode.rb +497 -0
- data/lib/e4u/encode/softbank/unicode/utf8.rb +5 -0
- data/lib/e4u/encode/softbank/unicode.rb +45 -0
- data/lib/e4u/encode/softbank/utf8/softbank_unicode.rb +503 -0
- data/lib/e4u/encode/softbank/utf8.rb +12 -0
- data/lib/e4u/encode/softbank.rb +53 -0
- data/lib/e4u/encode.rb +79 -0
- data/spec/docomo_spec.rb +230 -0
- data/spec/e4u_spec.rb +173 -0
- data/spec/encode_spec.rb +78 -0
- data/spec/encoding_spec.rb +47 -0
- data/spec/google_spec.rb +86 -0
- data/spec/kddi_spec.rb +130 -0
- data/spec/softbank_spec.rb +147 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +13 -0
- data/tasks/mk_docomo_cp932.rb +34 -0
- data/tasks/mk_docomo_unicode.rb +28 -0
- data/tasks/mk_docomo_utf8.rb +33 -0
- data/tasks/mk_google_unicode_docomo.rb +37 -0
- data/tasks/mk_google_unicode_kddi.rb +37 -0
- data/tasks/mk_google_unicode_softbank.rb +37 -0
- data/tasks/mk_google_utf8.rb +34 -0
- data/tasks/mk_kddi_cp932.rb +35 -0
- data/tasks/mk_kddi_unicode.rb +30 -0
- data/tasks/mk_kddi_utf8.rb +36 -0
- data/tasks/mk_softbank_cp932.rb +34 -0
- data/tasks/mk_softbank_unicode.rb +28 -0
- data/tasks/mk_softbank_utf8.rb +33 -0
- data/tasks/tables.rake +70 -0
- data/tasks/task_helper.rb +3 -0
- metadata +148 -0
@@ -0,0 +1,294 @@
|
|
1
|
+
module E4U
|
2
|
+
module Encode
|
3
|
+
module DoCoMo
|
4
|
+
end
|
5
|
+
end
|
6
|
+
end
|
7
|
+
class E4U::Encode::DoCoMo::Unicode
|
8
|
+
GOOGLE_UNICODE = {
|
9
|
+
'E63E' => 'FE000'.freeze,
|
10
|
+
'E63F' => 'FE001'.freeze,
|
11
|
+
'E640' => 'FE002'.freeze,
|
12
|
+
'E641' => 'FE003'.freeze,
|
13
|
+
'E642' => 'FE004'.freeze,
|
14
|
+
'E643' => 'FE005'.freeze,
|
15
|
+
'E644' => 'FE006'.freeze,
|
16
|
+
'E645' => 'FE007'.freeze,
|
17
|
+
'E646' => 'FE02B'.freeze,
|
18
|
+
'E647' => 'FE02C'.freeze,
|
19
|
+
'E648' => 'FE02D'.freeze,
|
20
|
+
'E649' => 'FE02E'.freeze,
|
21
|
+
'E64A' => 'FE02F'.freeze,
|
22
|
+
'E64B' => 'FE030'.freeze,
|
23
|
+
'E64C' => 'FE031'.freeze,
|
24
|
+
'E64D' => 'FE032'.freeze,
|
25
|
+
'E64E' => 'FE033'.freeze,
|
26
|
+
'E64F' => 'FE034'.freeze,
|
27
|
+
'E650' => 'FE035'.freeze,
|
28
|
+
'E651' => 'FE036'.freeze,
|
29
|
+
'E652' => 'FE7D0'.freeze,
|
30
|
+
'E653' => 'FE7D1'.freeze,
|
31
|
+
'E654' => 'FE7D2'.freeze,
|
32
|
+
'E655' => 'FE7D3'.freeze,
|
33
|
+
'E656' => 'FE7D4'.freeze,
|
34
|
+
'E657' => 'FE7D5'.freeze,
|
35
|
+
'E658' => 'FE7D6'.freeze,
|
36
|
+
'E659' => 'FE7D7'.freeze,
|
37
|
+
'E65A' => 'FE522'.freeze,
|
38
|
+
'E65B' => 'FE7DF'.freeze,
|
39
|
+
'E65C' => 'FE7E1'.freeze,
|
40
|
+
'E65D' => 'FE7E2'.freeze,
|
41
|
+
'E65E' => 'FE7E4'.freeze,
|
42
|
+
'E65F' => 'FE7E5'.freeze,
|
43
|
+
'E660' => 'FE7E6'.freeze,
|
44
|
+
'E661' => 'FE7E8'.freeze,
|
45
|
+
'E662' => 'FE7E9'.freeze,
|
46
|
+
'E663' => 'FE4B0'.freeze,
|
47
|
+
'E664' => 'FE4B2'.freeze,
|
48
|
+
'E665' => 'FE4B3'.freeze,
|
49
|
+
'E666' => 'FE4B4'.freeze,
|
50
|
+
'E667' => 'FE4B5'.freeze,
|
51
|
+
'E668' => 'FE4B6'.freeze,
|
52
|
+
'E669' => 'FE4B7'.freeze,
|
53
|
+
'E66A' => 'FE4B9'.freeze,
|
54
|
+
'E66B' => 'FE7F5'.freeze,
|
55
|
+
'E66C' => 'FE7F6'.freeze,
|
56
|
+
'E66D' => 'FE7F7'.freeze,
|
57
|
+
'E66E' => 'FE506'.freeze,
|
58
|
+
'E66F' => 'FE980'.freeze,
|
59
|
+
'E670' => 'FE981'.freeze,
|
60
|
+
'E671' => 'FE982'.freeze,
|
61
|
+
'E672' => 'FE983'.freeze,
|
62
|
+
'E673' => 'FE960'.freeze,
|
63
|
+
'E674' => 'FE4D6'.freeze,
|
64
|
+
'E675' => 'FE53E'.freeze,
|
65
|
+
'E676' => 'FE800'.freeze,
|
66
|
+
'E677' => 'FE801'.freeze,
|
67
|
+
'E678' => 'FEAF0'.freeze,
|
68
|
+
'E679' => 'FE7FC'.freeze,
|
69
|
+
'E67A' => 'FE803'.freeze,
|
70
|
+
'E67B' => 'FE804'.freeze,
|
71
|
+
'E67C' => 'FE805'.freeze,
|
72
|
+
'E67D' => 'FE806'.freeze,
|
73
|
+
'E67E' => 'FE807'.freeze,
|
74
|
+
'E67F' => 'FEB1E'.freeze,
|
75
|
+
'E680' => 'FEB1F'.freeze,
|
76
|
+
'E681' => 'FE4EF'.freeze,
|
77
|
+
'E682' => 'FE4F0'.freeze,
|
78
|
+
'E683' => 'FE546'.freeze,
|
79
|
+
'E684' => 'FE50F'.freeze,
|
80
|
+
'E685' => 'FE510'.freeze,
|
81
|
+
'E686' => 'FE511'.freeze,
|
82
|
+
'E687' => 'FE523'.freeze,
|
83
|
+
'E688' => 'FE525'.freeze,
|
84
|
+
'E689' => 'FE527'.freeze,
|
85
|
+
'E68A' => 'FE81C'.freeze,
|
86
|
+
'E68B' => 'FE80A'.freeze,
|
87
|
+
'E68C' => 'FE81D'.freeze,
|
88
|
+
'E68D' => 'FEB1A'.freeze,
|
89
|
+
'E68E' => 'FEB1B'.freeze,
|
90
|
+
'E68F' => 'FEB1C'.freeze,
|
91
|
+
'E690' => 'FEB1D'.freeze,
|
92
|
+
'E691' => 'FE190'.freeze,
|
93
|
+
'E692' => 'FE191'.freeze,
|
94
|
+
'E693' => 'FEB93'.freeze,
|
95
|
+
'E694' => 'FEB94'.freeze,
|
96
|
+
'E695' => 'FEB95'.freeze,
|
97
|
+
'E696' => 'FEAF1'.freeze,
|
98
|
+
'E697' => 'FEAF2'.freeze,
|
99
|
+
'E698' => 'FE553'.freeze,
|
100
|
+
'E699' => 'FE4CD'.freeze,
|
101
|
+
'E69A' => 'FE4CE'.freeze,
|
102
|
+
'E69B' => 'FEB20'.freeze,
|
103
|
+
'E69C' => 'FE011'.freeze,
|
104
|
+
'E69D' => 'FE012'.freeze,
|
105
|
+
'E69E' => 'FE013'.freeze,
|
106
|
+
'E69F' => 'FE014'.freeze,
|
107
|
+
'E6A0' => 'FE015'.freeze,
|
108
|
+
'E6A1' => 'FE1B7'.freeze,
|
109
|
+
'E6A2' => 'FE1B8'.freeze,
|
110
|
+
'E6A3' => 'FE7EA'.freeze,
|
111
|
+
'E6A4' => 'FE512'.freeze,
|
112
|
+
'E6A5' => 'FEAF3'.freeze,
|
113
|
+
'E6A6' => 'FEE16'.freeze,
|
114
|
+
'E6A7' => 'FEE17'.freeze,
|
115
|
+
'E6A8' => 'FEE18'.freeze,
|
116
|
+
'E6A9' => 'FEE19'.freeze,
|
117
|
+
'E6AA' => 'FEE1A'.freeze,
|
118
|
+
'E6AB' => 'FEE1B'.freeze,
|
119
|
+
'E6AC' => 'FE808'.freeze,
|
120
|
+
'E6AD' => 'FE4F1'.freeze,
|
121
|
+
'E6AE' => 'FE536'.freeze,
|
122
|
+
'E6AF' => 'FEE1C'.freeze,
|
123
|
+
'E6B0' => 'FEE1D'.freeze,
|
124
|
+
'E6B1' => 'FE19A'.freeze,
|
125
|
+
'E6B2' => 'FE537'.freeze,
|
126
|
+
'E6B3' => 'FE008'.freeze,
|
127
|
+
'E6B4' => 'FEE1E'.freeze,
|
128
|
+
'E6B5' => 'FEE1F'.freeze,
|
129
|
+
'E6B6' => 'FEE20'.freeze,
|
130
|
+
'E6B7' => 'FE018'.freeze,
|
131
|
+
'E6B8' => 'FE019'.freeze,
|
132
|
+
'E6B9' => 'FE01A'.freeze,
|
133
|
+
'E6BA' => 'FE02A'.freeze,
|
134
|
+
'E6BB' => 'FEE21'.freeze,
|
135
|
+
'E6BC' => 'FEE22'.freeze,
|
136
|
+
'E6BD' => 'FEE23'.freeze,
|
137
|
+
'E6BE' => 'FEE24'.freeze,
|
138
|
+
'E6BF' => 'FEE25'.freeze,
|
139
|
+
'E6C0' => 'FEE26'.freeze,
|
140
|
+
'E6C1' => 'FEE27'.freeze,
|
141
|
+
'E6C2' => 'FEE28'.freeze,
|
142
|
+
'E6C3' => 'FEE29'.freeze,
|
143
|
+
'E6C4' => 'FEE2A'.freeze,
|
144
|
+
'E6C5' => 'FEE2B'.freeze,
|
145
|
+
'E6C6' => 'FEE2C'.freeze,
|
146
|
+
'E6C7' => 'FEE2D'.freeze,
|
147
|
+
'E6C8' => 'FEE2E'.freeze,
|
148
|
+
'E6C9' => 'FEE2F'.freeze,
|
149
|
+
'E6CA' => 'FEE30'.freeze,
|
150
|
+
'E6CB' => 'FEE31'.freeze,
|
151
|
+
'E6CC' => 'FEE32'.freeze,
|
152
|
+
'E6CD' => 'FEE33'.freeze,
|
153
|
+
'E6CE' => 'FE526'.freeze,
|
154
|
+
'E6CF' => 'FE52B'.freeze,
|
155
|
+
'E6D0' => 'FE528'.freeze,
|
156
|
+
'E6D1' => 'FEE10'.freeze,
|
157
|
+
'E6D2' => 'FEE11'.freeze,
|
158
|
+
'E6D3' => 'FE529'.freeze,
|
159
|
+
'E6D4' => 'FEE12'.freeze,
|
160
|
+
'E6D5' => 'FEE13'.freeze,
|
161
|
+
'E6D6' => 'FE4E2'.freeze,
|
162
|
+
'E6D7' => 'FEB21'.freeze,
|
163
|
+
'E6D8' => 'FEB81'.freeze,
|
164
|
+
'E6D9' => 'FEB82'.freeze,
|
165
|
+
'E6DA' => 'FEB83'.freeze,
|
166
|
+
'E6DB' => 'FEB84'.freeze,
|
167
|
+
'E6DC' => 'FEB85'.freeze,
|
168
|
+
'E6DD' => 'FEB36'.freeze,
|
169
|
+
'E6DE' => 'FEB22'.freeze,
|
170
|
+
'E6DF' => 'FE82B'.freeze,
|
171
|
+
'E6E0' => 'FE82C'.freeze,
|
172
|
+
'E6E1' => 'FE82D'.freeze,
|
173
|
+
'E6E2' => 'FE82E'.freeze,
|
174
|
+
'E6E3' => 'FE82F'.freeze,
|
175
|
+
'E6E4' => 'FE830'.freeze,
|
176
|
+
'E6E5' => 'FE831'.freeze,
|
177
|
+
'E6E6' => 'FE832'.freeze,
|
178
|
+
'E6E7' => 'FE833'.freeze,
|
179
|
+
'E6E8' => 'FE834'.freeze,
|
180
|
+
'E6E9' => 'FE835'.freeze,
|
181
|
+
'E6EA' => 'FE836'.freeze,
|
182
|
+
'E6EB' => 'FE837'.freeze,
|
183
|
+
'E6EC' => 'FEB0C'.freeze,
|
184
|
+
'E6ED' => 'FEB0D'.freeze,
|
185
|
+
'E6EE' => 'FEB0E'.freeze,
|
186
|
+
'E6EF' => 'FEB0F'.freeze,
|
187
|
+
'E6F0' => 'FE330'.freeze,
|
188
|
+
'E6F1' => 'FE320'.freeze,
|
189
|
+
'E6F2' => 'FE323'.freeze,
|
190
|
+
'E6F3' => 'FE33F'.freeze,
|
191
|
+
'E6F4' => 'FE324'.freeze,
|
192
|
+
'E6F5' => 'FEAF4'.freeze,
|
193
|
+
'E6F6' => 'FE813'.freeze,
|
194
|
+
'E6F7' => 'FE7FA'.freeze,
|
195
|
+
'E6F8' => 'FEB55'.freeze,
|
196
|
+
'E6F9' => 'FE823'.freeze,
|
197
|
+
'E6FA' => 'FEB60'.freeze,
|
198
|
+
'E6FB' => 'FEB56'.freeze,
|
199
|
+
'E6FC' => 'FEB57'.freeze,
|
200
|
+
'E6FD' => 'FEB96'.freeze,
|
201
|
+
'E6FE' => 'FEB58'.freeze,
|
202
|
+
'E6FF' => 'FE814'.freeze,
|
203
|
+
'E700' => 'FEAF5'.freeze,
|
204
|
+
'E701' => 'FEB59'.freeze,
|
205
|
+
'E702' => 'FEB04'.freeze,
|
206
|
+
'E703' => 'FEB05'.freeze,
|
207
|
+
'E704' => 'FEB06'.freeze,
|
208
|
+
'E705' => 'FEB5A'.freeze,
|
209
|
+
'E706' => 'FEB5B'.freeze,
|
210
|
+
'E707' => 'FEB5C'.freeze,
|
211
|
+
'E708' => 'FEB5D'.freeze,
|
212
|
+
'E709' => 'FEB07'.freeze,
|
213
|
+
'E70A' => 'FEB08'.freeze,
|
214
|
+
'E70B' => 'FEB27'.freeze,
|
215
|
+
'E70C' => 'FEE14'.freeze,
|
216
|
+
'E70D' => 'FEE15'.freeze,
|
217
|
+
'E70E' => 'FE4CF'.freeze,
|
218
|
+
'E70F' => 'FE4DC'.freeze,
|
219
|
+
'E710' => 'FE195'.freeze,
|
220
|
+
'E711' => 'FE4D0'.freeze,
|
221
|
+
'E712' => 'FE7D8'.freeze,
|
222
|
+
'E713' => 'FE4F2'.freeze,
|
223
|
+
'E714' => 'FE4F3'.freeze,
|
224
|
+
'E715' => 'FE4DD'.freeze,
|
225
|
+
'E716' => 'FE538'.freeze,
|
226
|
+
'E717' => 'FE824'.freeze,
|
227
|
+
'E718' => 'FE4C9'.freeze,
|
228
|
+
'E719' => 'FE539'.freeze,
|
229
|
+
'E71A' => 'FE4D1'.freeze,
|
230
|
+
'E71B' => 'FE825'.freeze,
|
231
|
+
'E71C' => 'FE01B'.freeze,
|
232
|
+
'E71D' => 'FE7EB'.freeze,
|
233
|
+
'E71E' => 'FE984'.freeze,
|
234
|
+
'E71F' => 'FE01D'.freeze,
|
235
|
+
'E720' => 'FE340'.freeze,
|
236
|
+
'E721' => 'FE33E'.freeze,
|
237
|
+
'E722' => 'FE331'.freeze,
|
238
|
+
'E723' => 'FE344'.freeze,
|
239
|
+
'E724' => 'FE33D'.freeze,
|
240
|
+
'E725' => 'FE326'.freeze,
|
241
|
+
'E726' => 'FE327'.freeze,
|
242
|
+
'E727' => 'FEB97'.freeze,
|
243
|
+
'E728' => 'FE329'.freeze,
|
244
|
+
'E729' => 'FE347'.freeze,
|
245
|
+
'E72A' => 'FE332'.freeze,
|
246
|
+
'E72B' => 'FE33C'.freeze,
|
247
|
+
'E72C' => 'FE343'.freeze,
|
248
|
+
'E72D' => 'FE33A'.freeze,
|
249
|
+
'E72E' => 'FE339'.freeze,
|
250
|
+
'E72F' => 'FEB28'.freeze,
|
251
|
+
'E730' => 'FE53A'.freeze,
|
252
|
+
'E731' => 'FEB29'.freeze,
|
253
|
+
'E732' => 'FEB2A'.freeze,
|
254
|
+
'E733' => 'FE7D9'.freeze,
|
255
|
+
'E734' => 'FEB2B'.freeze,
|
256
|
+
'E735' => 'FEB2C'.freeze,
|
257
|
+
'E736' => 'FEB2D'.freeze,
|
258
|
+
'E737' => 'FEB23'.freeze,
|
259
|
+
'E738' => 'FEB2E'.freeze,
|
260
|
+
'E739' => 'FEB2F'.freeze,
|
261
|
+
'E73A' => 'FEB30'.freeze,
|
262
|
+
'E73B' => 'FEB31'.freeze,
|
263
|
+
'E73C' => 'FEAF6'.freeze,
|
264
|
+
'E73D' => 'FEAF7'.freeze,
|
265
|
+
'E73E' => 'FE4BA'.freeze,
|
266
|
+
'E73F' => 'FE038'.freeze,
|
267
|
+
'E740' => 'FE4C3'.freeze,
|
268
|
+
'E741' => 'FE03C'.freeze,
|
269
|
+
'E742' => 'FE04F'.freeze,
|
270
|
+
'E743' => 'FE03D'.freeze,
|
271
|
+
'E744' => 'FE050'.freeze,
|
272
|
+
'E745' => 'FE051'.freeze,
|
273
|
+
'E746' => 'FE03E'.freeze,
|
274
|
+
'E747' => 'FE03F'.freeze,
|
275
|
+
'E748' => 'FE040'.freeze,
|
276
|
+
'E749' => 'FE961'.freeze,
|
277
|
+
'E74A' => 'FE962'.freeze,
|
278
|
+
'E74B' => 'FE985'.freeze,
|
279
|
+
'E74C' => 'FE963'.freeze,
|
280
|
+
'E74D' => 'FE964'.freeze,
|
281
|
+
'E74E' => 'FE1B9'.freeze,
|
282
|
+
'E74F' => 'FE1BA'.freeze,
|
283
|
+
'E750' => 'FE1BC'.freeze,
|
284
|
+
'E751' => 'FE1BD'.freeze,
|
285
|
+
'E752' => 'FE32B'.freeze,
|
286
|
+
'E753' => 'FE333'.freeze,
|
287
|
+
'E754' => 'FE1BE'.freeze,
|
288
|
+
'E755' => 'FE1BF'.freeze,
|
289
|
+
'E756' => 'FE986'.freeze,
|
290
|
+
'E757' => 'FE341'.freeze,
|
291
|
+
}.freeze
|
292
|
+
|
293
|
+
GOOGLE_UNICODE_REGEXP = Regexp.new("&#x((?i:#{GOOGLE_UNICODE.keys.join('|')}));").freeze
|
294
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
class E4U::Encode::DoCoMo::Unicode
|
2
|
+
%w(CP932 CP932_REGEXP).each do |konst|
|
3
|
+
autoload konst, 'e4u/encode/docomo/unicode/cp932'
|
4
|
+
end
|
5
|
+
|
6
|
+
%w(UTF8 UTF8_REGEXP).each do |konst|
|
7
|
+
autoload konst, 'e4u/encode/docomo/unicode/utf8'
|
8
|
+
end
|
9
|
+
|
10
|
+
%w(GOOGLE_UNICODE GOOGLE_UNICODE_REGEXP).each do |konst|
|
11
|
+
autoload konst, 'e4u/encode/docomo/unicode/google_unicode'
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.to_cp932 str
|
15
|
+
puts "docomo_unicode_to_docomo_cp932" if $DEBUG
|
16
|
+
str.gsub(CP932_REGEXP) do |matched|
|
17
|
+
CP932[$1]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.to_utf8 str
|
22
|
+
puts "docomo_unicode_to_docomo_utf8" if $DEBUG
|
23
|
+
str.gsub(UTF8_REGEXP) do |matched|
|
24
|
+
UTF8[$1]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.to_google_unicode str
|
29
|
+
puts "docomo_unicode_to_google_unicode" if $DEBUG
|
30
|
+
str.gsub(GOOGLE_UNICODE_REGEXP) do |matched|
|
31
|
+
"&#x#{GOOGLE_UNICODE[$1]};"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,300 @@
|
|
1
|
+
module E4U
|
2
|
+
module Encode
|
3
|
+
module DoCoMo
|
4
|
+
end
|
5
|
+
end
|
6
|
+
end
|
7
|
+
class E4U::Encode::DoCoMo::Utf8
|
8
|
+
DOCOMO_UNICODE = {
|
9
|
+
[0xE63E].pack('U') => 'E63E'.freeze,
|
10
|
+
[0xE63F].pack('U') => 'E63F'.freeze,
|
11
|
+
[0xE640].pack('U') => 'E640'.freeze,
|
12
|
+
[0xE641].pack('U') => 'E641'.freeze,
|
13
|
+
[0xE642].pack('U') => 'E642'.freeze,
|
14
|
+
[0xE643].pack('U') => 'E643'.freeze,
|
15
|
+
[0xE644].pack('U') => 'E644'.freeze,
|
16
|
+
[0xE645].pack('U') => 'E645'.freeze,
|
17
|
+
[0xE646].pack('U') => 'E646'.freeze,
|
18
|
+
[0xE647].pack('U') => 'E647'.freeze,
|
19
|
+
[0xE648].pack('U') => 'E648'.freeze,
|
20
|
+
[0xE649].pack('U') => 'E649'.freeze,
|
21
|
+
[0xE64A].pack('U') => 'E64A'.freeze,
|
22
|
+
[0xE64B].pack('U') => 'E64B'.freeze,
|
23
|
+
[0xE64C].pack('U') => 'E64C'.freeze,
|
24
|
+
[0xE64D].pack('U') => 'E64D'.freeze,
|
25
|
+
[0xE64E].pack('U') => 'E64E'.freeze,
|
26
|
+
[0xE64F].pack('U') => 'E64F'.freeze,
|
27
|
+
[0xE650].pack('U') => 'E650'.freeze,
|
28
|
+
[0xE651].pack('U') => 'E651'.freeze,
|
29
|
+
[0xE652].pack('U') => 'E652'.freeze,
|
30
|
+
[0xE653].pack('U') => 'E653'.freeze,
|
31
|
+
[0xE654].pack('U') => 'E654'.freeze,
|
32
|
+
[0xE655].pack('U') => 'E655'.freeze,
|
33
|
+
[0xE656].pack('U') => 'E656'.freeze,
|
34
|
+
[0xE657].pack('U') => 'E657'.freeze,
|
35
|
+
[0xE658].pack('U') => 'E658'.freeze,
|
36
|
+
[0xE659].pack('U') => 'E659'.freeze,
|
37
|
+
[0xE65A].pack('U') => 'E65A'.freeze,
|
38
|
+
[0xE65B].pack('U') => 'E65B'.freeze,
|
39
|
+
[0xE65C].pack('U') => 'E65C'.freeze,
|
40
|
+
[0xE65D].pack('U') => 'E65D'.freeze,
|
41
|
+
[0xE65E].pack('U') => 'E65E'.freeze,
|
42
|
+
[0xE65F].pack('U') => 'E65F'.freeze,
|
43
|
+
[0xE660].pack('U') => 'E660'.freeze,
|
44
|
+
[0xE661].pack('U') => 'E661'.freeze,
|
45
|
+
[0xE662].pack('U') => 'E662'.freeze,
|
46
|
+
[0xE663].pack('U') => 'E663'.freeze,
|
47
|
+
[0xE664].pack('U') => 'E664'.freeze,
|
48
|
+
[0xE665].pack('U') => 'E665'.freeze,
|
49
|
+
[0xE666].pack('U') => 'E666'.freeze,
|
50
|
+
[0xE667].pack('U') => 'E667'.freeze,
|
51
|
+
[0xE668].pack('U') => 'E668'.freeze,
|
52
|
+
[0xE669].pack('U') => 'E669'.freeze,
|
53
|
+
[0xE66A].pack('U') => 'E66A'.freeze,
|
54
|
+
[0xE66B].pack('U') => 'E66B'.freeze,
|
55
|
+
[0xE66C].pack('U') => 'E66C'.freeze,
|
56
|
+
[0xE66D].pack('U') => 'E66D'.freeze,
|
57
|
+
[0xE66E].pack('U') => 'E66E'.freeze,
|
58
|
+
[0xE66F].pack('U') => 'E66F'.freeze,
|
59
|
+
[0xE670].pack('U') => 'E670'.freeze,
|
60
|
+
[0xE671].pack('U') => 'E671'.freeze,
|
61
|
+
[0xE672].pack('U') => 'E672'.freeze,
|
62
|
+
[0xE673].pack('U') => 'E673'.freeze,
|
63
|
+
[0xE674].pack('U') => 'E674'.freeze,
|
64
|
+
[0xE675].pack('U') => 'E675'.freeze,
|
65
|
+
[0xE676].pack('U') => 'E676'.freeze,
|
66
|
+
[0xE677].pack('U') => 'E677'.freeze,
|
67
|
+
[0xE678].pack('U') => 'E678'.freeze,
|
68
|
+
[0xE679].pack('U') => 'E679'.freeze,
|
69
|
+
[0xE67A].pack('U') => 'E67A'.freeze,
|
70
|
+
[0xE67B].pack('U') => 'E67B'.freeze,
|
71
|
+
[0xE67C].pack('U') => 'E67C'.freeze,
|
72
|
+
[0xE67D].pack('U') => 'E67D'.freeze,
|
73
|
+
[0xE67E].pack('U') => 'E67E'.freeze,
|
74
|
+
[0xE67F].pack('U') => 'E67F'.freeze,
|
75
|
+
[0xE680].pack('U') => 'E680'.freeze,
|
76
|
+
[0xE681].pack('U') => 'E681'.freeze,
|
77
|
+
[0xE682].pack('U') => 'E682'.freeze,
|
78
|
+
[0xE683].pack('U') => 'E683'.freeze,
|
79
|
+
[0xE684].pack('U') => 'E684'.freeze,
|
80
|
+
[0xE685].pack('U') => 'E685'.freeze,
|
81
|
+
[0xE686].pack('U') => 'E686'.freeze,
|
82
|
+
[0xE687].pack('U') => 'E687'.freeze,
|
83
|
+
[0xE688].pack('U') => 'E688'.freeze,
|
84
|
+
[0xE689].pack('U') => 'E689'.freeze,
|
85
|
+
[0xE68A].pack('U') => 'E68A'.freeze,
|
86
|
+
[0xE68B].pack('U') => 'E68B'.freeze,
|
87
|
+
[0xE68C].pack('U') => 'E68C'.freeze,
|
88
|
+
[0xE68D].pack('U') => 'E68D'.freeze,
|
89
|
+
[0xE68E].pack('U') => 'E68E'.freeze,
|
90
|
+
[0xE68F].pack('U') => 'E68F'.freeze,
|
91
|
+
[0xE690].pack('U') => 'E690'.freeze,
|
92
|
+
[0xE691].pack('U') => 'E691'.freeze,
|
93
|
+
[0xE692].pack('U') => 'E692'.freeze,
|
94
|
+
[0xE693].pack('U') => 'E693'.freeze,
|
95
|
+
[0xE694].pack('U') => 'E694'.freeze,
|
96
|
+
[0xE695].pack('U') => 'E695'.freeze,
|
97
|
+
[0xE696].pack('U') => 'E696'.freeze,
|
98
|
+
[0xE697].pack('U') => 'E697'.freeze,
|
99
|
+
[0xE698].pack('U') => 'E698'.freeze,
|
100
|
+
[0xE699].pack('U') => 'E699'.freeze,
|
101
|
+
[0xE69A].pack('U') => 'E69A'.freeze,
|
102
|
+
[0xE69B].pack('U') => 'E69B'.freeze,
|
103
|
+
[0xE69C].pack('U') => 'E69C'.freeze,
|
104
|
+
[0xE69D].pack('U') => 'E69D'.freeze,
|
105
|
+
[0xE69E].pack('U') => 'E69E'.freeze,
|
106
|
+
[0xE69F].pack('U') => 'E69F'.freeze,
|
107
|
+
[0xE6A0].pack('U') => 'E6A0'.freeze,
|
108
|
+
[0xE6A1].pack('U') => 'E6A1'.freeze,
|
109
|
+
[0xE6A2].pack('U') => 'E6A2'.freeze,
|
110
|
+
[0xE6A3].pack('U') => 'E6A3'.freeze,
|
111
|
+
[0xE6A4].pack('U') => 'E6A4'.freeze,
|
112
|
+
[0xE6A5].pack('U') => 'E6A5'.freeze,
|
113
|
+
[0xE6A6].pack('U') => 'E6A6'.freeze,
|
114
|
+
[0xE6A7].pack('U') => 'E6A7'.freeze,
|
115
|
+
[0xE6A8].pack('U') => 'E6A8'.freeze,
|
116
|
+
[0xE6A9].pack('U') => 'E6A9'.freeze,
|
117
|
+
[0xE6AA].pack('U') => 'E6AA'.freeze,
|
118
|
+
[0xE6AB].pack('U') => 'E6AB'.freeze,
|
119
|
+
[0xE6AC].pack('U') => 'E6AC'.freeze,
|
120
|
+
[0xE6AD].pack('U') => 'E6AD'.freeze,
|
121
|
+
[0xE6AE].pack('U') => 'E6AE'.freeze,
|
122
|
+
[0xE6AF].pack('U') => 'E6AF'.freeze,
|
123
|
+
[0xE6B0].pack('U') => 'E6B0'.freeze,
|
124
|
+
[0xE6B1].pack('U') => 'E6B1'.freeze,
|
125
|
+
[0xE6B2].pack('U') => 'E6B2'.freeze,
|
126
|
+
[0xE6B3].pack('U') => 'E6B3'.freeze,
|
127
|
+
[0xE6B4].pack('U') => 'E6B4'.freeze,
|
128
|
+
[0xE6B5].pack('U') => 'E6B5'.freeze,
|
129
|
+
[0xE6B6].pack('U') => 'E6B6'.freeze,
|
130
|
+
[0xE6B7].pack('U') => 'E6B7'.freeze,
|
131
|
+
[0xE6B8].pack('U') => 'E6B8'.freeze,
|
132
|
+
[0xE6B9].pack('U') => 'E6B9'.freeze,
|
133
|
+
[0xE6BA].pack('U') => 'E6BA'.freeze,
|
134
|
+
[0xE6BB].pack('U') => 'E6BB'.freeze,
|
135
|
+
[0xE6BC].pack('U') => 'E6BC'.freeze,
|
136
|
+
[0xE6BD].pack('U') => 'E6BD'.freeze,
|
137
|
+
[0xE6BE].pack('U') => 'E6BE'.freeze,
|
138
|
+
[0xE6BF].pack('U') => 'E6BF'.freeze,
|
139
|
+
[0xE6C0].pack('U') => 'E6C0'.freeze,
|
140
|
+
[0xE6C1].pack('U') => 'E6C1'.freeze,
|
141
|
+
[0xE6C2].pack('U') => 'E6C2'.freeze,
|
142
|
+
[0xE6C3].pack('U') => 'E6C3'.freeze,
|
143
|
+
[0xE6C4].pack('U') => 'E6C4'.freeze,
|
144
|
+
[0xE6C5].pack('U') => 'E6C5'.freeze,
|
145
|
+
[0xE6C6].pack('U') => 'E6C6'.freeze,
|
146
|
+
[0xE6C7].pack('U') => 'E6C7'.freeze,
|
147
|
+
[0xE6C8].pack('U') => 'E6C8'.freeze,
|
148
|
+
[0xE6C9].pack('U') => 'E6C9'.freeze,
|
149
|
+
[0xE6CA].pack('U') => 'E6CA'.freeze,
|
150
|
+
[0xE6CB].pack('U') => 'E6CB'.freeze,
|
151
|
+
[0xE6CC].pack('U') => 'E6CC'.freeze,
|
152
|
+
[0xE6CD].pack('U') => 'E6CD'.freeze,
|
153
|
+
[0xE6CE].pack('U') => 'E6CE'.freeze,
|
154
|
+
[0xE6CF].pack('U') => 'E6CF'.freeze,
|
155
|
+
[0xE6D0].pack('U') => 'E6D0'.freeze,
|
156
|
+
[0xE6D1].pack('U') => 'E6D1'.freeze,
|
157
|
+
[0xE6D2].pack('U') => 'E6D2'.freeze,
|
158
|
+
[0xE6D3].pack('U') => 'E6D3'.freeze,
|
159
|
+
[0xE6D4].pack('U') => 'E6D4'.freeze,
|
160
|
+
[0xE6D5].pack('U') => 'E6D5'.freeze,
|
161
|
+
[0xE6D6].pack('U') => 'E6D6'.freeze,
|
162
|
+
[0xE6D7].pack('U') => 'E6D7'.freeze,
|
163
|
+
[0xE6D8].pack('U') => 'E6D8'.freeze,
|
164
|
+
[0xE6D9].pack('U') => 'E6D9'.freeze,
|
165
|
+
[0xE6DA].pack('U') => 'E6DA'.freeze,
|
166
|
+
[0xE6DB].pack('U') => 'E6DB'.freeze,
|
167
|
+
[0xE6DC].pack('U') => 'E6DC'.freeze,
|
168
|
+
[0xE6DD].pack('U') => 'E6DD'.freeze,
|
169
|
+
[0xE6DE].pack('U') => 'E6DE'.freeze,
|
170
|
+
[0xE6DF].pack('U') => 'E6DF'.freeze,
|
171
|
+
[0xE6E0].pack('U') => 'E6E0'.freeze,
|
172
|
+
[0xE6E1].pack('U') => 'E6E1'.freeze,
|
173
|
+
[0xE6E2].pack('U') => 'E6E2'.freeze,
|
174
|
+
[0xE6E3].pack('U') => 'E6E3'.freeze,
|
175
|
+
[0xE6E4].pack('U') => 'E6E4'.freeze,
|
176
|
+
[0xE6E5].pack('U') => 'E6E5'.freeze,
|
177
|
+
[0xE6E6].pack('U') => 'E6E6'.freeze,
|
178
|
+
[0xE6E7].pack('U') => 'E6E7'.freeze,
|
179
|
+
[0xE6E8].pack('U') => 'E6E8'.freeze,
|
180
|
+
[0xE6E9].pack('U') => 'E6E9'.freeze,
|
181
|
+
[0xE6EA].pack('U') => 'E6EA'.freeze,
|
182
|
+
[0xE6EB].pack('U') => 'E6EB'.freeze,
|
183
|
+
[0xE6EC].pack('U') => 'E6EC'.freeze,
|
184
|
+
[0xE6ED].pack('U') => 'E6ED'.freeze,
|
185
|
+
[0xE6EE].pack('U') => 'E6EE'.freeze,
|
186
|
+
[0xE6EF].pack('U') => 'E6EF'.freeze,
|
187
|
+
[0xE6F0].pack('U') => 'E6F0'.freeze,
|
188
|
+
[0xE6F1].pack('U') => 'E6F1'.freeze,
|
189
|
+
[0xE6F2].pack('U') => 'E6F2'.freeze,
|
190
|
+
[0xE6F3].pack('U') => 'E6F3'.freeze,
|
191
|
+
[0xE6F4].pack('U') => 'E6F4'.freeze,
|
192
|
+
[0xE6F5].pack('U') => 'E6F5'.freeze,
|
193
|
+
[0xE6F6].pack('U') => 'E6F6'.freeze,
|
194
|
+
[0xE6F7].pack('U') => 'E6F7'.freeze,
|
195
|
+
[0xE6F8].pack('U') => 'E6F8'.freeze,
|
196
|
+
[0xE6F9].pack('U') => 'E6F9'.freeze,
|
197
|
+
[0xE6FA].pack('U') => 'E6FA'.freeze,
|
198
|
+
[0xE6FB].pack('U') => 'E6FB'.freeze,
|
199
|
+
[0xE6FC].pack('U') => 'E6FC'.freeze,
|
200
|
+
[0xE6FD].pack('U') => 'E6FD'.freeze,
|
201
|
+
[0xE6FE].pack('U') => 'E6FE'.freeze,
|
202
|
+
[0xE6FF].pack('U') => 'E6FF'.freeze,
|
203
|
+
[0xE700].pack('U') => 'E700'.freeze,
|
204
|
+
[0xE701].pack('U') => 'E701'.freeze,
|
205
|
+
[0xE702].pack('U') => 'E702'.freeze,
|
206
|
+
[0xE703].pack('U') => 'E703'.freeze,
|
207
|
+
[0xE704].pack('U') => 'E704'.freeze,
|
208
|
+
[0xE705].pack('U') => 'E705'.freeze,
|
209
|
+
[0xE706].pack('U') => 'E706'.freeze,
|
210
|
+
[0xE707].pack('U') => 'E707'.freeze,
|
211
|
+
[0xE708].pack('U') => 'E708'.freeze,
|
212
|
+
[0xE709].pack('U') => 'E709'.freeze,
|
213
|
+
[0xE70A].pack('U') => 'E70A'.freeze,
|
214
|
+
[0xE70B].pack('U') => 'E70B'.freeze,
|
215
|
+
[0xE70C].pack('U') => 'E70C'.freeze,
|
216
|
+
[0xE70D].pack('U') => 'E70D'.freeze,
|
217
|
+
[0xE70E].pack('U') => 'E70E'.freeze,
|
218
|
+
[0xE70F].pack('U') => 'E70F'.freeze,
|
219
|
+
[0xE710].pack('U') => 'E710'.freeze,
|
220
|
+
[0xE711].pack('U') => 'E711'.freeze,
|
221
|
+
[0xE712].pack('U') => 'E712'.freeze,
|
222
|
+
[0xE713].pack('U') => 'E713'.freeze,
|
223
|
+
[0xE714].pack('U') => 'E714'.freeze,
|
224
|
+
[0xE715].pack('U') => 'E715'.freeze,
|
225
|
+
[0xE716].pack('U') => 'E716'.freeze,
|
226
|
+
[0xE717].pack('U') => 'E717'.freeze,
|
227
|
+
[0xE718].pack('U') => 'E718'.freeze,
|
228
|
+
[0xE719].pack('U') => 'E719'.freeze,
|
229
|
+
[0xE71A].pack('U') => 'E71A'.freeze,
|
230
|
+
[0xE71B].pack('U') => 'E71B'.freeze,
|
231
|
+
[0xE71C].pack('U') => 'E71C'.freeze,
|
232
|
+
[0xE71D].pack('U') => 'E71D'.freeze,
|
233
|
+
[0xE71E].pack('U') => 'E71E'.freeze,
|
234
|
+
[0xE71F].pack('U') => 'E71F'.freeze,
|
235
|
+
[0xE720].pack('U') => 'E720'.freeze,
|
236
|
+
[0xE721].pack('U') => 'E721'.freeze,
|
237
|
+
[0xE722].pack('U') => 'E722'.freeze,
|
238
|
+
[0xE723].pack('U') => 'E723'.freeze,
|
239
|
+
[0xE724].pack('U') => 'E724'.freeze,
|
240
|
+
[0xE725].pack('U') => 'E725'.freeze,
|
241
|
+
[0xE726].pack('U') => 'E726'.freeze,
|
242
|
+
[0xE727].pack('U') => 'E727'.freeze,
|
243
|
+
[0xE728].pack('U') => 'E728'.freeze,
|
244
|
+
[0xE729].pack('U') => 'E729'.freeze,
|
245
|
+
[0xE72A].pack('U') => 'E72A'.freeze,
|
246
|
+
[0xE72B].pack('U') => 'E72B'.freeze,
|
247
|
+
[0xE72C].pack('U') => 'E72C'.freeze,
|
248
|
+
[0xE72D].pack('U') => 'E72D'.freeze,
|
249
|
+
[0xE72E].pack('U') => 'E72E'.freeze,
|
250
|
+
[0xE72F].pack('U') => 'E72F'.freeze,
|
251
|
+
[0xE730].pack('U') => 'E730'.freeze,
|
252
|
+
[0xE731].pack('U') => 'E731'.freeze,
|
253
|
+
[0xE732].pack('U') => 'E732'.freeze,
|
254
|
+
[0xE733].pack('U') => 'E733'.freeze,
|
255
|
+
[0xE734].pack('U') => 'E734'.freeze,
|
256
|
+
[0xE735].pack('U') => 'E735'.freeze,
|
257
|
+
[0xE736].pack('U') => 'E736'.freeze,
|
258
|
+
[0xE737].pack('U') => 'E737'.freeze,
|
259
|
+
[0xE738].pack('U') => 'E738'.freeze,
|
260
|
+
[0xE739].pack('U') => 'E739'.freeze,
|
261
|
+
[0xE73A].pack('U') => 'E73A'.freeze,
|
262
|
+
[0xE73B].pack('U') => 'E73B'.freeze,
|
263
|
+
[0xE73C].pack('U') => 'E73C'.freeze,
|
264
|
+
[0xE73D].pack('U') => 'E73D'.freeze,
|
265
|
+
[0xE73E].pack('U') => 'E73E'.freeze,
|
266
|
+
[0xE73F].pack('U') => 'E73F'.freeze,
|
267
|
+
[0xE740].pack('U') => 'E740'.freeze,
|
268
|
+
[0xE741].pack('U') => 'E741'.freeze,
|
269
|
+
[0xE742].pack('U') => 'E742'.freeze,
|
270
|
+
[0xE743].pack('U') => 'E743'.freeze,
|
271
|
+
[0xE744].pack('U') => 'E744'.freeze,
|
272
|
+
[0xE745].pack('U') => 'E745'.freeze,
|
273
|
+
[0xE746].pack('U') => 'E746'.freeze,
|
274
|
+
[0xE747].pack('U') => 'E747'.freeze,
|
275
|
+
[0xE748].pack('U') => 'E748'.freeze,
|
276
|
+
[0xE749].pack('U') => 'E749'.freeze,
|
277
|
+
[0xE74A].pack('U') => 'E74A'.freeze,
|
278
|
+
[0xE74B].pack('U') => 'E74B'.freeze,
|
279
|
+
[0xE74C].pack('U') => 'E74C'.freeze,
|
280
|
+
[0xE74D].pack('U') => 'E74D'.freeze,
|
281
|
+
[0xE74E].pack('U') => 'E74E'.freeze,
|
282
|
+
[0xE74F].pack('U') => 'E74F'.freeze,
|
283
|
+
[0xE750].pack('U') => 'E750'.freeze,
|
284
|
+
[0xE751].pack('U') => 'E751'.freeze,
|
285
|
+
[0xE752].pack('U') => 'E752'.freeze,
|
286
|
+
[0xE753].pack('U') => 'E753'.freeze,
|
287
|
+
[0xE754].pack('U') => 'E754'.freeze,
|
288
|
+
[0xE755].pack('U') => 'E755'.freeze,
|
289
|
+
[0xE756].pack('U') => 'E756'.freeze,
|
290
|
+
[0xE757].pack('U') => 'E757'.freeze,
|
291
|
+
}.freeze
|
292
|
+
|
293
|
+
DOCOMO_UNICODE_REGEXP = Regexp.union(*DOCOMO_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
294
|
+
(lambda { |e|
|
295
|
+
Regexp.new(Regexp.escape(e,'u'),nil,'u')
|
296
|
+
}) :
|
297
|
+
(lambda { |e|
|
298
|
+
Regexp.new(Regexp.escape(e))
|
299
|
+
})))).freeze
|
300
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class E4U::Encode::DoCoMo::Utf8
|
2
|
+
%w(DOCOMO_UNICODE DOCOMO_UNICODE_REGEXP).each do |konst|
|
3
|
+
autoload konst, 'e4u/encode/docomo/utf8/docomo_unicode'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.to_docomo_unicode str
|
7
|
+
puts "docomo_utf8_to_docomo_unicode" if $DEBUG
|
8
|
+
str.gsub(DOCOMO_UNICODE_REGEXP) do |matched|
|
9
|
+
"&#x#{DOCOMO_UNICODE[matched]};"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|