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,503 @@
|
|
1
|
+
module E4U
|
2
|
+
module Encode
|
3
|
+
module Softbank
|
4
|
+
end
|
5
|
+
end
|
6
|
+
end
|
7
|
+
class E4U::Encode::Softbank::Utf8
|
8
|
+
SOFTBANK_UNICODE = {
|
9
|
+
[0xE001].pack('U') => 'E001'.freeze,
|
10
|
+
[0xE002].pack('U') => 'E002'.freeze,
|
11
|
+
[0xE003].pack('U') => 'E003'.freeze,
|
12
|
+
[0xE004].pack('U') => 'E004'.freeze,
|
13
|
+
[0xE005].pack('U') => 'E005'.freeze,
|
14
|
+
[0xE006].pack('U') => 'E006'.freeze,
|
15
|
+
[0xE007].pack('U') => 'E007'.freeze,
|
16
|
+
[0xE008].pack('U') => 'E008'.freeze,
|
17
|
+
[0xE009].pack('U') => 'E009'.freeze,
|
18
|
+
[0xE00A].pack('U') => 'E00A'.freeze,
|
19
|
+
[0xE00B].pack('U') => 'E00B'.freeze,
|
20
|
+
[0xE00C].pack('U') => 'E00C'.freeze,
|
21
|
+
[0xE00D].pack('U') => 'E00D'.freeze,
|
22
|
+
[0xE00E].pack('U') => 'E00E'.freeze,
|
23
|
+
[0xE00F].pack('U') => 'E00F'.freeze,
|
24
|
+
[0xE010].pack('U') => 'E010'.freeze,
|
25
|
+
[0xE011].pack('U') => 'E011'.freeze,
|
26
|
+
[0xE012].pack('U') => 'E012'.freeze,
|
27
|
+
[0xE013].pack('U') => 'E013'.freeze,
|
28
|
+
[0xE014].pack('U') => 'E014'.freeze,
|
29
|
+
[0xE015].pack('U') => 'E015'.freeze,
|
30
|
+
[0xE016].pack('U') => 'E016'.freeze,
|
31
|
+
[0xE017].pack('U') => 'E017'.freeze,
|
32
|
+
[0xE018].pack('U') => 'E018'.freeze,
|
33
|
+
[0xE019].pack('U') => 'E019'.freeze,
|
34
|
+
[0xE01A].pack('U') => 'E01A'.freeze,
|
35
|
+
[0xE01B].pack('U') => 'E01B'.freeze,
|
36
|
+
[0xE01C].pack('U') => 'E01C'.freeze,
|
37
|
+
[0xE01D].pack('U') => 'E01D'.freeze,
|
38
|
+
[0xE01E].pack('U') => 'E01E'.freeze,
|
39
|
+
[0xE01F].pack('U') => 'E01F'.freeze,
|
40
|
+
[0xE020].pack('U') => 'E020'.freeze,
|
41
|
+
[0xE021].pack('U') => 'E021'.freeze,
|
42
|
+
[0xE022].pack('U') => 'E022'.freeze,
|
43
|
+
[0xE023].pack('U') => 'E023'.freeze,
|
44
|
+
[0xE024].pack('U') => 'E024'.freeze,
|
45
|
+
[0xE025].pack('U') => 'E025'.freeze,
|
46
|
+
[0xE026].pack('U') => 'E026'.freeze,
|
47
|
+
[0xE027].pack('U') => 'E027'.freeze,
|
48
|
+
[0xE028].pack('U') => 'E028'.freeze,
|
49
|
+
[0xE029].pack('U') => 'E029'.freeze,
|
50
|
+
[0xE02A].pack('U') => 'E02A'.freeze,
|
51
|
+
[0xE02B].pack('U') => 'E02B'.freeze,
|
52
|
+
[0xE02C].pack('U') => 'E02C'.freeze,
|
53
|
+
[0xE02D].pack('U') => 'E02D'.freeze,
|
54
|
+
[0xE02E].pack('U') => 'E02E'.freeze,
|
55
|
+
[0xE02F].pack('U') => 'E02F'.freeze,
|
56
|
+
[0xE030].pack('U') => 'E030'.freeze,
|
57
|
+
[0xE031].pack('U') => 'E031'.freeze,
|
58
|
+
[0xE032].pack('U') => 'E032'.freeze,
|
59
|
+
[0xE033].pack('U') => 'E033'.freeze,
|
60
|
+
[0xE034].pack('U') => 'E034'.freeze,
|
61
|
+
[0xE035].pack('U') => 'E035'.freeze,
|
62
|
+
[0xE036].pack('U') => 'E036'.freeze,
|
63
|
+
[0xE037].pack('U') => 'E037'.freeze,
|
64
|
+
[0xE038].pack('U') => 'E038'.freeze,
|
65
|
+
[0xE039].pack('U') => 'E039'.freeze,
|
66
|
+
[0xE03A].pack('U') => 'E03A'.freeze,
|
67
|
+
[0xE03B].pack('U') => 'E03B'.freeze,
|
68
|
+
[0xE03C].pack('U') => 'E03C'.freeze,
|
69
|
+
[0xE03D].pack('U') => 'E03D'.freeze,
|
70
|
+
[0xE03E].pack('U') => 'E03E'.freeze,
|
71
|
+
[0xE03F].pack('U') => 'E03F'.freeze,
|
72
|
+
[0xE040].pack('U') => 'E040'.freeze,
|
73
|
+
[0xE041].pack('U') => 'E041'.freeze,
|
74
|
+
[0xE042].pack('U') => 'E042'.freeze,
|
75
|
+
[0xE043].pack('U') => 'E043'.freeze,
|
76
|
+
[0xE044].pack('U') => 'E044'.freeze,
|
77
|
+
[0xE045].pack('U') => 'E045'.freeze,
|
78
|
+
[0xE046].pack('U') => 'E046'.freeze,
|
79
|
+
[0xE047].pack('U') => 'E047'.freeze,
|
80
|
+
[0xE048].pack('U') => 'E048'.freeze,
|
81
|
+
[0xE049].pack('U') => 'E049'.freeze,
|
82
|
+
[0xE04A].pack('U') => 'E04A'.freeze,
|
83
|
+
[0xE04B].pack('U') => 'E04B'.freeze,
|
84
|
+
[0xE04C].pack('U') => 'E04C'.freeze,
|
85
|
+
[0xE04D].pack('U') => 'E04D'.freeze,
|
86
|
+
[0xE04E].pack('U') => 'E04E'.freeze,
|
87
|
+
[0xE04F].pack('U') => 'E04F'.freeze,
|
88
|
+
[0xE050].pack('U') => 'E050'.freeze,
|
89
|
+
[0xE051].pack('U') => 'E051'.freeze,
|
90
|
+
[0xE052].pack('U') => 'E052'.freeze,
|
91
|
+
[0xE053].pack('U') => 'E053'.freeze,
|
92
|
+
[0xE054].pack('U') => 'E054'.freeze,
|
93
|
+
[0xE055].pack('U') => 'E055'.freeze,
|
94
|
+
[0xE056].pack('U') => 'E056'.freeze,
|
95
|
+
[0xE057].pack('U') => 'E057'.freeze,
|
96
|
+
[0xE058].pack('U') => 'E058'.freeze,
|
97
|
+
[0xE059].pack('U') => 'E059'.freeze,
|
98
|
+
[0xE05A].pack('U') => 'E05A'.freeze,
|
99
|
+
[0xE101].pack('U') => 'E101'.freeze,
|
100
|
+
[0xE102].pack('U') => 'E102'.freeze,
|
101
|
+
[0xE103].pack('U') => 'E103'.freeze,
|
102
|
+
[0xE104].pack('U') => 'E104'.freeze,
|
103
|
+
[0xE105].pack('U') => 'E105'.freeze,
|
104
|
+
[0xE106].pack('U') => 'E106'.freeze,
|
105
|
+
[0xE107].pack('U') => 'E107'.freeze,
|
106
|
+
[0xE108].pack('U') => 'E108'.freeze,
|
107
|
+
[0xE109].pack('U') => 'E109'.freeze,
|
108
|
+
[0xE10A].pack('U') => 'E10A'.freeze,
|
109
|
+
[0xE10B].pack('U') => 'E10B'.freeze,
|
110
|
+
[0xE10C].pack('U') => 'E10C'.freeze,
|
111
|
+
[0xE10D].pack('U') => 'E10D'.freeze,
|
112
|
+
[0xE10E].pack('U') => 'E10E'.freeze,
|
113
|
+
[0xE10F].pack('U') => 'E10F'.freeze,
|
114
|
+
[0xE110].pack('U') => 'E110'.freeze,
|
115
|
+
[0xE111].pack('U') => 'E111'.freeze,
|
116
|
+
[0xE112].pack('U') => 'E112'.freeze,
|
117
|
+
[0xE113].pack('U') => 'E113'.freeze,
|
118
|
+
[0xE114].pack('U') => 'E114'.freeze,
|
119
|
+
[0xE115].pack('U') => 'E115'.freeze,
|
120
|
+
[0xE116].pack('U') => 'E116'.freeze,
|
121
|
+
[0xE117].pack('U') => 'E117'.freeze,
|
122
|
+
[0xE118].pack('U') => 'E118'.freeze,
|
123
|
+
[0xE119].pack('U') => 'E119'.freeze,
|
124
|
+
[0xE11A].pack('U') => 'E11A'.freeze,
|
125
|
+
[0xE11B].pack('U') => 'E11B'.freeze,
|
126
|
+
[0xE11C].pack('U') => 'E11C'.freeze,
|
127
|
+
[0xE11D].pack('U') => 'E11D'.freeze,
|
128
|
+
[0xE11E].pack('U') => 'E11E'.freeze,
|
129
|
+
[0xE11F].pack('U') => 'E11F'.freeze,
|
130
|
+
[0xE120].pack('U') => 'E120'.freeze,
|
131
|
+
[0xE121].pack('U') => 'E121'.freeze,
|
132
|
+
[0xE122].pack('U') => 'E122'.freeze,
|
133
|
+
[0xE123].pack('U') => 'E123'.freeze,
|
134
|
+
[0xE124].pack('U') => 'E124'.freeze,
|
135
|
+
[0xE125].pack('U') => 'E125'.freeze,
|
136
|
+
[0xE126].pack('U') => 'E126'.freeze,
|
137
|
+
[0xE127].pack('U') => 'E127'.freeze,
|
138
|
+
[0xE128].pack('U') => 'E128'.freeze,
|
139
|
+
[0xE129].pack('U') => 'E129'.freeze,
|
140
|
+
[0xE12A].pack('U') => 'E12A'.freeze,
|
141
|
+
[0xE12B].pack('U') => 'E12B'.freeze,
|
142
|
+
[0xE12C].pack('U') => 'E12C'.freeze,
|
143
|
+
[0xE12D].pack('U') => 'E12D'.freeze,
|
144
|
+
[0xE12E].pack('U') => 'E12E'.freeze,
|
145
|
+
[0xE12F].pack('U') => 'E12F'.freeze,
|
146
|
+
[0xE130].pack('U') => 'E130'.freeze,
|
147
|
+
[0xE131].pack('U') => 'E131'.freeze,
|
148
|
+
[0xE132].pack('U') => 'E132'.freeze,
|
149
|
+
[0xE133].pack('U') => 'E133'.freeze,
|
150
|
+
[0xE134].pack('U') => 'E134'.freeze,
|
151
|
+
[0xE135].pack('U') => 'E135'.freeze,
|
152
|
+
[0xE136].pack('U') => 'E136'.freeze,
|
153
|
+
[0xE137].pack('U') => 'E137'.freeze,
|
154
|
+
[0xE138].pack('U') => 'E138'.freeze,
|
155
|
+
[0xE139].pack('U') => 'E139'.freeze,
|
156
|
+
[0xE13A].pack('U') => 'E13A'.freeze,
|
157
|
+
[0xE13B].pack('U') => 'E13B'.freeze,
|
158
|
+
[0xE13C].pack('U') => 'E13C'.freeze,
|
159
|
+
[0xE13D].pack('U') => 'E13D'.freeze,
|
160
|
+
[0xE13E].pack('U') => 'E13E'.freeze,
|
161
|
+
[0xE13F].pack('U') => 'E13F'.freeze,
|
162
|
+
[0xE140].pack('U') => 'E140'.freeze,
|
163
|
+
[0xE141].pack('U') => 'E141'.freeze,
|
164
|
+
[0xE142].pack('U') => 'E142'.freeze,
|
165
|
+
[0xE143].pack('U') => 'E143'.freeze,
|
166
|
+
[0xE144].pack('U') => 'E144'.freeze,
|
167
|
+
[0xE145].pack('U') => 'E145'.freeze,
|
168
|
+
[0xE146].pack('U') => 'E146'.freeze,
|
169
|
+
[0xE147].pack('U') => 'E147'.freeze,
|
170
|
+
[0xE148].pack('U') => 'E148'.freeze,
|
171
|
+
[0xE149].pack('U') => 'E149'.freeze,
|
172
|
+
[0xE14A].pack('U') => 'E14A'.freeze,
|
173
|
+
[0xE14B].pack('U') => 'E14B'.freeze,
|
174
|
+
[0xE14C].pack('U') => 'E14C'.freeze,
|
175
|
+
[0xE14D].pack('U') => 'E14D'.freeze,
|
176
|
+
[0xE14E].pack('U') => 'E14E'.freeze,
|
177
|
+
[0xE14F].pack('U') => 'E14F'.freeze,
|
178
|
+
[0xE150].pack('U') => 'E150'.freeze,
|
179
|
+
[0xE151].pack('U') => 'E151'.freeze,
|
180
|
+
[0xE152].pack('U') => 'E152'.freeze,
|
181
|
+
[0xE153].pack('U') => 'E153'.freeze,
|
182
|
+
[0xE154].pack('U') => 'E154'.freeze,
|
183
|
+
[0xE155].pack('U') => 'E155'.freeze,
|
184
|
+
[0xE156].pack('U') => 'E156'.freeze,
|
185
|
+
[0xE157].pack('U') => 'E157'.freeze,
|
186
|
+
[0xE158].pack('U') => 'E158'.freeze,
|
187
|
+
[0xE159].pack('U') => 'E159'.freeze,
|
188
|
+
[0xE15A].pack('U') => 'E15A'.freeze,
|
189
|
+
[0xE201].pack('U') => 'E201'.freeze,
|
190
|
+
[0xE202].pack('U') => 'E202'.freeze,
|
191
|
+
[0xE203].pack('U') => 'E203'.freeze,
|
192
|
+
[0xE204].pack('U') => 'E204'.freeze,
|
193
|
+
[0xE205].pack('U') => 'E205'.freeze,
|
194
|
+
[0xE206].pack('U') => 'E206'.freeze,
|
195
|
+
[0xE207].pack('U') => 'E207'.freeze,
|
196
|
+
[0xE208].pack('U') => 'E208'.freeze,
|
197
|
+
[0xE209].pack('U') => 'E209'.freeze,
|
198
|
+
[0xE20A].pack('U') => 'E20A'.freeze,
|
199
|
+
[0xE20B].pack('U') => 'E20B'.freeze,
|
200
|
+
[0xE20C].pack('U') => 'E20C'.freeze,
|
201
|
+
[0xE20D].pack('U') => 'E20D'.freeze,
|
202
|
+
[0xE20E].pack('U') => 'E20E'.freeze,
|
203
|
+
[0xE20F].pack('U') => 'E20F'.freeze,
|
204
|
+
[0xE210].pack('U') => 'E210'.freeze,
|
205
|
+
[0xE211].pack('U') => 'E211'.freeze,
|
206
|
+
[0xE212].pack('U') => 'E212'.freeze,
|
207
|
+
[0xE213].pack('U') => 'E213'.freeze,
|
208
|
+
[0xE214].pack('U') => 'E214'.freeze,
|
209
|
+
[0xE215].pack('U') => 'E215'.freeze,
|
210
|
+
[0xE216].pack('U') => 'E216'.freeze,
|
211
|
+
[0xE217].pack('U') => 'E217'.freeze,
|
212
|
+
[0xE218].pack('U') => 'E218'.freeze,
|
213
|
+
[0xE219].pack('U') => 'E219'.freeze,
|
214
|
+
[0xE21A].pack('U') => 'E21A'.freeze,
|
215
|
+
[0xE21B].pack('U') => 'E21B'.freeze,
|
216
|
+
[0xE21C].pack('U') => 'E21C'.freeze,
|
217
|
+
[0xE21D].pack('U') => 'E21D'.freeze,
|
218
|
+
[0xE21E].pack('U') => 'E21E'.freeze,
|
219
|
+
[0xE21F].pack('U') => 'E21F'.freeze,
|
220
|
+
[0xE220].pack('U') => 'E220'.freeze,
|
221
|
+
[0xE221].pack('U') => 'E221'.freeze,
|
222
|
+
[0xE222].pack('U') => 'E222'.freeze,
|
223
|
+
[0xE223].pack('U') => 'E223'.freeze,
|
224
|
+
[0xE224].pack('U') => 'E224'.freeze,
|
225
|
+
[0xE225].pack('U') => 'E225'.freeze,
|
226
|
+
[0xE226].pack('U') => 'E226'.freeze,
|
227
|
+
[0xE227].pack('U') => 'E227'.freeze,
|
228
|
+
[0xE228].pack('U') => 'E228'.freeze,
|
229
|
+
[0xE229].pack('U') => 'E229'.freeze,
|
230
|
+
[0xE22A].pack('U') => 'E22A'.freeze,
|
231
|
+
[0xE22B].pack('U') => 'E22B'.freeze,
|
232
|
+
[0xE22C].pack('U') => 'E22C'.freeze,
|
233
|
+
[0xE22D].pack('U') => 'E22D'.freeze,
|
234
|
+
[0xE22E].pack('U') => 'E22E'.freeze,
|
235
|
+
[0xE22F].pack('U') => 'E22F'.freeze,
|
236
|
+
[0xE230].pack('U') => 'E230'.freeze,
|
237
|
+
[0xE231].pack('U') => 'E231'.freeze,
|
238
|
+
[0xE232].pack('U') => 'E232'.freeze,
|
239
|
+
[0xE233].pack('U') => 'E233'.freeze,
|
240
|
+
[0xE234].pack('U') => 'E234'.freeze,
|
241
|
+
[0xE235].pack('U') => 'E235'.freeze,
|
242
|
+
[0xE236].pack('U') => 'E236'.freeze,
|
243
|
+
[0xE237].pack('U') => 'E237'.freeze,
|
244
|
+
[0xE238].pack('U') => 'E238'.freeze,
|
245
|
+
[0xE239].pack('U') => 'E239'.freeze,
|
246
|
+
[0xE23A].pack('U') => 'E23A'.freeze,
|
247
|
+
[0xE23B].pack('U') => 'E23B'.freeze,
|
248
|
+
[0xE23C].pack('U') => 'E23C'.freeze,
|
249
|
+
[0xE23D].pack('U') => 'E23D'.freeze,
|
250
|
+
[0xE23E].pack('U') => 'E23E'.freeze,
|
251
|
+
[0xE23F].pack('U') => 'E23F'.freeze,
|
252
|
+
[0xE240].pack('U') => 'E240'.freeze,
|
253
|
+
[0xE241].pack('U') => 'E241'.freeze,
|
254
|
+
[0xE242].pack('U') => 'E242'.freeze,
|
255
|
+
[0xE243].pack('U') => 'E243'.freeze,
|
256
|
+
[0xE244].pack('U') => 'E244'.freeze,
|
257
|
+
[0xE245].pack('U') => 'E245'.freeze,
|
258
|
+
[0xE246].pack('U') => 'E246'.freeze,
|
259
|
+
[0xE247].pack('U') => 'E247'.freeze,
|
260
|
+
[0xE248].pack('U') => 'E248'.freeze,
|
261
|
+
[0xE249].pack('U') => 'E249'.freeze,
|
262
|
+
[0xE24A].pack('U') => 'E24A'.freeze,
|
263
|
+
[0xE24B].pack('U') => 'E24B'.freeze,
|
264
|
+
[0xE24C].pack('U') => 'E24C'.freeze,
|
265
|
+
[0xE24D].pack('U') => 'E24D'.freeze,
|
266
|
+
[0xE24E].pack('U') => 'E24E'.freeze,
|
267
|
+
[0xE24F].pack('U') => 'E24F'.freeze,
|
268
|
+
[0xE250].pack('U') => 'E250'.freeze,
|
269
|
+
[0xE251].pack('U') => 'E251'.freeze,
|
270
|
+
[0xE252].pack('U') => 'E252'.freeze,
|
271
|
+
[0xE253].pack('U') => 'E253'.freeze,
|
272
|
+
[0xE254].pack('U') => 'E254'.freeze,
|
273
|
+
[0xE255].pack('U') => 'E255'.freeze,
|
274
|
+
[0xE256].pack('U') => 'E256'.freeze,
|
275
|
+
[0xE257].pack('U') => 'E257'.freeze,
|
276
|
+
[0xE258].pack('U') => 'E258'.freeze,
|
277
|
+
[0xE259].pack('U') => 'E259'.freeze,
|
278
|
+
[0xE25A].pack('U') => 'E25A'.freeze,
|
279
|
+
[0xE301].pack('U') => 'E301'.freeze,
|
280
|
+
[0xE302].pack('U') => 'E302'.freeze,
|
281
|
+
[0xE303].pack('U') => 'E303'.freeze,
|
282
|
+
[0xE304].pack('U') => 'E304'.freeze,
|
283
|
+
[0xE305].pack('U') => 'E305'.freeze,
|
284
|
+
[0xE306].pack('U') => 'E306'.freeze,
|
285
|
+
[0xE307].pack('U') => 'E307'.freeze,
|
286
|
+
[0xE308].pack('U') => 'E308'.freeze,
|
287
|
+
[0xE309].pack('U') => 'E309'.freeze,
|
288
|
+
[0xE30A].pack('U') => 'E30A'.freeze,
|
289
|
+
[0xE30B].pack('U') => 'E30B'.freeze,
|
290
|
+
[0xE30C].pack('U') => 'E30C'.freeze,
|
291
|
+
[0xE30D].pack('U') => 'E30D'.freeze,
|
292
|
+
[0xE30E].pack('U') => 'E30E'.freeze,
|
293
|
+
[0xE30F].pack('U') => 'E30F'.freeze,
|
294
|
+
[0xE310].pack('U') => 'E310'.freeze,
|
295
|
+
[0xE311].pack('U') => 'E311'.freeze,
|
296
|
+
[0xE312].pack('U') => 'E312'.freeze,
|
297
|
+
[0xE313].pack('U') => 'E313'.freeze,
|
298
|
+
[0xE314].pack('U') => 'E314'.freeze,
|
299
|
+
[0xE315].pack('U') => 'E315'.freeze,
|
300
|
+
[0xE316].pack('U') => 'E316'.freeze,
|
301
|
+
[0xE317].pack('U') => 'E317'.freeze,
|
302
|
+
[0xE318].pack('U') => 'E318'.freeze,
|
303
|
+
[0xE319].pack('U') => 'E319'.freeze,
|
304
|
+
[0xE31A].pack('U') => 'E31A'.freeze,
|
305
|
+
[0xE31B].pack('U') => 'E31B'.freeze,
|
306
|
+
[0xE31C].pack('U') => 'E31C'.freeze,
|
307
|
+
[0xE31D].pack('U') => 'E31D'.freeze,
|
308
|
+
[0xE31E].pack('U') => 'E31E'.freeze,
|
309
|
+
[0xE31F].pack('U') => 'E31F'.freeze,
|
310
|
+
[0xE320].pack('U') => 'E320'.freeze,
|
311
|
+
[0xE321].pack('U') => 'E321'.freeze,
|
312
|
+
[0xE322].pack('U') => 'E322'.freeze,
|
313
|
+
[0xE323].pack('U') => 'E323'.freeze,
|
314
|
+
[0xE324].pack('U') => 'E324'.freeze,
|
315
|
+
[0xE325].pack('U') => 'E325'.freeze,
|
316
|
+
[0xE326].pack('U') => 'E326'.freeze,
|
317
|
+
[0xE327].pack('U') => 'E327'.freeze,
|
318
|
+
[0xE328].pack('U') => 'E328'.freeze,
|
319
|
+
[0xE329].pack('U') => 'E329'.freeze,
|
320
|
+
[0xE32A].pack('U') => 'E32A'.freeze,
|
321
|
+
[0xE32B].pack('U') => 'E32B'.freeze,
|
322
|
+
[0xE32C].pack('U') => 'E32C'.freeze,
|
323
|
+
[0xE32D].pack('U') => 'E32D'.freeze,
|
324
|
+
[0xE32E].pack('U') => 'E32E'.freeze,
|
325
|
+
[0xE32F].pack('U') => 'E32F'.freeze,
|
326
|
+
[0xE330].pack('U') => 'E330'.freeze,
|
327
|
+
[0xE331].pack('U') => 'E331'.freeze,
|
328
|
+
[0xE332].pack('U') => 'E332'.freeze,
|
329
|
+
[0xE333].pack('U') => 'E333'.freeze,
|
330
|
+
[0xE334].pack('U') => 'E334'.freeze,
|
331
|
+
[0xE335].pack('U') => 'E335'.freeze,
|
332
|
+
[0xE336].pack('U') => 'E336'.freeze,
|
333
|
+
[0xE337].pack('U') => 'E337'.freeze,
|
334
|
+
[0xE338].pack('U') => 'E338'.freeze,
|
335
|
+
[0xE339].pack('U') => 'E339'.freeze,
|
336
|
+
[0xE33A].pack('U') => 'E33A'.freeze,
|
337
|
+
[0xE33B].pack('U') => 'E33B'.freeze,
|
338
|
+
[0xE33C].pack('U') => 'E33C'.freeze,
|
339
|
+
[0xE33D].pack('U') => 'E33D'.freeze,
|
340
|
+
[0xE33E].pack('U') => 'E33E'.freeze,
|
341
|
+
[0xE33F].pack('U') => 'E33F'.freeze,
|
342
|
+
[0xE340].pack('U') => 'E340'.freeze,
|
343
|
+
[0xE341].pack('U') => 'E341'.freeze,
|
344
|
+
[0xE342].pack('U') => 'E342'.freeze,
|
345
|
+
[0xE343].pack('U') => 'E343'.freeze,
|
346
|
+
[0xE344].pack('U') => 'E344'.freeze,
|
347
|
+
[0xE345].pack('U') => 'E345'.freeze,
|
348
|
+
[0xE346].pack('U') => 'E346'.freeze,
|
349
|
+
[0xE347].pack('U') => 'E347'.freeze,
|
350
|
+
[0xE348].pack('U') => 'E348'.freeze,
|
351
|
+
[0xE349].pack('U') => 'E349'.freeze,
|
352
|
+
[0xE34A].pack('U') => 'E34A'.freeze,
|
353
|
+
[0xE34B].pack('U') => 'E34B'.freeze,
|
354
|
+
[0xE34C].pack('U') => 'E34C'.freeze,
|
355
|
+
[0xE34D].pack('U') => 'E34D'.freeze,
|
356
|
+
[0xE401].pack('U') => 'E401'.freeze,
|
357
|
+
[0xE402].pack('U') => 'E402'.freeze,
|
358
|
+
[0xE403].pack('U') => 'E403'.freeze,
|
359
|
+
[0xE404].pack('U') => 'E404'.freeze,
|
360
|
+
[0xE405].pack('U') => 'E405'.freeze,
|
361
|
+
[0xE406].pack('U') => 'E406'.freeze,
|
362
|
+
[0xE407].pack('U') => 'E407'.freeze,
|
363
|
+
[0xE408].pack('U') => 'E408'.freeze,
|
364
|
+
[0xE409].pack('U') => 'E409'.freeze,
|
365
|
+
[0xE40A].pack('U') => 'E40A'.freeze,
|
366
|
+
[0xE40B].pack('U') => 'E40B'.freeze,
|
367
|
+
[0xE40C].pack('U') => 'E40C'.freeze,
|
368
|
+
[0xE40D].pack('U') => 'E40D'.freeze,
|
369
|
+
[0xE40E].pack('U') => 'E40E'.freeze,
|
370
|
+
[0xE40F].pack('U') => 'E40F'.freeze,
|
371
|
+
[0xE410].pack('U') => 'E410'.freeze,
|
372
|
+
[0xE411].pack('U') => 'E411'.freeze,
|
373
|
+
[0xE412].pack('U') => 'E412'.freeze,
|
374
|
+
[0xE413].pack('U') => 'E413'.freeze,
|
375
|
+
[0xE414].pack('U') => 'E414'.freeze,
|
376
|
+
[0xE415].pack('U') => 'E415'.freeze,
|
377
|
+
[0xE416].pack('U') => 'E416'.freeze,
|
378
|
+
[0xE417].pack('U') => 'E417'.freeze,
|
379
|
+
[0xE418].pack('U') => 'E418'.freeze,
|
380
|
+
[0xE419].pack('U') => 'E419'.freeze,
|
381
|
+
[0xE41A].pack('U') => 'E41A'.freeze,
|
382
|
+
[0xE41B].pack('U') => 'E41B'.freeze,
|
383
|
+
[0xE41C].pack('U') => 'E41C'.freeze,
|
384
|
+
[0xE41D].pack('U') => 'E41D'.freeze,
|
385
|
+
[0xE41E].pack('U') => 'E41E'.freeze,
|
386
|
+
[0xE41F].pack('U') => 'E41F'.freeze,
|
387
|
+
[0xE420].pack('U') => 'E420'.freeze,
|
388
|
+
[0xE421].pack('U') => 'E421'.freeze,
|
389
|
+
[0xE422].pack('U') => 'E422'.freeze,
|
390
|
+
[0xE423].pack('U') => 'E423'.freeze,
|
391
|
+
[0xE424].pack('U') => 'E424'.freeze,
|
392
|
+
[0xE425].pack('U') => 'E425'.freeze,
|
393
|
+
[0xE426].pack('U') => 'E426'.freeze,
|
394
|
+
[0xE427].pack('U') => 'E427'.freeze,
|
395
|
+
[0xE428].pack('U') => 'E428'.freeze,
|
396
|
+
[0xE429].pack('U') => 'E429'.freeze,
|
397
|
+
[0xE42A].pack('U') => 'E42A'.freeze,
|
398
|
+
[0xE42B].pack('U') => 'E42B'.freeze,
|
399
|
+
[0xE42C].pack('U') => 'E42C'.freeze,
|
400
|
+
[0xE42D].pack('U') => 'E42D'.freeze,
|
401
|
+
[0xE42E].pack('U') => 'E42E'.freeze,
|
402
|
+
[0xE42F].pack('U') => 'E42F'.freeze,
|
403
|
+
[0xE430].pack('U') => 'E430'.freeze,
|
404
|
+
[0xE431].pack('U') => 'E431'.freeze,
|
405
|
+
[0xE432].pack('U') => 'E432'.freeze,
|
406
|
+
[0xE433].pack('U') => 'E433'.freeze,
|
407
|
+
[0xE434].pack('U') => 'E434'.freeze,
|
408
|
+
[0xE435].pack('U') => 'E435'.freeze,
|
409
|
+
[0xE436].pack('U') => 'E436'.freeze,
|
410
|
+
[0xE437].pack('U') => 'E437'.freeze,
|
411
|
+
[0xE438].pack('U') => 'E438'.freeze,
|
412
|
+
[0xE439].pack('U') => 'E439'.freeze,
|
413
|
+
[0xE43A].pack('U') => 'E43A'.freeze,
|
414
|
+
[0xE43B].pack('U') => 'E43B'.freeze,
|
415
|
+
[0xE43C].pack('U') => 'E43C'.freeze,
|
416
|
+
[0xE43D].pack('U') => 'E43D'.freeze,
|
417
|
+
[0xE43E].pack('U') => 'E43E'.freeze,
|
418
|
+
[0xE43F].pack('U') => 'E43F'.freeze,
|
419
|
+
[0xE440].pack('U') => 'E440'.freeze,
|
420
|
+
[0xE441].pack('U') => 'E441'.freeze,
|
421
|
+
[0xE442].pack('U') => 'E442'.freeze,
|
422
|
+
[0xE443].pack('U') => 'E443'.freeze,
|
423
|
+
[0xE444].pack('U') => 'E444'.freeze,
|
424
|
+
[0xE445].pack('U') => 'E445'.freeze,
|
425
|
+
[0xE446].pack('U') => 'E446'.freeze,
|
426
|
+
[0xE447].pack('U') => 'E447'.freeze,
|
427
|
+
[0xE448].pack('U') => 'E448'.freeze,
|
428
|
+
[0xE449].pack('U') => 'E449'.freeze,
|
429
|
+
[0xE44A].pack('U') => 'E44A'.freeze,
|
430
|
+
[0xE44B].pack('U') => 'E44B'.freeze,
|
431
|
+
[0xE44C].pack('U') => 'E44C'.freeze,
|
432
|
+
[0xE501].pack('U') => 'E501'.freeze,
|
433
|
+
[0xE502].pack('U') => 'E502'.freeze,
|
434
|
+
[0xE503].pack('U') => 'E503'.freeze,
|
435
|
+
[0xE504].pack('U') => 'E504'.freeze,
|
436
|
+
[0xE505].pack('U') => 'E505'.freeze,
|
437
|
+
[0xE506].pack('U') => 'E506'.freeze,
|
438
|
+
[0xE507].pack('U') => 'E507'.freeze,
|
439
|
+
[0xE508].pack('U') => 'E508'.freeze,
|
440
|
+
[0xE509].pack('U') => 'E509'.freeze,
|
441
|
+
[0xE50A].pack('U') => 'E50A'.freeze,
|
442
|
+
[0xE50B].pack('U') => 'E50B'.freeze,
|
443
|
+
[0xE50C].pack('U') => 'E50C'.freeze,
|
444
|
+
[0xE50D].pack('U') => 'E50D'.freeze,
|
445
|
+
[0xE50E].pack('U') => 'E50E'.freeze,
|
446
|
+
[0xE50F].pack('U') => 'E50F'.freeze,
|
447
|
+
[0xE510].pack('U') => 'E510'.freeze,
|
448
|
+
[0xE511].pack('U') => 'E511'.freeze,
|
449
|
+
[0xE512].pack('U') => 'E512'.freeze,
|
450
|
+
[0xE513].pack('U') => 'E513'.freeze,
|
451
|
+
[0xE514].pack('U') => 'E514'.freeze,
|
452
|
+
[0xE515].pack('U') => 'E515'.freeze,
|
453
|
+
[0xE516].pack('U') => 'E516'.freeze,
|
454
|
+
[0xE517].pack('U') => 'E517'.freeze,
|
455
|
+
[0xE518].pack('U') => 'E518'.freeze,
|
456
|
+
[0xE519].pack('U') => 'E519'.freeze,
|
457
|
+
[0xE51A].pack('U') => 'E51A'.freeze,
|
458
|
+
[0xE51B].pack('U') => 'E51B'.freeze,
|
459
|
+
[0xE51C].pack('U') => 'E51C'.freeze,
|
460
|
+
[0xE51D].pack('U') => 'E51D'.freeze,
|
461
|
+
[0xE51E].pack('U') => 'E51E'.freeze,
|
462
|
+
[0xE51F].pack('U') => 'E51F'.freeze,
|
463
|
+
[0xE520].pack('U') => 'E520'.freeze,
|
464
|
+
[0xE521].pack('U') => 'E521'.freeze,
|
465
|
+
[0xE522].pack('U') => 'E522'.freeze,
|
466
|
+
[0xE523].pack('U') => 'E523'.freeze,
|
467
|
+
[0xE524].pack('U') => 'E524'.freeze,
|
468
|
+
[0xE525].pack('U') => 'E525'.freeze,
|
469
|
+
[0xE526].pack('U') => 'E526'.freeze,
|
470
|
+
[0xE527].pack('U') => 'E527'.freeze,
|
471
|
+
[0xE528].pack('U') => 'E528'.freeze,
|
472
|
+
[0xE529].pack('U') => 'E529'.freeze,
|
473
|
+
[0xE52A].pack('U') => 'E52A'.freeze,
|
474
|
+
[0xE52B].pack('U') => 'E52B'.freeze,
|
475
|
+
[0xE52C].pack('U') => 'E52C'.freeze,
|
476
|
+
[0xE52D].pack('U') => 'E52D'.freeze,
|
477
|
+
[0xE52E].pack('U') => 'E52E'.freeze,
|
478
|
+
[0xE52F].pack('U') => 'E52F'.freeze,
|
479
|
+
[0xE530].pack('U') => 'E530'.freeze,
|
480
|
+
[0xE531].pack('U') => 'E531'.freeze,
|
481
|
+
[0xE532].pack('U') => 'E532'.freeze,
|
482
|
+
[0xE533].pack('U') => 'E533'.freeze,
|
483
|
+
[0xE534].pack('U') => 'E534'.freeze,
|
484
|
+
[0xE535].pack('U') => 'E535'.freeze,
|
485
|
+
[0xE536].pack('U') => 'E536'.freeze,
|
486
|
+
[0xE537].pack('U') => 'E537'.freeze,
|
487
|
+
[0xE538].pack('U') => 'E538'.freeze,
|
488
|
+
[0xE539].pack('U') => 'E539'.freeze,
|
489
|
+
[0xE53A].pack('U') => 'E53A'.freeze,
|
490
|
+
[0xE53B].pack('U') => 'E53B'.freeze,
|
491
|
+
[0xE53C].pack('U') => 'E53C'.freeze,
|
492
|
+
[0xE53D].pack('U') => 'E53D'.freeze,
|
493
|
+
[0xE53E].pack('U') => 'E53E'.freeze,
|
494
|
+
}.freeze
|
495
|
+
|
496
|
+
SOFTBANK_UNICODE_REGEXP = Regexp.union(*SOFTBANK_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
497
|
+
(lambda { |e|
|
498
|
+
Regexp.new(Regexp.escape(e,'u'),nil,'u')
|
499
|
+
}) :
|
500
|
+
(lambda { |e|
|
501
|
+
Regexp.new(Regexp.escape(e))
|
502
|
+
})))).freeze
|
503
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class E4U::Encode::Softbank::Utf8
|
2
|
+
%w(SOFTBANK_UNICODE SOFTBANK_UNICODE_REGEXP).each do |konst|
|
3
|
+
autoload konst, 'e4u/encode/softbank/utf8/softbank_unicode'
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.to_softbank_unicode str
|
7
|
+
puts "softbank_utf8_to_softbank_unicode" if $DEBUG
|
8
|
+
str.gsub(SOFTBANK_UNICODE_REGEXP) do |matched|
|
9
|
+
"&#x#{SOFTBANK_UNICODE[matched]};"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module E4U
|
2
|
+
module Encode
|
3
|
+
module Softbank
|
4
|
+
autoload :Cp932, 'e4u/encode/softbank/cp932'
|
5
|
+
autoload :Utf8, 'e4u/encode/softbank/utf8'
|
6
|
+
autoload :Unicode, 'e4u/encode/softbank/unicode'
|
7
|
+
|
8
|
+
def self.encode str, from, to
|
9
|
+
raise unless from[:carrier] == :softbank
|
10
|
+
if to[:carrier] == :softbank
|
11
|
+
encode_carrier(str, from, to)
|
12
|
+
else
|
13
|
+
encode_encoding(str, from, to)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def self.encode_carrier str, from, to
|
20
|
+
return encode_encoding(str, from, to) if from[:encoding] != :unicode
|
21
|
+
case to[:encoding]
|
22
|
+
when :sjis
|
23
|
+
from[:encoding] = :sjis
|
24
|
+
Unicode.to_cp932(Encoding.to_cp932(str))
|
25
|
+
when :webcode
|
26
|
+
from[:encoding] = :webcode
|
27
|
+
Unicode.to_webcode(Encoding.to_cp932(str))
|
28
|
+
when :utf8
|
29
|
+
from[:encoding] = :utf8
|
30
|
+
Unicode.to_utf8(str)
|
31
|
+
else
|
32
|
+
raise
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.encode_encoding str, from, to
|
37
|
+
case from[:encoding]
|
38
|
+
when :sjis
|
39
|
+
from[:encoding] = :unicode
|
40
|
+
Encoding.to_utf8(Cp932.to_softbank_unicode(str))
|
41
|
+
when :utf8
|
42
|
+
from[:encoding] = :unicode
|
43
|
+
Utf8.to_softbank_unicode(str)
|
44
|
+
when :unicode
|
45
|
+
from[:carrier] = :google
|
46
|
+
Unicode.to_google_unicode(str)
|
47
|
+
else
|
48
|
+
raise
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/e4u/encode.rb
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'e4u/encode/encoding'
|
2
|
+
require 'e4u/encode/docomo'
|
3
|
+
require 'e4u/encode/google'
|
4
|
+
require 'e4u/encode/kddi'
|
5
|
+
require 'e4u/encode/softbank'
|
6
|
+
|
7
|
+
module E4U
|
8
|
+
def self.encode str, *args
|
9
|
+
Encode.convert str, *args
|
10
|
+
end
|
11
|
+
|
12
|
+
module Encode
|
13
|
+
def self.convert str, *args
|
14
|
+
return nil unless str
|
15
|
+
return str if args.size == 0
|
16
|
+
raise ArgumentError if args.size > 2
|
17
|
+
from, to = parse_options(*args)
|
18
|
+
convert_(str, from, to)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
CARRIERS = [:docomo, :kddi, :softbank, :google,].freeze
|
24
|
+
ENCODINGS = [:sjis, :utf8, :unicode, :webcode].freeze
|
25
|
+
|
26
|
+
def self.parse_options *args
|
27
|
+
raise ArgumentError unless (1..2).include? args.size
|
28
|
+
|
29
|
+
option = args.first
|
30
|
+
if args.size > 1
|
31
|
+
lonely_option = option.is_a?(::Hash) ? args.pop : args.shift
|
32
|
+
option = args.first.update(lonely_option => lonely_option)
|
33
|
+
end
|
34
|
+
|
35
|
+
unless option.is_a? ::Hash
|
36
|
+
option = { option => option }
|
37
|
+
end
|
38
|
+
|
39
|
+
from, to = {}, {}
|
40
|
+
|
41
|
+
option.each do |k, v|
|
42
|
+
if CARRIERS.include?(k)
|
43
|
+
from[:carrier] = k
|
44
|
+
to[:carrier] = v
|
45
|
+
next
|
46
|
+
end
|
47
|
+
if ENCODINGS.include?(k)
|
48
|
+
from[:encoding] = k
|
49
|
+
to[:encoding] = v
|
50
|
+
next
|
51
|
+
end
|
52
|
+
raise ArgumentError
|
53
|
+
end
|
54
|
+
|
55
|
+
[from, to].each do |e|
|
56
|
+
raise ArgumentError unless e.has_key? :carrier
|
57
|
+
raise ArgumentError unless e.has_key? :encoding
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.convert_ str, from, to
|
62
|
+
return str if from == to
|
63
|
+
str = str.dup
|
64
|
+
case from[:carrier]
|
65
|
+
when :docomo
|
66
|
+
str = DoCoMo.encode(str, from, to)
|
67
|
+
when :google
|
68
|
+
str = Google.encode(str, from, to)
|
69
|
+
when :kddi
|
70
|
+
str = KDDI.encode(str, from, to)
|
71
|
+
when :softbank
|
72
|
+
str = Softbank.encode(str, from, to)
|
73
|
+
else
|
74
|
+
raise
|
75
|
+
end
|
76
|
+
convert_(str, from, to)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|