Class: Emoticon::Transcoder::Docomo

Inherits:
Emoticon::Transcoder show all
Defined in:
lib/emoticon/transcoder/docomo.rb

Constant Summary

Constants inherited from Emoticon::Transcoder

Vodafone

Constants included from ConversionTable

ConversionTable::AU_EMAILJIS_TO_UNICODE, ConversionTable::AU_SJIS_REGEXP, ConversionTable::AU_SJIS_TO_UNICODE, ConversionTable::AU_UNICODE_TO_SJIS, ConversionTable::CONVERSION_TABLE_TO_AU, ConversionTable::CONVERSION_TABLE_TO_DOCOMO, ConversionTable::CONVERSION_TABLE_TO_SOFTBANK, ConversionTable::DOCOMO_SJIS_REGEXP, ConversionTable::DOCOMO_SJIS_TO_UNICODE, ConversionTable::DOCOMO_UNICODE_TO_SJIS, ConversionTable::EMOTICON_UNICODES, ConversionTable::SJIS_REGEXP, ConversionTable::SJIS_TO_UNICODE, ConversionTable::SOFTBANK_UNICODE_REGEXP, ConversionTable::SOFTBANK_UNICODE_TO_WEBCODE, ConversionTable::SOFTBANK_WEBCODE_REGEXP, ConversionTable::SOFTBANK_WEBCODE_TO_UNICODE, ConversionTable::UNICODE_TO_SJIS, ConversionTable::UTF8_REGEXP

Instance Method Summary collapse

Methods inherited from Emoticon::Transcoder

#internal_to_external, #unicodecr_to_external, #unicodecr_to_utf8, #utf8_to_unicodecr

Instance Method Details

#external_to_unicodecr(str) ⇒ Object

str のなかでDoCoMo絵文字をUnicode数値文字参照に置換した文字列を返す。



6
7
8
9
10
11
12
# File 'lib/emoticon/transcoder/docomo.rb', line 6

def external_to_unicodecr(str)
  str.gsub(SJIS_REGEXP) do |match|
    sjis = match.unpack('n').first
    unicode = SJIS_TO_UNICODE[sjis]
    unicode ? ("&#x%04x;"%unicode) : match
  end
end

#sjiscr_to_unicodecr(s) ⇒ Object



14
15
16
17
18
19
# File 'lib/emoticon/transcoder/docomo.rb', line 14

def sjiscr_to_unicodecr(s)
  s.gsub(/&#([0-9]{5});/i) do |match|
    unicode = DOCOMO_SJIS_TO_UNICODE[$1.to_i].to_s(16).upcase
    "&#x#{unicode};"
  end
end