漢字からかな変換が容易にできるKAKASI。インストールから実際にRubyで使用するまでをまとめた。
GemfileからKAKASIのインストールができない
KAKASIとrubyの連携ライブラリである、
https://github.com/knu/kakasi_ffi
を使い、以下のように、単純にGemfileでKAKASIをインストールできるかと思いきや、bundle installでエラーが出てできない。
# A sample Gemfile
source "https://rubygems.org"
# gem "rails"
gem "kakasi"
(※issuesにも上がっているが、エラーメッセージが変更されたのみで、クローズされた笑 https://github.com/knu/kakasi_ffi/issues/2 )
そこで、まずはソースからインストール(apt-getなどが好ましいが、apt-getだとrubyから呼び出せないようである)。
KAKASI本体のインストール
http://kakasi.namazu.org/index.html.ja
上記のインストールの項に従って、インストール。
gzip -dc kakasi-2.3.5.tar.gz | tar xvf -
cd kakasi-2.3.5
./configure
make
su
make install
※最新版のKAKASIは2.3.6
KAKASIとrubyを連携
続いて任意のディレクトリで https://github.com/eitoball/kakasi-ruby.git のソースをダウンロード。
git clone https://github.com/eitoball/kakasi-ruby.git
cd kakasi-ruby
ruby extconf.rb
make
Ruby2.0以降を使う場合はここでエラーがでるので、ソースを変更する。
mv kakasi.c kakasi.c.org # 元ソースバックアップのため
cat kakasi.c.org | sed "s/RSTRING\(([^)]*)\)->len/RSTRING_LEN\\1/" | sed "s/RSTRING\(([^)]*)\)->ptr/RSTRING_PTR\\1/" > kakasi.c
make
漢字からひらがな変換を確認できるよう、test.rbを修正。
require 'kakasi'
puts Kakasi.kakasi('-JK -HK', 'Rubyから案山子を呼び出せます。')
結果は下記コマンドで。Rubyカラカカシヲヨビダセマス。
ruby test.rb