Class: E4U::Encode::DoCoMo::Unicode

Inherits:
Object
  • Object
show all
Defined in:
lib/e4u/encode/docomo/unicode.rb,
lib/e4u/encode/docomo/unicode/utf8.rb,
lib/e4u/encode/docomo/unicode/cp932.rb,
lib/e4u/encode/docomo/unicode/google_unicode.rb

Constant Summary collapse

UTF8 =
E4U::Encode::DoCoMo::Utf8::DOCOMO_UNICODE.invert.freeze
UTF8_REGEXP =
Regexp.new("&#x((?i:#{UTF8.keys.join('|')}));").freeze
CP932 =
E4U::Encode::DoCoMo::Cp932::DOCOMO_UNICODE.invert.freeze
CP932_REGEXP =
Regexp.new("&#x((?i:#{CP932.keys.join('|')}));").freeze
GOOGLE_UNICODE =
{
  '' => '󾀀'.freeze,
  '' => '󾀏'.freeze,
  '' => '󾀁'.freeze,
  '' => '󾀂'.freeze,
  '' => '󾀃'.freeze,
  '' => '󾀄'.freeze,
  '' => '󾀅'.freeze,
  '' => '󾀆'.freeze,
  '' => '󾀇'.freeze,
  '' => '󾀫'.freeze,
  '' => '󾀬'.freeze,
  '' => '󾀭'.freeze,
  '' => '󾀮'.freeze,
  '' => '󾀯'.freeze,
  '' => '󾀰'.freeze,
  '' => '󾀱'.freeze,
  '' => '󾀲'.freeze,
  '' => '󾀳'.freeze,
  '' => '󾀴'.freeze,
  '' => '󾀵'.freeze,
  '' => '󾀶'.freeze,
  '' => '󾟐'.freeze,
  '' => '󾟑'.freeze,
  '' => '󾟒'.freeze,
  '' => '󾟓'.freeze,
  '' => '󾟔'.freeze,
  '' => '󾟕'.freeze,
  '' => '󾟖'.freeze,
  '' => '󾟗'.freeze,
  '' => '󾔢'.freeze,
  '' => '󾟟'.freeze,
  '' => '󾟡'.freeze,
  '' => '󾟢'.freeze,
  '' => '󾟤'.freeze,
  '' => '󾟥'.freeze,
  '' => '󾟦'.freeze,
  '' => '󾟨'.freeze,
  '' => '󾟩'.freeze,
  '' => '󾒰'.freeze,
  '' => '󾒲'.freeze,
  '' => '󾒳'.freeze,
  '' => '󾒴'.freeze,
  '' => '󾒵'.freeze,
  '' => '󾒶'.freeze,
  '' => '󾒷'.freeze,
  '' => '󾒸'.freeze,
  '' => '󾒹'.freeze,
  '' => '󾟵'.freeze,
  '' => '󾟶'.freeze,
  '' => '󾟷'.freeze,
  '' => '󾔆'.freeze,
  '' => '󾦀'.freeze,
  '' => '󾦁'.freeze,
  '' => '󾦂'.freeze,
  '' => '󾦃'.freeze,
  '' => '󾥠'.freeze,
  '' => '󾓖'.freeze,
  '' => '󾔾'.freeze,
  '' => '󾠀'.freeze,
  '' => '󾠁'.freeze,
  '' => '󾫰'.freeze,
  '' => '󾟼'.freeze,
  '' => '󾠃'.freeze,
  '' => '󾠄'.freeze,
  '' => '󾠅'.freeze,
  '' => '󾠆'.freeze,
  '' => '󾠇'.freeze,
  '' => '󾬞'.freeze,
  '' => '󾬟'.freeze,
  '' => '󾓯'.freeze,
  '' => '󾓰'.freeze,
  '' => '󾕆'.freeze,
  '' => '󾔏'.freeze,
  '' => '󾔐'.freeze,
  '' => '󾔑'.freeze,
  '' => '󾔣'.freeze,
  '' => '󾔥'.freeze,
  '' => '󾔧'.freeze,
  '' => '󾠜'.freeze,
  '' => '󾠊'.freeze,
  '' => '󾠝'.freeze,
  '' => '󾬚'.freeze,
  '' => '󾬛'.freeze,
  '' => '󾬜'.freeze,
  '' => '󾬝'.freeze,
  '' => '󾆐'.freeze,
  '' => '󾆑'.freeze,
  '' => '󾮓'.freeze,
  '' => '󾮔'.freeze,
  '' => '󾮕'.freeze,
  '' => '󾫱'.freeze,
  '' => '󾫲'.freeze,
  '' => '󾕓'.freeze,
  '' => '󾓍'.freeze,
  '' => '󾓎'.freeze,
  '' => '󾬠'.freeze,
  '' => '󾀑'.freeze,
  '' => '󾀒'.freeze,
  '' => '󾀓'.freeze,
  '' => '󾀔'.freeze,
  '' => '󾀕'.freeze,
  '' => '󾆷'.freeze,
  '' => '󾆸'.freeze,
  '' => '󾟪'.freeze,
  '' => '󾔒'.freeze,
  '' => '󾫳'.freeze,
  '' => '󾸖'.freeze,
  '' => '󾸗'.freeze,
  '' => '󾸘'.freeze,
  '' => '󾸙'.freeze,
  '' => '󾸚'.freeze,
  '' => '󾸛'.freeze,
  '' => '󾠈'.freeze,
  '' => '󾓱'.freeze,
  '' => '󾔶'.freeze,
  '' => '󾸜'.freeze,
  '' => '󾸝'.freeze,
  '' => '󾆚'.freeze,
  '' => '󾔷'.freeze,
  '' => '󾀈'.freeze,
  '' => '󾸞'.freeze,
  '' => '󾸟'.freeze,
  '' => '󾸠'.freeze,
  '' => '󾀘'.freeze,
  '' => '󾀙'.freeze,
  '' => '󾀚'.freeze,
  '' => '󾀪'.freeze,
  '' => '󾸡'.freeze,
  '' => '󾸢'.freeze,
  '' => '󾸣'.freeze,
  '' => '󾸤'.freeze,
  '' => '󾸥'.freeze,
  '' => '󾸦'.freeze,
  '' => '󾸧'.freeze,
  '' => '󾸨'.freeze,
  '' => '󾸩'.freeze,
  '' => '󾸪'.freeze,
  '' => '󾸫'.freeze,
  '' => '󾸬'.freeze,
  '' => '󾸭'.freeze,
  '' => '󾸮'.freeze,
  '' => '󾸯'.freeze,
  '' => '󾸰'.freeze,
  '' => '󾸱'.freeze,
  '' => '󾸲'.freeze,
  '' => '󾸳'.freeze,
  '' => '󾔦'.freeze,
  '' => '󾔫'.freeze,
  '' => '󾔨'.freeze,
  '' => '󾸐'.freeze,
  '' => '󾸑'.freeze,
  '' => '󾔩'.freeze,
  '' => '󾸒'.freeze,
  '' => '󾸓'.freeze,
  '' => '󾓢'.freeze,
  '' => '󾬡'.freeze,
  '' => '󾮁'.freeze,
  '' => '󾮂'.freeze,
  '' => '󾮃'.freeze,
  '' => '󾮄'.freeze,
  '' => '󾮅'.freeze,
  '' => '󾬶'.freeze,
  '' => '󾬢'.freeze,
  '' => '󾠫'.freeze,
  '' => '󾠬'.freeze,
  '' => '󾠭'.freeze,
  '' => '󾠮'.freeze,
  '' => '󾠯'.freeze,
  '' => '󾠰'.freeze,
  '' => '󾠱'.freeze,
  '' => '󾠲'.freeze,
  '' => '󾠳'.freeze,
  '' => '󾠴'.freeze,
  '' => '󾠵'.freeze,
  '' => '󾠶'.freeze,
  '' => '󾠷'.freeze,
  '' => '󾬌'.freeze,
  '' => '󾬍'.freeze,
  '' => '󾬎'.freeze,
  '' => '󾬏'.freeze,
  '' => '󾌰'.freeze,
  '' => '󾌠'.freeze,
  '' => '󾌣'.freeze,
  '' => '󾌿'.freeze,
  '' => '󾌤'.freeze,
  '' => '󾫴'.freeze,
  '' => '󾠓'.freeze,
  '' => '󾟺'.freeze,
  '' => '󾭕'.freeze,
  '' => '󾠣'.freeze,
  '' => '󾭠'.freeze,
  '' => '󾭖'.freeze,
  '' => '󾭗'.freeze,
  '' => '󾮖'.freeze,
  '' => '󾭘'.freeze,
  '' => '󾠔'.freeze,
  '' => '󾫵'.freeze,
  '' => '󾭙'.freeze,
  '' => '󾬄'.freeze,
  '' => '󾬅'.freeze,
  '' => '󾬆'.freeze,
  '' => '󾭚'.freeze,
  '' => '󾭛'.freeze,
  '' => '󾭜'.freeze,
  '' => '󾭝'.freeze,
  '' => '󾬇'.freeze,
  '' => '󾬈'.freeze,
  '' => '󾬧'.freeze,
  '' => '󾸔'.freeze,
  '' => '󾸕'.freeze,
  '' => '󾓏'.freeze,
  '' => '󾓜'.freeze,
  '' => '󾆕'.freeze,
  '' => '󾓐'.freeze,
  '' => '󾟘'.freeze,
  '' => '󾓲'.freeze,
  '' => '󾓳'.freeze,
  '' => '󾓝'.freeze,
  '' => '󾔸'.freeze,
  '' => '󾠤'.freeze,
  '' => '󾓉'.freeze,
  '' => '󾔹'.freeze,
  '' => '󾓑'.freeze,
  '' => '󾠥'.freeze,
  '' => '󾀛'.freeze,
  '' => '󾟫'.freeze,
  '' => '󾦄'.freeze,
  '' => '󾀝'.freeze,
  '' => '󾍀'.freeze,
  '' => '󾌾'.freeze,
  '' => '󾌱'.freeze,
  '' => '󾍄'.freeze,
  '' => '󾌽'.freeze,
  '' => '󾌦'.freeze,
  '' => '󾌧'.freeze,
  '' => '󾮗'.freeze,
  '' => '󾌩'.freeze,
  '' => '󾍇'.freeze,
  '' => '󾌲'.freeze,
  '' => '󾌼'.freeze,
  '' => '󾍃'.freeze,
  '' => '󾌺'.freeze,
  '' => '󾌹'.freeze,
  '' => '󾬨'.freeze,
  '' => '󾔺'.freeze,
  '' => '󾬩'.freeze,
  '' => '󾬪'.freeze,
  '' => '󾟙'.freeze,
  '' => '󾬫'.freeze,
  '' => '󾬬'.freeze,
  '' => '󾬭'.freeze,
  '' => '󾬣'.freeze,
  '' => '󾬮'.freeze,
  '' => '󾬯'.freeze,
  '' => '󾬰'.freeze,
  '' => '󾬱'.freeze,
  '' => '󾫶'.freeze,
  '' => '󾫷'.freeze,
  '' => '󾒺'.freeze,
  '' => '󾀸'.freeze,
  '' => '󾓃'.freeze,
  '' => '󾀼'.freeze,
  '' => '󾁏'.freeze,
  '' => '󾀽'.freeze,
  '' => '󾁐'.freeze,
  '' => '󾁑'.freeze,
  '' => '󾀾'.freeze,
  '' => '󾀿'.freeze,
  '' => '󾁀'.freeze,
  '' => '󾥡'.freeze,
  '' => '󾥢'.freeze,
  '' => '󾦅'.freeze,
  '' => '󾥣'.freeze,
  '' => '󾥤'.freeze,
  '' => '󾆹'.freeze,
  '' => '󾆺'.freeze,
  '' => '󾆼'.freeze,
  '' => '󾆽'.freeze,
  '' => '󾌫'.freeze,
  '' => '󾌳'.freeze,
  '' => '󾆾'.freeze,
  '' => '󾆿'.freeze,
  '' => '󾦆'.freeze,
  '' => '󾍁'.freeze,
}.freeze
GOOGLE_UNICODE_REGEXP =
Regexp.new(GOOGLE_UNICODE.keys.sort_by{ |k| -k.size }.map do |ncr|
  "(?:" + ncr.gsub(/&#x(....);/){ "&#x(?i:#{$1});" } + ")"
end.join('|')).freeze

Class Method Summary collapse

Class Method Details

.to_cp932(str) ⇒ Object



14
15
16
17
18
19
# File 'lib/e4u/encode/docomo/unicode.rb', line 14

def self.to_cp932 str
  puts "docomo_unicode_to_docomo_cp932" if $DEBUG
  str.gsub(CP932_REGEXP) do |matched|
    CP932[$1]
  end
end

.to_google_unicode(str) ⇒ Object



28
29
30
31
32
33
# File 'lib/e4u/encode/docomo/unicode.rb', line 28

def self.to_google_unicode str
  puts "docomo_unicode_to_google_unicode" if $DEBUG
  str.gsub(GOOGLE_UNICODE_REGEXP) do |matched|
    GOOGLE_UNICODE[matched]
  end
end

.to_utf8(str) ⇒ Object



21
22
23
24
25
26
# File 'lib/e4u/encode/docomo/unicode.rb', line 21

def self.to_utf8 str
  puts "docomo_unicode_to_docomo_utf8" if $DEBUG
  str.gsub(UTF8_REGEXP) do |matched|
    UTF8[$1]
  end
end