9
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

KAKASIとrubyの連携

Last updated at Posted at 2016-01-01

漢字からかな変換が容易にできる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を修正。

test.rb
require 'kakasi'
puts Kakasi.kakasi('-JK -HK', 'Rubyから案山子を呼び出せます。')

結果は下記コマンドで。Rubyカラカカシヲヨビダセマス。

ruby test.rb
9
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?