Class: E4U::Encode::DoCoMo::Utf8

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

Constant Summary collapse

DOCOMO_UNICODE =
{
  [0xE63E].pack('U') => 'E63E'.freeze,
  [0xE63F].pack('U') => 'E63F'.freeze,
  [0xE640].pack('U') => 'E640'.freeze,
  [0xE641].pack('U') => 'E641'.freeze,
  [0xE642].pack('U') => 'E642'.freeze,
  [0xE643].pack('U') => 'E643'.freeze,
  [0xE644].pack('U') => 'E644'.freeze,
  [0xE645].pack('U') => 'E645'.freeze,
  [0xE646].pack('U') => 'E646'.freeze,
  [0xE647].pack('U') => 'E647'.freeze,
  [0xE648].pack('U') => 'E648'.freeze,
  [0xE649].pack('U') => 'E649'.freeze,
  [0xE64A].pack('U') => 'E64A'.freeze,
  [0xE64B].pack('U') => 'E64B'.freeze,
  [0xE64C].pack('U') => 'E64C'.freeze,
  [0xE64D].pack('U') => 'E64D'.freeze,
  [0xE64E].pack('U') => 'E64E'.freeze,
  [0xE64F].pack('U') => 'E64F'.freeze,
  [0xE650].pack('U') => 'E650'.freeze,
  [0xE651].pack('U') => 'E651'.freeze,
  [0xE652].pack('U') => 'E652'.freeze,
  [0xE653].pack('U') => 'E653'.freeze,
  [0xE654].pack('U') => 'E654'.freeze,
  [0xE655].pack('U') => 'E655'.freeze,
  [0xE656].pack('U') => 'E656'.freeze,
  [0xE657].pack('U') => 'E657'.freeze,
  [0xE658].pack('U') => 'E658'.freeze,
  [0xE659].pack('U') => 'E659'.freeze,
  [0xE65A].pack('U') => 'E65A'.freeze,
  [0xE65B].pack('U') => 'E65B'.freeze,
  [0xE65C].pack('U') => 'E65C'.freeze,
  [0xE65D].pack('U') => 'E65D'.freeze,
  [0xE65E].pack('U') => 'E65E'.freeze,
  [0xE65F].pack('U') => 'E65F'.freeze,
  [0xE660].pack('U') => 'E660'.freeze,
  [0xE661].pack('U') => 'E661'.freeze,
  [0xE662].pack('U') => 'E662'.freeze,
  [0xE663].pack('U') => 'E663'.freeze,
  [0xE664].pack('U') => 'E664'.freeze,
  [0xE665].pack('U') => 'E665'.freeze,
  [0xE666].pack('U') => 'E666'.freeze,
  [0xE667].pack('U') => 'E667'.freeze,
  [0xE668].pack('U') => 'E668'.freeze,
  [0xE669].pack('U') => 'E669'.freeze,
  [0xE66A].pack('U') => 'E66A'.freeze,
  [0xE66B].pack('U') => 'E66B'.freeze,
  [0xE66C].pack('U') => 'E66C'.freeze,
  [0xE66D].pack('U') => 'E66D'.freeze,
  [0xE66E].pack('U') => 'E66E'.freeze,
  [0xE66F].pack('U') => 'E66F'.freeze,
  [0xE670].pack('U') => 'E670'.freeze,
  [0xE671].pack('U') => 'E671'.freeze,
  [0xE672].pack('U') => 'E672'.freeze,
  [0xE673].pack('U') => 'E673'.freeze,
  [0xE674].pack('U') => 'E674'.freeze,
  [0xE675].pack('U') => 'E675'.freeze,
  [0xE676].pack('U') => 'E676'.freeze,
  [0xE677].pack('U') => 'E677'.freeze,
  [0xE678].pack('U') => 'E678'.freeze,
  [0xE679].pack('U') => 'E679'.freeze,
  [0xE67A].pack('U') => 'E67A'.freeze,
  [0xE67B].pack('U') => 'E67B'.freeze,
  [0xE67C].pack('U') => 'E67C'.freeze,
  [0xE67D].pack('U') => 'E67D'.freeze,
  [0xE67E].pack('U') => 'E67E'.freeze,
  [0xE67F].pack('U') => 'E67F'.freeze,
  [0xE680].pack('U') => 'E680'.freeze,
  [0xE681].pack('U') => 'E681'.freeze,
  [0xE682].pack('U') => 'E682'.freeze,
  [0xE683].pack('U') => 'E683'.freeze,
  [0xE684].pack('U') => 'E684'.freeze,
  [0xE685].pack('U') => 'E685'.freeze,
  [0xE686].pack('U') => 'E686'.freeze,
  [0xE687].pack('U') => 'E687'.freeze,
  [0xE688].pack('U') => 'E688'.freeze,
  [0xE689].pack('U') => 'E689'.freeze,
  [0xE68A].pack('U') => 'E68A'.freeze,
  [0xE68B].pack('U') => 'E68B'.freeze,
  [0xE68C].pack('U') => 'E68C'.freeze,
  [0xE68D].pack('U') => 'E68D'.freeze,
  [0xE68E].pack('U') => 'E68E'.freeze,
  [0xE68F].pack('U') => 'E68F'.freeze,
  [0xE690].pack('U') => 'E690'.freeze,
  [0xE691].pack('U') => 'E691'.freeze,
  [0xE692].pack('U') => 'E692'.freeze,
  [0xE693].pack('U') => 'E693'.freeze,
  [0xE694].pack('U') => 'E694'.freeze,
  [0xE695].pack('U') => 'E695'.freeze,
  [0xE696].pack('U') => 'E696'.freeze,
  [0xE697].pack('U') => 'E697'.freeze,
  [0xE698].pack('U') => 'E698'.freeze,
  [0xE699].pack('U') => 'E699'.freeze,
  [0xE69A].pack('U') => 'E69A'.freeze,
  [0xE69B].pack('U') => 'E69B'.freeze,
  [0xE69C].pack('U') => 'E69C'.freeze,
  [0xE69D].pack('U') => 'E69D'.freeze,
  [0xE69E].pack('U') => 'E69E'.freeze,
  [0xE69F].pack('U') => 'E69F'.freeze,
  [0xE6A0].pack('U') => 'E6A0'.freeze,
  [0xE6A1].pack('U') => 'E6A1'.freeze,
  [0xE6A2].pack('U') => 'E6A2'.freeze,
  [0xE6A3].pack('U') => 'E6A3'.freeze,
  [0xE6A4].pack('U') => 'E6A4'.freeze,
  [0xE6A5].pack('U') => 'E6A5'.freeze,
  [0xE6A6].pack('U') => 'E6A6'.freeze,
  [0xE6A7].pack('U') => 'E6A7'.freeze,
  [0xE6A8].pack('U') => 'E6A8'.freeze,
  [0xE6A9].pack('U') => 'E6A9'.freeze,
  [0xE6AA].pack('U') => 'E6AA'.freeze,
  [0xE6AB].pack('U') => 'E6AB'.freeze,
  [0xE6AC].pack('U') => 'E6AC'.freeze,
  [0xE6AD].pack('U') => 'E6AD'.freeze,
  [0xE6AE].pack('U') => 'E6AE'.freeze,
  [0xE6AF].pack('U') => 'E6AF'.freeze,
  [0xE6B0].pack('U') => 'E6B0'.freeze,
  [0xE6B1].pack('U') => 'E6B1'.freeze,
  [0xE6B2].pack('U') => 'E6B2'.freeze,
  [0xE6B3].pack('U') => 'E6B3'.freeze,
  [0xE6B4].pack('U') => 'E6B4'.freeze,
  [0xE6B5].pack('U') => 'E6B5'.freeze,
  [0xE6B6].pack('U') => 'E6B6'.freeze,
  [0xE6B7].pack('U') => 'E6B7'.freeze,
  [0xE6B8].pack('U') => 'E6B8'.freeze,
  [0xE6B9].pack('U') => 'E6B9'.freeze,
  [0xE6BA].pack('U') => 'E6BA'.freeze,
  [0xE6BB].pack('U') => 'E6BB'.freeze,
  [0xE6BC].pack('U') => 'E6BC'.freeze,
  [0xE6BD].pack('U') => 'E6BD'.freeze,
  [0xE6BE].pack('U') => 'E6BE'.freeze,
  [0xE6BF].pack('U') => 'E6BF'.freeze,
  [0xE6C0].pack('U') => 'E6C0'.freeze,
  [0xE6C1].pack('U') => 'E6C1'.freeze,
  [0xE6C2].pack('U') => 'E6C2'.freeze,
  [0xE6C3].pack('U') => 'E6C3'.freeze,
  [0xE6C4].pack('U') => 'E6C4'.freeze,
  [0xE6C5].pack('U') => 'E6C5'.freeze,
  [0xE6C6].pack('U') => 'E6C6'.freeze,
  [0xE6C7].pack('U') => 'E6C7'.freeze,
  [0xE6C8].pack('U') => 'E6C8'.freeze,
  [0xE6C9].pack('U') => 'E6C9'.freeze,
  [0xE6CA].pack('U') => 'E6CA'.freeze,
  [0xE6CB].pack('U') => 'E6CB'.freeze,
  [0xE6CC].pack('U') => 'E6CC'.freeze,
  [0xE6CD].pack('U') => 'E6CD'.freeze,
  [0xE6CE].pack('U') => 'E6CE'.freeze,
  [0xE6CF].pack('U') => 'E6CF'.freeze,
  [0xE6D0].pack('U') => 'E6D0'.freeze,
  [0xE6D1].pack('U') => 'E6D1'.freeze,
  [0xE6D2].pack('U') => 'E6D2'.freeze,
  [0xE6D3].pack('U') => 'E6D3'.freeze,
  [0xE6D4].pack('U') => 'E6D4'.freeze,
  [0xE6D5].pack('U') => 'E6D5'.freeze,
  [0xE6D6].pack('U') => 'E6D6'.freeze,
  [0xE6D7].pack('U') => 'E6D7'.freeze,
  [0xE6D8].pack('U') => 'E6D8'.freeze,
  [0xE6D9].pack('U') => 'E6D9'.freeze,
  [0xE6DA].pack('U') => 'E6DA'.freeze,
  [0xE6DB].pack('U') => 'E6DB'.freeze,
  [0xE6DC].pack('U') => 'E6DC'.freeze,
  [0xE6DD].pack('U') => 'E6DD'.freeze,
  [0xE6DE].pack('U') => 'E6DE'.freeze,
  [0xE6DF].pack('U') => 'E6DF'.freeze,
  [0xE6E0].pack('U') => 'E6E0'.freeze,
  [0xE6E1].pack('U') => 'E6E1'.freeze,
  [0xE6E2].pack('U') => 'E6E2'.freeze,
  [0xE6E3].pack('U') => 'E6E3'.freeze,
  [0xE6E4].pack('U') => 'E6E4'.freeze,
  [0xE6E5].pack('U') => 'E6E5'.freeze,
  [0xE6E6].pack('U') => 'E6E6'.freeze,
  [0xE6E7].pack('U') => 'E6E7'.freeze,
  [0xE6E8].pack('U') => 'E6E8'.freeze,
  [0xE6E9].pack('U') => 'E6E9'.freeze,
  [0xE6EA].pack('U') => 'E6EA'.freeze,
  [0xE6EB].pack('U') => 'E6EB'.freeze,
  [0xE6EC].pack('U') => 'E6EC'.freeze,
  [0xE6ED].pack('U') => 'E6ED'.freeze,
  [0xE6EE].pack('U') => 'E6EE'.freeze,
  [0xE6EF].pack('U') => 'E6EF'.freeze,
  [0xE6F0].pack('U') => 'E6F0'.freeze,
  [0xE6F1].pack('U') => 'E6F1'.freeze,
  [0xE6F2].pack('U') => 'E6F2'.freeze,
  [0xE6F3].pack('U') => 'E6F3'.freeze,
  [0xE6F4].pack('U') => 'E6F4'.freeze,
  [0xE6F5].pack('U') => 'E6F5'.freeze,
  [0xE6F6].pack('U') => 'E6F6'.freeze,
  [0xE6F7].pack('U') => 'E6F7'.freeze,
  [0xE6F8].pack('U') => 'E6F8'.freeze,
  [0xE6F9].pack('U') => 'E6F9'.freeze,
  [0xE6FA].pack('U') => 'E6FA'.freeze,
  [0xE6FB].pack('U') => 'E6FB'.freeze,
  [0xE6FC].pack('U') => 'E6FC'.freeze,
  [0xE6FD].pack('U') => 'E6FD'.freeze,
  [0xE6FE].pack('U') => 'E6FE'.freeze,
  [0xE6FF].pack('U') => 'E6FF'.freeze,
  [0xE700].pack('U') => 'E700'.freeze,
  [0xE701].pack('U') => 'E701'.freeze,
  [0xE702].pack('U') => 'E702'.freeze,
  [0xE703].pack('U') => 'E703'.freeze,
  [0xE704].pack('U') => 'E704'.freeze,
  [0xE705].pack('U') => 'E705'.freeze,
  [0xE706].pack('U') => 'E706'.freeze,
  [0xE707].pack('U') => 'E707'.freeze,
  [0xE708].pack('U') => 'E708'.freeze,
  [0xE709].pack('U') => 'E709'.freeze,
  [0xE70A].pack('U') => 'E70A'.freeze,
  [0xE70B].pack('U') => 'E70B'.freeze,
  [0xE70C].pack('U') => 'E70C'.freeze,
  [0xE70D].pack('U') => 'E70D'.freeze,
  [0xE70E].pack('U') => 'E70E'.freeze,
  [0xE70F].pack('U') => 'E70F'.freeze,
  [0xE710].pack('U') => 'E710'.freeze,
  [0xE711].pack('U') => 'E711'.freeze,
  [0xE712].pack('U') => 'E712'.freeze,
  [0xE713].pack('U') => 'E713'.freeze,
  [0xE714].pack('U') => 'E714'.freeze,
  [0xE715].pack('U') => 'E715'.freeze,
  [0xE716].pack('U') => 'E716'.freeze,
  [0xE717].pack('U') => 'E717'.freeze,
  [0xE718].pack('U') => 'E718'.freeze,
  [0xE719].pack('U') => 'E719'.freeze,
  [0xE71A].pack('U') => 'E71A'.freeze,
  [0xE71B].pack('U') => 'E71B'.freeze,
  [0xE71C].pack('U') => 'E71C'.freeze,
  [0xE71D].pack('U') => 'E71D'.freeze,
  [0xE71E].pack('U') => 'E71E'.freeze,
  [0xE71F].pack('U') => 'E71F'.freeze,
  [0xE720].pack('U') => 'E720'.freeze,
  [0xE721].pack('U') => 'E721'.freeze,
  [0xE722].pack('U') => 'E722'.freeze,
  [0xE723].pack('U') => 'E723'.freeze,
  [0xE724].pack('U') => 'E724'.freeze,
  [0xE725].pack('U') => 'E725'.freeze,
  [0xE726].pack('U') => 'E726'.freeze,
  [0xE727].pack('U') => 'E727'.freeze,
  [0xE728].pack('U') => 'E728'.freeze,
  [0xE729].pack('U') => 'E729'.freeze,
  [0xE72A].pack('U') => 'E72A'.freeze,
  [0xE72B].pack('U') => 'E72B'.freeze,
  [0xE72C].pack('U') => 'E72C'.freeze,
  [0xE72D].pack('U') => 'E72D'.freeze,
  [0xE72E].pack('U') => 'E72E'.freeze,
  [0xE72F].pack('U') => 'E72F'.freeze,
  [0xE730].pack('U') => 'E730'.freeze,
  [0xE731].pack('U') => 'E731'.freeze,
  [0xE732].pack('U') => 'E732'.freeze,
  [0xE733].pack('U') => 'E733'.freeze,
  [0xE734].pack('U') => 'E734'.freeze,
  [0xE735].pack('U') => 'E735'.freeze,
  [0xE736].pack('U') => 'E736'.freeze,
  [0xE737].pack('U') => 'E737'.freeze,
  [0xE738].pack('U') => 'E738'.freeze,
  [0xE739].pack('U') => 'E739'.freeze,
  [0xE73A].pack('U') => 'E73A'.freeze,
  [0xE73B].pack('U') => 'E73B'.freeze,
  [0xE73C].pack('U') => 'E73C'.freeze,
  [0xE73D].pack('U') => 'E73D'.freeze,
  [0xE73E].pack('U') => 'E73E'.freeze,
  [0xE73F].pack('U') => 'E73F'.freeze,
  [0xE740].pack('U') => 'E740'.freeze,
  [0xE741].pack('U') => 'E741'.freeze,
  [0xE742].pack('U') => 'E742'.freeze,
  [0xE743].pack('U') => 'E743'.freeze,
  [0xE744].pack('U') => 'E744'.freeze,
  [0xE745].pack('U') => 'E745'.freeze,
  [0xE746].pack('U') => 'E746'.freeze,
  [0xE747].pack('U') => 'E747'.freeze,
  [0xE748].pack('U') => 'E748'.freeze,
  [0xE749].pack('U') => 'E749'.freeze,
  [0xE74A].pack('U') => 'E74A'.freeze,
  [0xE74B].pack('U') => 'E74B'.freeze,
  [0xE74C].pack('U') => 'E74C'.freeze,
  [0xE74D].pack('U') => 'E74D'.freeze,
  [0xE74E].pack('U') => 'E74E'.freeze,
  [0xE74F].pack('U') => 'E74F'.freeze,
  [0xE750].pack('U') => 'E750'.freeze,
  [0xE751].pack('U') => 'E751'.freeze,
  [0xE752].pack('U') => 'E752'.freeze,
  [0xE753].pack('U') => 'E753'.freeze,
  [0xE754].pack('U') => 'E754'.freeze,
  [0xE755].pack('U') => 'E755'.freeze,
  [0xE756].pack('U') => 'E756'.freeze,
  [0xE757].pack('U') => 'E757'.freeze,
}.freeze
DOCOMO_UNICODE_REGEXP =
Regexp.union(*DOCOMO_UNICODE.keys.map(&((RUBY_VERSION < '1.9.1') ?
                                                                  (lambda { |e|
  Regexp.new(Regexp.escape(e,'u'),nil,'u')
}) :
                                                                  (lambda { |e|
  Regexp.new(Regexp.escape(e))
})))).freeze

Class Method Summary collapse

Class Method Details

.to_docomo_unicode(str) ⇒ Object



6
7
8
9
10
11
# File 'lib/e4u/encode/docomo/utf8.rb', line 6

def self.to_docomo_unicode str
  puts "docomo_utf8_to_docomo_unicode" if $DEBUG
  str.gsub(DOCOMO_UNICODE_REGEXP) do |matched|
    "&#x#{DOCOMO_UNICODE[matched]};"
  end
end