typeD.pdfの解析

typeD.pdfの解析

au の絵文字データは typeD.pdf と呼ばれる pdf file に入っている。

PDF ファイルなので解析が面倒なのだが googlecache を使って適当に抜き出すスクリプトが下記である。

require 'open-uri'

current_name = ''

open("http://72.14.235.104/search?q=cache:Yuc4y5H-FzAJ:www.au.kddi.com/ezfactory/tec/spec/pdf/typeD.pdf+typed.pdf&hl=ja&ct=clnk&cd=1") {|io|
# open ("typed.html") {|io|
    io.each {|line|
        if line =~ %r{left:(\d+)"><nobr>([^<]+)}
            left = $1.to_i
            text = $2

            if left == 170 or left == 604
                current_name += text
            elsif left == 241 or left == 676
                if text =~ /^(. . . .) (. . . .) (. . . .) (. . . .)$/
                    sjis = $1
                    uni = $2
                    jis = $3
                    sjis.gsub!(/ /, '')
                    jis.gsub!(/ /, '')
                    uni.gsub!(/ /, '')

                    puts "'#{uni}' => '#{current_name}',"

                    current_name = ''
                end
            end
        end
    }
}