skk の辞書にはあまり思い入れがなかった。
skkserv を使ってたのも随分前の話だし、今では SKK-JISYO.L だけでまったく困ってないし。
でも、「はてなダイアリーキーワードふりがなリスト」をSKKの辞書に変換 - znzの日記 - Rubyistを見てちょっとやりたくなった。
さっそくIndex of /skk/toolsから targz を取得して make install。
が、skkdic-expr2 がコンパイルできない。
mac-mini% make skkdic-expr2 gcc -I. -I. -I. -g -O2 -o skkdic-expr2 ./skkdic-expr2.c ./skkdic-expr2.c:34:18: error: glib.h: No such file or directory ...
MacOSX には glib2 が入ってないことに初めて気付いた瞬間です。
とりあえず search する。入れててよかった MacPort。
mac-mini% port search glib taglib audio/taglib 1.5 TagLib Audio Meta-Data Library dbus-glib devel/dbus-glib 0.74 Glib bindings for the dbus message bus system. glib1 devel/glib1 1.2.10 Library with data structure functions and other constructs glib2 devel/glib2 2.16.3 Library with data structure functions and other constructs glib2-devel devel/glib2-devel 2.15.6 Library with data structure functions and other constructs glibmm devel/glibmm 2.16.1 C++ interface to glib sglib devel/sglib 1.0.0 useful macros for manipulating common data structures cglib java/cglib 2.2_beta1 cglib - a code generation library for java byte code. jakarta-taglibs-standard-11 java/jakarta-taglibs-standard-11 1.1.2 Jakarta JSP Standard Tag Library (JSTL) v1.1 jakarta-taglibs-string java/jakarta-taglibs-string 1.1.0 Jakarta Strings Taglib -- taglib for manipulating Java strings p5-glib perl/p5-glib 1.181 Access to GLib and GObject rb-mp3taglib ruby/rb-mp3taglib 0.6 mp3taglib is an id3v1/id3v2 tagging library for ruby based on id3lib mac-mini% port search glib2 glib2 devel/glib2 2.16.3 Library with data structure functions and other constructs glib2-devel devel/glib2-devel 2.15.6 Library with data structure functions and other constructs
いるけどちゃんと動くかどうかとか不明。
gnome プロダクトを動かしてる人がいるみたいだから、きっと大丈夫だろう。
mac-mini% port install glib2
で、最初に戻って skktools を make && make install。無事に skkdic-expr2 が使えるようになりました。
追記
ついでといってはあれだけど、キーワード生成スクリプトをなんだか調整してみました。
mac-mini% diff -c keywordlist_furigana2skkdic.rb.org keywordlist_furigana2skkdic.rb *** keywordlist_furigana2skkdic.rb.org 2008-06-08 03:15:21.000000000 +0900 --- keywordlist_furigana2skkdic.rb 2008-06-08 03:15:50.000000000 +0900 *************** *** 1,14 **** ! #!/usr/local/bin/ruby -Ke # はてなダイアリーキーワードふりがなリストをSKKの辞書に変換 # # 使い方: ! # wget http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv ! # ruby keywordlist_furigana2skkdic.rb keywordlist_furigana.csv > tmp.skkdic ! # skkdic-expr2 -o keywordlist_furigana.skkdic tmp.skkdic # - # 同一の読みをまとめたりはしていないので、一度skkdic-expr2を通してください。 require 'nkf' class String # borrowed from http://openlab.jp/skk/skk/tools/filters/skkdictools.rb --- 1,13 ---- ! #!/usr/bin/env ruby -Ke ! # -*- coding: utf-8 -*- # はてなダイアリーキーワードふりがなリストをSKKの辞書に変換 # # 使い方: ! # ruby keywordlist_furigana2skkdic.rb | skkdic-expr2 -o keywordlist_furigana.skkdic # require 'nkf' + require 'open-uri' class String # borrowed from http://openlab.jp/skk/skk/tools/filters/skkdictools.rb *************** *** 25,38 **** # http://d.hatena.ne.jp/hatenadiary/20060922/1158908401 # http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv ! ARGF.each do |line| ! line.chomp! ! furigana, keyword = line.split(/\t/, 2) ! if furigana == keyword ! next # ひらがなだけのキーワードを無視 ! end ! if furigana == NKF.nkf('-Ee -m0 --hiragana', keyword) ! next # カタカナ語は無視 ! end ! puts "#{furigana} /#{keyword.gsub(/&/, '&').concatify}/" ! end --- 24,40 ---- # http://d.hatena.ne.jp/hatenadiary/20060922/1158908401 # http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv ! #ENV['http_proxy'] = 'http://127.0.0.1:8123' ! open("http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv") {|f| ! f.each_line {|line| ! line.chomp! ! furigana, keyword = line.split(/\t/, 2) ! if furigana == keyword ! next # ひらがなだけのキーワードを無視 ! end ! if furigana == NKF.nkf('-Ee -m0 --hiragana', keyword) ! next # カタカナ語は無視 ! end ! puts "#{furigana} /#{keyword.gsub(/&/, '&').concatify}/" ! } ! }