e4u-encode 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +17 -0
  5. data/Rakefile +50 -0
  6. data/VERSION +1 -0
  7. data/lib/e4u/encode/docomo/cp932/docomo_unicode.rb +301 -0
  8. data/lib/e4u/encode/docomo/cp932.rb +12 -0
  9. data/lib/e4u/encode/docomo/unicode/cp932.rb +5 -0
  10. data/lib/e4u/encode/docomo/unicode/google_unicode.rb +294 -0
  11. data/lib/e4u/encode/docomo/unicode/utf8.rb +5 -0
  12. data/lib/e4u/encode/docomo/unicode.rb +34 -0
  13. data/lib/e4u/encode/docomo/utf8/docomo_unicode.rb +300 -0
  14. data/lib/e4u/encode/docomo/utf8.rb +12 -0
  15. data/lib/e4u/encode/docomo.rb +50 -0
  16. data/lib/e4u/encode/encoding.rb +25 -0
  17. data/lib/e4u/encode/google/unicode/docomo_unicode.rb +818 -0
  18. data/lib/e4u/encode/google/unicode/kddi_unicode.rb +818 -0
  19. data/lib/e4u/encode/google/unicode/softbank_unicode.rb +818 -0
  20. data/lib/e4u/encode/google/unicode/utf8.rb +5 -0
  21. data/lib/e4u/encode/google/unicode.rb +45 -0
  22. data/lib/e4u/encode/google/utf8/unicode.rb +823 -0
  23. data/lib/e4u/encode/google/utf8.rb +12 -0
  24. data/lib/e4u/encode/google.rb +47 -0
  25. data/lib/e4u/encode/kddi/cp932/kddi_unicode.rb +667 -0
  26. data/lib/e4u/encode/kddi/cp932.rb +12 -0
  27. data/lib/e4u/encode/kddi/unicode/cp932.rb +5 -0
  28. data/lib/e4u/encode/kddi/unicode/google_unicode.rb +660 -0
  29. data/lib/e4u/encode/kddi/unicode/utf8.rb +5 -0
  30. data/lib/e4u/encode/kddi/unicode.rb +34 -0
  31. data/lib/e4u/encode/kddi/utf8/kddi_unicode.rb +1313 -0
  32. data/lib/e4u/encode/kddi/utf8.rb +12 -0
  33. data/lib/e4u/encode/kddi.rb +50 -0
  34. data/lib/e4u/encode/softbank/cp932/softbank_unicode.rb +504 -0
  35. data/lib/e4u/encode/softbank/cp932.rb +32 -0
  36. data/lib/e4u/encode/softbank/unicode/cp932.rb +5 -0
  37. data/lib/e4u/encode/softbank/unicode/google_unicode.rb +497 -0
  38. data/lib/e4u/encode/softbank/unicode/utf8.rb +5 -0
  39. data/lib/e4u/encode/softbank/unicode.rb +45 -0
  40. data/lib/e4u/encode/softbank/utf8/softbank_unicode.rb +503 -0
  41. data/lib/e4u/encode/softbank/utf8.rb +12 -0
  42. data/lib/e4u/encode/softbank.rb +53 -0
  43. data/lib/e4u/encode.rb +79 -0
  44. data/spec/docomo_spec.rb +230 -0
  45. data/spec/e4u_spec.rb +173 -0
  46. data/spec/encode_spec.rb +78 -0
  47. data/spec/encoding_spec.rb +47 -0
  48. data/spec/google_spec.rb +86 -0
  49. data/spec/kddi_spec.rb +130 -0
  50. data/spec/softbank_spec.rb +147 -0
  51. data/spec/spec.opts +4 -0
  52. data/spec/spec_helper.rb +13 -0
  53. data/tasks/mk_docomo_cp932.rb +34 -0
  54. data/tasks/mk_docomo_unicode.rb +28 -0
  55. data/tasks/mk_docomo_utf8.rb +33 -0
  56. data/tasks/mk_google_unicode_docomo.rb +37 -0
  57. data/tasks/mk_google_unicode_kddi.rb +37 -0
  58. data/tasks/mk_google_unicode_softbank.rb +37 -0
  59. data/tasks/mk_google_utf8.rb +34 -0
  60. data/tasks/mk_kddi_cp932.rb +35 -0
  61. data/tasks/mk_kddi_unicode.rb +30 -0
  62. data/tasks/mk_kddi_utf8.rb +36 -0
  63. data/tasks/mk_softbank_cp932.rb +34 -0
  64. data/tasks/mk_softbank_unicode.rb +28 -0
  65. data/tasks/mk_softbank_utf8.rb +33 -0
  66. data/tasks/tables.rake +70 -0
  67. data/tasks/task_helper.rb +3 -0
  68. 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,5 @@
1
+ require 'e4u/encode/docomo/utf8/docomo_unicode'
2
+ class E4U::Encode::DoCoMo::Unicode
3
+ UTF8 = E4U::Encode::DoCoMo::Utf8::DOCOMO_UNICODE.invert.freeze
4
+ UTF8_REGEXP = Regexp.new("&#x((?i:#{UTF8.keys.join('|')}));").freeze
5
+ 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