From: Koichi KAMICHI Date: Wed, 5 Apr 2006 14:17:52 +0000 (+0000) Subject: Add index.html. X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c14d8b3746cca5c07266f36c84f8a181f308a57d;p=chise%2Fkage.git Add index.html. --- diff --git a/tools/index.html b/tools/index.html new file mode 100644 index 0000000..156355d --- /dev/null +++ b/tools/index.html @@ -0,0 +1,118 @@ + + + + + + + chise_swig_perl + + + +
+ + +

chise_swig_perl

+ +

これは何?

+ +

chiseライブラリ(concord + libchise)をPerlで利用するための仕組みです。SWIGを利用しています。Cygwinでも利用可能です。

+ +

ダウンロード

+ +

CVSリポジトリより入手してください。

+ +
% cvs -d:pserver:anonymous@cvs.m17n.org:/cvs/chise co kage/tools
+ +

内容

+ +
+
chise.i
+
SWIG定義インターフェイスファイル
+
chiseperl.pl
+
簡単にlibchiseを使うための高級(?)ライブラリ
+
+ +

ビルド

+ +

すでにconcordとlibchiseが使える状態であると仮定します。Cygwin等適宜ディレクトリを読みかえてください。

+ +
+% swig -c++ -perl -I/usr/local/include chise.i
+% g++ -c chise_wrap.cxx -I/usr/lib/perl/5.8/CORE
+% g++ -shared -lchise chise_wrap.o -o chise.so -Wl,-rpath,/usr/local/lib
+
+ +

(上記はCGI等で利用するために -Wl,-rpath,/usr/local/lib のオプションを含めてライブラリパスも埋め込んでいます)

+ +

完了

+ +

最終的に以下のファイルを利用します

+ + + +

活用

+ +

chise.hを元に、libchiseの関数を呼び出してもいいのですが、chiseperl.plを活用するともう少し簡単にlibchiseをPerlから利用できます。

+ +

関数

+ +
+
void init_chise();
+
初期化します。必ず実行してください
+
void close_chise();
+
バッファ等を開放します
+
void update_chise();
+
chise_feature_sync相当関数。新オブジェクトの割り当てや、素性の更新処理をデータベースに反映させます。
+
void search_newid();
+
未使用の文字オブジェクトIDを探します。内部用です。
+
$var get_feature_value($feature, $char_id);
+
chise_char_gets_feature_value相当。素性名とcharIDから素性を得ます
+
$var set_feature_value($feature, $char_id, $value);
+
chise_char_set_feature_value相当。素性をセットします
+
$var create_new_char($feature, $value);
+
新しい文字オブジェクトを生成します
+
$char_id decode_char($feature_char, $int);
+
chise_ds_decode_char相当。CCSとコードからUCSコードを得ます(?)
+
+ +

グローバル変数

+ +

いわゆるPerlのモジュールっぽくない実装になっています。基本的に内部でしか使いません。

+ +
+
$chise_ds
+
CHISEデータベースセットのハンドル
+
@chise_feature
+
素性の一覧リスト(文字列)
+
@chise_ft
+
全素性のハンドル
+
$chise_newid
+
void search_newid();の結果が格納されます
+
+ +

サンプルは?

+ +

すみません。準備中です。たとえばCHISE漢字連環図を参考することができます。

+ +

ところで

+ +

現在Cygwinでコンパイルはできますが、現在のlibchiseバージョンに対応したCHISE文字データベースをCygwin上で用意することはできません。この問題はもうすぐ解決されるはずです。

+ +

リンク

+ + + + +KAMICHI Koichi -- fonts.jp + +
+ + +