back to top


名前

Sumibi -- Sumibi(http://sumibi.org/)用 Perlモジュール

back to top


概要

Sumibi(http://sumibi.org/) は kiyokaさんが作成したローマ字漢字変換エンジンです。 sourceforge.jp にプロジェクトがあります(http://sourceforge.jp/projects/sumibi/)。 これは、Sumibiを楽しむためのPerlモジュールです。

back to top


使い方

 use Sumibi;
 print Sumibi->new->convert("Perl no module wo tukutte mimashita.h .");
 # "Perlのmoduleを作ってみました。"と出力されます

シェル上で入力した文字列を Sumibi で変換したい場合は、

 perl -MSumibi -e 'Sumibi::shell();'

Sumibi shell が立ち上がり、下記のように入力できます。

 Sumibi> konnnichiha .

back to top


メソッド

new
 my $sumibi = Sumibi->new(encode => 'euc-jp', history => '.sumibi_pm_history');

コンストラクタ。引数は下記の通り。

 encode .... 使用するエンコード(デフォルトはeuc-jp)
 history ... shell の場合に使用される履歴ファイル(デフォルトは $ENV{HOME}/.sumibi_pm_history)
 ca_file ... $ENV{HTTPS_CA_FILE} に入ります
 wsdl ...... SumibiのWSDLファイルの場所を指定します(デフォルトは、http://sumibi.org/sumibi/Sumibi_stable.wsdl)
shell
 $sumibi->shell;

クラスメソッド、関数としても呼べます。

 Sumibi->shell;
 Sumibi::shell()

これに引数を与える場合は new に与える引数と同じになります。

ca_file
 $sumibi->ca_file
 $sumibi->ca_file($ca_file);

$ENV{HTTPS_CA_FILE} に値を出し入れします。クラスメソッドとしても使用できます。

wsdl
 $sumibi->wsdl($url);

WSDLファイルの場所を変更します。

test_wsdl
 $sumibi->test_server;

WSDLをテスト用にします。http://sumibi.org/sumibi/Sumibi_testing.wsdl

encode
 $sumibi->encode;
 $sumibi->encode('sjis');

Sumibi が返すエンコードを指定します。デフォルトは euc-jp です。 ここで指定するものは、Encodeモジュールで使用する文字コード名にしてください。

soap
 $sumibi->soap;

SOAP::Lite->service($wsdl_url)の結果が返ってきます。 http://sumibi.org/sumibi/sumibi_api_stable.html で定義されているメソッドを 呼び出すことが出来ます。

convert
 $sumibi->convert('konnnichiha .');

文字列を漢字に変換します。

can_choose
 $sumibi->can_choose(1);

変換候補選択できるかどうか。デフォルトは0です。 shell モードでは、指定がない限りは1を返します。

history

履歴を保存するファイル名を指定します。 デフォルトは、 $ENV{HOME}/.sumibi_pm_history です。

current_error
 $sumibi->current_error;

現在のエラーを返します(うまく動きません)。

dump_error
 $sumibi->dump_error;

全体のエラー情報を Data::Dumper の形式で返します(うまく動きません)。

error

全体のエラー情報が入っている、$sumibi->{error} を返します(うまく動きません)。

back to top


Sumibi shell

文字列を入力し、改行で Sumibi で変換を行います。shell から抜ける場合は、ctrl + d で抜けることができます。

 Sumibi> konnnichiha .

Sumibi が複数の変換候補を返した場合、下記のように表示されます。

 [Sumibi-candidate]
 => 0:今日は  1:今日は  2:こんにちは
 => 0:。  1:・  2:.  3:…

shell のプロンプトが下記のように変わります。

 sumibi-candidate>

この状態で、選択する数字をスペース区切りで入力します。 全て 0 で良い場合は改行だけを打ちます。入力する場合は、下記のようになります。

 Sumibi-candidate> 2 0

これで変換されたものがでます。全体の流れは下記のようになります。

 Sumibi> konnnichiha .
 [Sumibi candidate]
 => 0:今日は  1:今日は  2:こんにちは
 => 0:。  1:・  2:.  3:…
 Sumibi-candidate> 2 0
 こんにちは。
 sumibi>

back to top


バグ

エラー関係はEmacs Lisp用のCGI用に作ったメソッドが残っているだけなので、まったく使えません。 その他も全然テストしてません。きっとどこかバグっていることでしょう。

back to top


謝辞

面白いローマ字漢字変換エンジンを作ってくださった kiyokaさんに感謝。 http://www.netfort.gr.jp/~kiyoka/ http://sumibi.org/ http://sourceforge.jp/projects/sumibi/

back to top


著者

 Ktat <atusi@pure.ne.jp>

back to top


著作権

 Copyright 2005-2006 by Ktat <atusi@pure.ne.jp>.
 This program is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.
 See http://www.perl.com/perl/misc/Artistic.html

back to top