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
data/spec/kddi_spec.rb
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
3
|
+
|
4
|
+
describe E4U::Encode::KDDI do
|
5
|
+
|
6
|
+
describe "encode" do
|
7
|
+
before :all do
|
8
|
+
@from, @to = {}, {}
|
9
|
+
end
|
10
|
+
|
11
|
+
it "from[:carrier]が:kddi以外ならば例外が起こる" do
|
12
|
+
@from.update :carrier => :not_kddi
|
13
|
+
lambda {
|
14
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
15
|
+
}.should raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
context "to[:carrier]が:kddi以外の時" do
|
19
|
+
before :all do
|
20
|
+
@to.update :carrier => :not_kddi
|
21
|
+
end
|
22
|
+
|
23
|
+
before :each do
|
24
|
+
@from.update :carrier => :kddi
|
25
|
+
end
|
26
|
+
|
27
|
+
it "from[:encoding]が:utf8なら :unicodeに変換される" do
|
28
|
+
@from.update :encoding => :utf8
|
29
|
+
lambda {
|
30
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
31
|
+
}.should change { @from[:encoding] }.from(:utf8).to(:unicode)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "from[:encoding]が:sjisなら :unicodeに変換される" do
|
35
|
+
@from.update :encoding => :sjis
|
36
|
+
lambda {
|
37
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
38
|
+
}.should change { @from[:encoding] }.from(:sjis).to(:unicode)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "from[:encoding]が:unicodeなら from[:carrier]が:googleに変換される" do
|
42
|
+
@from.update :encoding => :unicode
|
43
|
+
lambda {
|
44
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
45
|
+
}.should change { @from[:carrier] }.from(:kddi).to(:google)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "to[:carrier]が:kddiの時" do
|
50
|
+
before :all do
|
51
|
+
@to.update :carrier => :kddi
|
52
|
+
end
|
53
|
+
|
54
|
+
before :each do
|
55
|
+
@from.update :carrier => :kddi
|
56
|
+
end
|
57
|
+
|
58
|
+
it "from[:encoding]が:sjisならば、:unicodeに変換される" do
|
59
|
+
@from.update :encoding => :sjis
|
60
|
+
lambda {
|
61
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
62
|
+
}.should change { @from[:encoding] }.from(:sjis).to(:unicode)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "from[:encoding]が:utf8ならば、:unicodeに変換される" do
|
66
|
+
@from.update :encoding => :utf8
|
67
|
+
lambda {
|
68
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
69
|
+
}.should change { @from[:encoding] }.from(:utf8).to(:unicode)
|
70
|
+
end
|
71
|
+
|
72
|
+
context "from[:encoding]が:unicodeの時" do
|
73
|
+
before :each do
|
74
|
+
@from.update :encoding => :unicode
|
75
|
+
end
|
76
|
+
|
77
|
+
it "to[:encoding]が:sjisならば、from[:encoding]も:sjisになる" do
|
78
|
+
@to.update :encoding => :sjis
|
79
|
+
lambda {
|
80
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
81
|
+
}.should change { @from[:encoding] }.from(:unicode).to(:sjis)
|
82
|
+
end
|
83
|
+
|
84
|
+
it "to[:encoding]が:utf8ならば、from[:encoding]も:utf8になる" do
|
85
|
+
@to.update :encoding => :utf8
|
86
|
+
lambda {
|
87
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
88
|
+
}.should change { @from[:encoding] }.from(:unicode).to(:utf8)
|
89
|
+
end
|
90
|
+
|
91
|
+
it "to[:encoding]が:sjis、:utf8以外ならば、例外が起こる" do
|
92
|
+
@to.update :encoding => :other_encoding
|
93
|
+
lambda {
|
94
|
+
E4U::Encode::KDDI.encode('', @from, @to)
|
95
|
+
}.should raise_error
|
96
|
+
end
|
97
|
+
|
98
|
+
it "to[:encoding]が:sjisならば、CP932な文字列が返ってくる" do
|
99
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
100
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
101
|
+
@to.update :encoding => :sjis
|
102
|
+
E4U::Encode::KDDI.encode(str, @from, @to).encoding.should == Encoding::Windows_31J
|
103
|
+
# lambda {
|
104
|
+
# E4U::Encode::KDDI.encode(str, @from, @to)
|
105
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::Windows_31J)
|
106
|
+
end
|
107
|
+
|
108
|
+
it "to[:encoding]が:utf8ならば、UTF-8な文字列が返ってくる" do
|
109
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
110
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
111
|
+
@to.update :encoding => :utf8
|
112
|
+
E4U::Encode::KDDI.encode(str, @from, @to).encoding.should == Encoding::UTF_8
|
113
|
+
# lambda {
|
114
|
+
# E4U::Encode::KDDI.encode(str, @from, @to)
|
115
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::UTF_8)
|
116
|
+
end
|
117
|
+
|
118
|
+
it "to[:encoding]が:unicodeならば、UTF-8な文字列が返ってくる" do
|
119
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
120
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
121
|
+
@to.update :encoding => :utf8
|
122
|
+
E4U::Encode::KDDI.encode(str, @from, @to).encoding.should == Encoding::UTF_8
|
123
|
+
# lambda {
|
124
|
+
# E4U::Encode::KDDI.encode(str, @from, @to)
|
125
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::UTF_8)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -0,0 +1,147 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
3
|
+
|
4
|
+
describe E4U::Encode::Softbank do
|
5
|
+
|
6
|
+
describe "encode" do
|
7
|
+
before :all do
|
8
|
+
@from, @to = {}, {}
|
9
|
+
end
|
10
|
+
|
11
|
+
it "from[:carrier]が:softbank以外ならば例外が起こる" do
|
12
|
+
@from.update :carrier => :not_softbank
|
13
|
+
lambda {
|
14
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
15
|
+
}.should raise_error
|
16
|
+
end
|
17
|
+
|
18
|
+
context "to[:carrier]が:softbank以外の時" do
|
19
|
+
before :all do
|
20
|
+
@to.update :carrier => :not_softbank
|
21
|
+
end
|
22
|
+
|
23
|
+
before :each do
|
24
|
+
@from.update :carrier => :softbank
|
25
|
+
end
|
26
|
+
|
27
|
+
it "from[:encoding]が:utf8なら :unicodeに変換される" do
|
28
|
+
@from.update :encoding => :utf8
|
29
|
+
lambda {
|
30
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
31
|
+
}.should change { @from[:encoding] }.from(:utf8).to(:unicode)
|
32
|
+
end
|
33
|
+
|
34
|
+
it "from[:encoding]が:sjisなら :unicodeに変換される" do
|
35
|
+
@from.update :encoding => :sjis
|
36
|
+
lambda {
|
37
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
38
|
+
}.should change { @from[:encoding] }.from(:sjis).to(:unicode)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "from[:encoding]が:unicodeなら from[:carrier]が:googleに変換される" do
|
42
|
+
@from.update :encoding => :unicode
|
43
|
+
lambda {
|
44
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
45
|
+
}.should change { @from[:carrier] }.from(:softbank).to(:google)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "to[:carrier]が:softbankの時" do
|
50
|
+
before :all do
|
51
|
+
@to.update :carrier => :softbank
|
52
|
+
end
|
53
|
+
|
54
|
+
before :each do
|
55
|
+
@from.update :carrier => :softbank
|
56
|
+
end
|
57
|
+
|
58
|
+
it "from[:encoding]が:sjisならば、:unicodeに変換される" do
|
59
|
+
@from.update :encoding => :sjis
|
60
|
+
lambda {
|
61
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
62
|
+
}.should change { @from[:encoding] }.from(:sjis).to(:unicode)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "from[:encoding]が:utf8ならば、:unicodeに変換される" do
|
66
|
+
@from.update :encoding => :utf8
|
67
|
+
lambda {
|
68
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
69
|
+
}.should change { @from[:encoding] }.from(:utf8).to(:unicode)
|
70
|
+
end
|
71
|
+
|
72
|
+
context "from[:encoding]が:unicodeの時" do
|
73
|
+
before :each do
|
74
|
+
@from.update :encoding => :unicode
|
75
|
+
end
|
76
|
+
|
77
|
+
it "to[:encoding]が:sjisならば、from[:encoding]も:sjisになる" do
|
78
|
+
@to.update :encoding => :sjis
|
79
|
+
lambda {
|
80
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
81
|
+
}.should change { @from[:encoding] }.from(:unicode).to(:sjis)
|
82
|
+
end
|
83
|
+
|
84
|
+
it "to[:encoding]が:utf8ならば、from[:encoding]も:utf8になる" do
|
85
|
+
@to.update :encoding => :utf8
|
86
|
+
lambda {
|
87
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
88
|
+
}.should change { @from[:encoding] }.from(:unicode).to(:utf8)
|
89
|
+
end
|
90
|
+
|
91
|
+
it "to[:encoding]が:webcodeならば、from[:encoding]も:webcodeになる" do
|
92
|
+
@to.update :encoding => :webcode
|
93
|
+
lambda {
|
94
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
95
|
+
}.should change { @from[:encoding] }.from(:unicode).to(:webcode)
|
96
|
+
end
|
97
|
+
|
98
|
+
it "to[:encoding]が:sjis、:utf8、:webcode以外ならば、例外が起こる" do
|
99
|
+
@to.update :encoding => :other_encoding
|
100
|
+
lambda {
|
101
|
+
E4U::Encode::Softbank.encode('', @from, @to)
|
102
|
+
}.should raise_error
|
103
|
+
end
|
104
|
+
|
105
|
+
it "to[:encoding]が:sjisならば、CP932な文字列が返ってくる" do
|
106
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
107
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
108
|
+
@to.update :encoding => :sjis
|
109
|
+
E4U::Encode::Softbank.encode(str, @from, @to).encoding.should == Encoding::Windows_31J
|
110
|
+
# lambda {
|
111
|
+
# E4U::Encode::Softbank.encode(str, @from, @to)
|
112
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::Windows_31J)
|
113
|
+
end
|
114
|
+
|
115
|
+
it "to[:encoding]が:webcodeならば、CP932な文字列が返ってくる" do
|
116
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
117
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
118
|
+
@to.update :encoding => :webcode
|
119
|
+
E4U::Encode::Softbank.encode(str, @from, @to).encoding.should == Encoding::Windows_31J
|
120
|
+
# lambda {
|
121
|
+
# E4U::Encode::Softbank.encode(str, @from, @to)
|
122
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::Windows_31J)
|
123
|
+
end
|
124
|
+
|
125
|
+
it "to[:encoding]が:utf8ならば、UTF-8な文字列が返ってくる" do
|
126
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
127
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
128
|
+
@to.update :encoding => :utf8
|
129
|
+
E4U::Encode::Softbank.encode(str, @from, @to).encoding.should == Encoding::UTF_8
|
130
|
+
# lambda {
|
131
|
+
# E4U::Encode::Softbank.encode(str, @from, @to)
|
132
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::UTF_8)
|
133
|
+
end
|
134
|
+
|
135
|
+
it "to[:encoding]が:unicodeならば、UTF-8な文字列が返ってくる" do
|
136
|
+
pending "only RUBY_VERSION >= '1.9.1'" unless RUBY_VERSION >= '1.9.1'
|
137
|
+
str = "とある文字列の符号化方式<エンコーディング>"
|
138
|
+
@to.update :encoding => :utf8
|
139
|
+
E4U::Encode::Softbank.encode(str, @from, @to).encoding.should == Encoding::UTF_8
|
140
|
+
# lambda {
|
141
|
+
# E4U::Encode::Softbank.encode(str, @from, @to)
|
142
|
+
# }.should change(str, :encoding).from(Encoding::UTF_8).to(Encoding::UTF_8)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
require 'e4u/encode'
|
4
|
+
require 'spec'
|
5
|
+
require 'spec/autorun'
|
6
|
+
|
7
|
+
require 'nkf'
|
8
|
+
require 'rubygems'
|
9
|
+
require 'e4u'
|
10
|
+
|
11
|
+
Spec::Runner.configure do |config|
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_docomo_cp932 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module DoCoMo
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::DoCoMo::Cp932
|
15
|
+
DOCOMO_UNICODE = {
|
16
|
+
<% E4U.docomo.each do |e| -%>
|
17
|
+
<% docomo = e.docomo_emoji -%>
|
18
|
+
((s = [0x<%= "%X" % docomo.sjis.unpack('n') %>].pack('n')) && RUBY_VERSION < '1.9.1' ? s : s.force_encoding('CP932')) => '<%= docomo.unicode.upcase %>'.freeze,
|
19
|
+
<% end -%>
|
20
|
+
}.freeze
|
21
|
+
|
22
|
+
DOCOMO_UNICODE_REGEXP = Regexp.union(*DOCOMO_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
23
|
+
(lambda { |e|
|
24
|
+
Regexp.new(Regexp.escape(e,'s'),nil,'s')
|
25
|
+
}) :
|
26
|
+
(lambda { |e|
|
27
|
+
Regexp.new(Regexp.escape(e))
|
28
|
+
})))).freeze
|
29
|
+
end
|
30
|
+
ERB
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_docomo_unicode target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
module E4U
|
8
|
+
module Encode
|
9
|
+
module DoCoMo
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
class E4U::Encode::DoCoMo::Unicode
|
14
|
+
GOOGLE_UNICODE = {
|
15
|
+
<% E4U.docomo.each do |e| -%>
|
16
|
+
<% docomo = e.docomo_emoji -%>
|
17
|
+
<% google = E4U.google.find{|emoji| docomo.unicode == emoji[:docomo] } -%>
|
18
|
+
'<%= docomo.unicode.upcase %>' => '<%= google[:google].upcase %>'.freeze,
|
19
|
+
<% end -%>
|
20
|
+
}.freeze
|
21
|
+
|
22
|
+
GOOGLE_UNICODE_REGEXP = Regexp.new("&#x((?i:#{GOOGLE_UNICODE.keys.join('|')}));").freeze
|
23
|
+
end
|
24
|
+
ERB
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_docomo_utf8 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
module E4U
|
8
|
+
module Encode
|
9
|
+
module DoCoMo
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
class E4U::Encode::DoCoMo::Utf8
|
14
|
+
DOCOMO_UNICODE = {
|
15
|
+
<% E4U.docomo.each do |e| -%>
|
16
|
+
<% docomo = e.docomo_emoji -%>
|
17
|
+
[0x<%= docomo.unicode %>].pack('U') => '<%= docomo.unicode.upcase %>'.freeze,
|
18
|
+
<% end -%>
|
19
|
+
}.freeze
|
20
|
+
|
21
|
+
DOCOMO_UNICODE_REGEXP = Regexp.union(*DOCOMO_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
22
|
+
(lambda { |e|
|
23
|
+
Regexp.new(Regexp.escape(e,'u'),nil,'u')
|
24
|
+
}) :
|
25
|
+
(lambda { |e|
|
26
|
+
Regexp.new(Regexp.escape(e))
|
27
|
+
})))).freeze
|
28
|
+
end
|
29
|
+
ERB
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_google_unicode_docomo target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
# -*- coding:utf-8 -*-
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module Google
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::Google::Unicode
|
15
|
+
DOCOMO_UNICODE = {
|
16
|
+
<% E4U.google.each do |data| -%>
|
17
|
+
<% next unless data[:google] -%>
|
18
|
+
<% if data[:docomo] -%>
|
19
|
+
<% google = data.google_emoji -%>
|
20
|
+
<% next if google.alternate? -%>
|
21
|
+
<% docomo = data.docomo_emoji -%>
|
22
|
+
'<%= google.google %>' => "<%= docomo.utf8.unpack('U*').map{ |e| "&#x%04X;" % e }.join %>".freeze,
|
23
|
+
<% else -%>
|
24
|
+
<% google = data.google_emoji -%>
|
25
|
+
<% text = google.text_fallback || google.text_repr || [0x3013].pack('U'); -%>
|
26
|
+
'<%= google.google %>' => "<%= text %>".freeze,
|
27
|
+
<% end -%>
|
28
|
+
<% end -%>
|
29
|
+
}.freeze
|
30
|
+
|
31
|
+
DOCOMO_UNICODE_REGEXP = Regexp.new("&#x((?i:#{DOCOMO_UNICODE.keys.join('|')}));").freeze
|
32
|
+
end
|
33
|
+
ERB
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_google_unicode_kddi target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
# -*- coding:utf-8 -*-
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module Google
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::Google::Unicode
|
15
|
+
KDDI_UNICODE = {
|
16
|
+
<% E4U.google.each do |data| -%>
|
17
|
+
<% next unless data[:google] -%>
|
18
|
+
<% if data[:kddi] -%>
|
19
|
+
<% google = data.google_emoji -%>
|
20
|
+
<% next if google.alternate? -%>
|
21
|
+
<% kddi = data.kddiweb_emoji -%>
|
22
|
+
'<%= google.google %>' => "<%= kddi.utf8.unpack('U*').map{ |e| "&#x%04X;" % e }.join %>".freeze,
|
23
|
+
<% else -%>
|
24
|
+
<% google = data.google_emoji -%>
|
25
|
+
<% text = google.text_fallback || google.text_repr || [0x3013].pack('U') -%>
|
26
|
+
'<%= google.google %>' => "<%= text %>".freeze,
|
27
|
+
<% end -%>
|
28
|
+
<% end -%>
|
29
|
+
}.freeze
|
30
|
+
|
31
|
+
KDDI_UNICODE_REGEXP = Regexp.new("&#x((?i:#{KDDI_UNICODE.keys.join('|')}));").freeze
|
32
|
+
end
|
33
|
+
ERB
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_google_unicode_softbank target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
# -*- coding:utf-8 -*-
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module Google
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::Google::Unicode
|
15
|
+
SOFTBANK_UNICODE = {
|
16
|
+
<% E4U.google.each do |data| -%>
|
17
|
+
<% next unless data[:google] -%>
|
18
|
+
<% if data[:softbank] -%>
|
19
|
+
<% google = data.google_emoji -%>
|
20
|
+
<% next if google.alternate? -%>
|
21
|
+
<% softbank = data.softbank_emoji -%>
|
22
|
+
'<%= google.google %>' => "<%= softbank.utf8.unpack('U*').map{ |e| "&#x%04X;" % e }.join %>".freeze,
|
23
|
+
<% else -%>
|
24
|
+
<% google = data.google_emoji -%>
|
25
|
+
<% text = google.text_fallback || google.text_repr || [0x3013].pack('U') -%>
|
26
|
+
'<%= google.google %>' => "<%= text %>".freeze,
|
27
|
+
<% end -%>
|
28
|
+
<% end -%>
|
29
|
+
}.freeze
|
30
|
+
|
31
|
+
SOFTBANK_UNICODE_REGEXP = Regexp.new("&#x((?i:#{SOFTBANK_UNICODE.keys.join('|')}));").freeze
|
32
|
+
end
|
33
|
+
ERB
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_google_utf8 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
module E4U
|
8
|
+
module Encode
|
9
|
+
module Google
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
class E4U::Encode::Google::Utf8
|
14
|
+
UNICODE = {
|
15
|
+
<% E4U.google.each do |google| -%>
|
16
|
+
<% next unless google[:google] -%>
|
17
|
+
<% next if google.google_emoji.alternate? -%>
|
18
|
+
[0x<%= google[:google] %>].pack('U') => '<%= google[:google] %>'.freeze,
|
19
|
+
<% end -%>
|
20
|
+
}.freeze
|
21
|
+
|
22
|
+
UNICODE_REGEXP = Regexp.union(*UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
23
|
+
(lambda { |e|
|
24
|
+
Regexp.new(Regexp.escape(e,'u'),nil,'u')
|
25
|
+
}) :
|
26
|
+
(lambda { |e|
|
27
|
+
Regexp.new(Regexp.escape(e))
|
28
|
+
})))).freeze
|
29
|
+
end
|
30
|
+
ERB
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_kddi_cp932 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
require 'e4u/encode/docomo/cp932/docomo_unicode'
|
8
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
9
|
+
module E4U
|
10
|
+
module Encode
|
11
|
+
module KDDI
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
class E4U::Encode::KDDI::Cp932
|
16
|
+
KDDI_UNICODE = {
|
17
|
+
<% E4U.kddi.each do |e| -%>
|
18
|
+
<% kddi = e.kddiweb_emoji -%>
|
19
|
+
((s = [0x<%= "%X" % kddi.sjis.unpack('n') %>].pack('n')) && RUBY_VERSION < '1.9.1' ? s : s.force_encoding('CP932')) => '<%= kddi.unicode.upcase %>'.freeze,
|
20
|
+
<% end -%>
|
21
|
+
}.merge(E4U::Encode::DoCoMo::Cp932::DOCOMO_UNICODE).freeze
|
22
|
+
|
23
|
+
KDDI_UNICODE_REGEXP = Regexp.union(*KDDI_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
24
|
+
(lambda { |e|
|
25
|
+
Regexp.new(Regexp.escape(e,'s'),nil,'s')
|
26
|
+
}) :
|
27
|
+
(lambda { |e|
|
28
|
+
Regexp.new(Regexp.escape(e))
|
29
|
+
})))).freeze
|
30
|
+
end
|
31
|
+
ERB
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_kddi_unicode target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
require 'e4u/encode/docomo/unicode/google_unicode'
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module KDDI
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::KDDI::Unicode
|
15
|
+
GOOGLE_UNICODE = {
|
16
|
+
<% E4U.kddi.each do |e| -%>
|
17
|
+
<% kddi = e.kddi_emoji -%>
|
18
|
+
<% kddiweb = e.kddiweb_emoji -%>
|
19
|
+
<% google = E4U.google.find{|emoji| kddi.unicode == emoji[:kddi] } -%>
|
20
|
+
'<%= kddiweb.unicode.upcase %>' => '<%= google[:google].upcase %>'.freeze,
|
21
|
+
<% end -%>
|
22
|
+
}.merge(E4U::Encode::DoCoMo::Unicode::GOOGLE_UNICODE).freeze
|
23
|
+
|
24
|
+
GOOGLE_UNICODE_REGEXP = Regexp.new("&#x((?i:#{GOOGLE_UNICODE.keys.join('|')}));").freeze
|
25
|
+
end
|
26
|
+
ERB
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_kddi_utf8 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
require 'e4u/encode/docomo/utf8/docomo_unicode'
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module KDDI
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::KDDI::Utf8
|
15
|
+
KDDI_UNICODE = {
|
16
|
+
<% E4U.kddi.each do |e| -%>
|
17
|
+
<% kddi = e.kddiweb_emoji -%>
|
18
|
+
<% kddiapp = e.kddi_emoji -%>
|
19
|
+
[0x<%= kddi.unicode %>].pack('U') => '<%= kddi.unicode.upcase %>'.freeze,
|
20
|
+
[0x<%= kddiapp.unicode %>].pack('U') => '<%= kddi.unicode.upcase %>'.freeze,
|
21
|
+
<% end -%>
|
22
|
+
}.merge(E4U::Encode::DoCoMo::Utf8::DOCOMO_UNICODE).freeze
|
23
|
+
|
24
|
+
KDDI_UNICODE_REGEXP = Regexp.union(*KDDI_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
25
|
+
(lambda { |e|
|
26
|
+
Regexp.new(Regexp.escape(e,'u'),nil,'u')
|
27
|
+
}) :
|
28
|
+
(lambda { |e|
|
29
|
+
Regexp.new(Regexp.escape(e))
|
30
|
+
})))).freeze
|
31
|
+
end
|
32
|
+
ERB
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/task_helper')
|
2
|
+
module Update
|
3
|
+
class Table
|
4
|
+
def self.mk_softbank_cp932 target
|
5
|
+
File.open(target, 'wb') do |out|
|
6
|
+
out.print ERB.new(<<'ERB', nil, '-').result
|
7
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9.1'
|
8
|
+
module E4U
|
9
|
+
module Encode
|
10
|
+
module Softbank
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
class E4U::Encode::Softbank::Cp932
|
15
|
+
SOFTBANK_UNICODE = {
|
16
|
+
<% E4U.softbank.each do |e| -%>
|
17
|
+
<% softbank = e.softbank_emoji -%>
|
18
|
+
((s = [0x<%= "%X" % softbank.sjis.unpack('n') %>].pack('n')) && RUBY_VERSION < '1.9.1' ? s : s.force_encoding('CP932')) => '<%= softbank.unicode.upcase %>'.freeze,
|
19
|
+
<% end -%>
|
20
|
+
}.freeze
|
21
|
+
|
22
|
+
SOFTBANK_UNICODE_REGEXP = Regexp.union(*SOFTBANK_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
|
23
|
+
(lambda { |e|
|
24
|
+
Regexp.new(Regexp.escape(e,'s'),nil,'s')
|
25
|
+
}) :
|
26
|
+
(lambda { |e|
|
27
|
+
Regexp.new(Regexp.escape(e))
|
28
|
+
})))).freeze
|
29
|
+
end
|
30
|
+
ERB
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|