Changeset 1996 for lang/ruby

Show
Ignore:
Timestamp:
11/25/07 14:23:31 (5 years ago)
Author:
tokuhirom
Message:

lang/rub/ssb: thirdforce の絵文字が表示されるようにした

Location:
lang/ruby/ssb
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/ssb/libs/ssb/emoji.rb

    r1870 r1996  
    2626            end 
    2727          end 
    28           '<img class="emoji" alt="■" src="emoji/docomo/' + ch.to_s(16).upcase + '.gif" />' 
     28          '<img class="emoji" src="emoji/docomo/' + ch.to_s(16).upcase + '.gif" />' 
    2929        end 
    3030        ret.concat moji 
     
    6464      if term.get_carrier == KtaiSpec::CARRIER_SOFTBANK 
    6565        ret.gsub!(re_sb_emoji) { |s| 
    66           code = ($1[0] << 8) 
    67           code += ($1[1]) 
     66          page_map = { 
     67            ?G => 1, 
     68            ?E => 2, 
     69            ?F => 3, 
     70            ?O => 4, 
     71            ?P => 5, 
     72            ?Q => 6, 
     73          } 
     74          code = ( (0xE0 + page_map[$1[0]] - 1 ) << 8) + ($1[1] - ?! + 1) 
    6875 
    69           case $1[0..0] 
    70           when 'G' 
    71             code -= 18208 
    72           when 'E' 
    73             code -= 17696 
    74             code += 90 
    75           when 'F' 
    76             code -= 17952 
    77             code += 180 
    78           when 'O' 
    79             code -= 20256 
    80             code += 270 
    81           when 'P' 
    82             code -= 20512 
    83             code += 347 
    84           when 'Q' 
    85             code -= 20768 
    86             code += 423 
    87           else 
    88             puts $1[0..0] 
    89           end 
    90           '<img class="emoji" src="emoji/softbank/vf_icon' + ('%03d' % code) + '.gif" />' 
     76          sprintf "<img class='emoji' src='emoji/softbank/%04X.gif' />" % code 
    9177        } 
    9278      end 
  • lang/ruby/ssb/scripts/emoji_scrape.rb

    r1870 r1996  
    7878 
    7979  def scrape_thirdforce 
    80     base_uri = 'http://developers.softbankmobile.co.jp/dp/tool_dl/web' 
    81     (1..6).each do |n| 
    82       html = open(URI.parse(base_uri + '/picword_%02d.php' % n)).read 
     80    base_uri = 'http://developers.softbankmobile.co.jp/dp/tool_dl/web/' 
     81    1.upto(6) do |n| 
     82      pict_scraper = Scraper.define { 
     83          process 'td:nth-child(2) > font.j10', :unicode => :text 
     84          process 'td > img',      :image  => '@src' 
     85          result :unicode, :image 
     86      } 
     87      Scraper.define{ 
     88        process 'table[width="100%"] > tr', 'pictograms[]' => pict_scraper 
     89        result :pictograms 
     90      }.scrape(URI.parse(base_uri + 'picword_%02d.php' % n)).select {|x| not x.nil? }.select {|x| not x.unicode.nil? }.each {|pictinfo| 
     91        tmpfile = File.join(emoji_dir('softbank'), pictinfo.unicode + '.tmp.gif') 
     92        filename = File.join(emoji_dir('softbank'), pictinfo.unicode + '.gif') 
     93        pict_uri = URI.parse(base_uri) + pictinfo.image 
    8394 
    84       # TODO scrape and download pictographs 
     95        open(pict_uri) do |img| 
     96          open(tmpfile, 'w') do |out| 
     97            out.write img.read 
     98          end 
     99        end 
     100 
     101        `convert -transparent white -resize 16x16 #{tmpfile} #{filename}` 
     102        `rm #{tmpfile}` 
     103        puts pict_uri.to_s + " => " + filename 
     104      } 
    85105    end 
    86106  end 
     
    89109    scrape_docomo 
    90110    scrape_kddi 
    91     # scrape_thirdforce 
     111    scrape_thirdforce 
    92112  end 
    93113end 
  • lang/ruby/ssb/test/all.rb

    r1870 r1996  
    1212require 'test/test_request' 
    1313require 'test/test_ssb' 
     14require 'test/test_emoji'