Add index.html.
[chise/kage.git] / tools / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
2 \r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">\r
4 <head>\r
5  <link rel="stylesheet" type="text/css" href="../green.css">\r
6  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
7  <title>chise_swig_perl</title>\r
8 </head>\r
9 <body>\r
10 \r
11 <div class="main">\r
12 \r
13 <img src="../images/logo2.gif">\r
14 <h1>chise_swig_perl</h1>\r
15 \r
16 <h2>これは何?</h2>\r
17 \r
18 <p>chiseライブラリ(concord + libchise)をPerlで利用するための仕組みです。SWIGを利用しています。Cygwinでも利用可能です。</p>\r
19 \r
20 <h2>ダウンロード</h2>\r
21 \r
22 <p><a href="http://cvs.m17n.org/viewcvs/chise/kage/tools/">CVSリポジトリ</a>より入手してください。</p>\r
23
24 <blockquote><pre>% cvs -d:pserver:anonymous@cvs.m17n.org:/cvs/chise co kage/tools</pre></blockquote>
25 \r
26 <h2>内容</h2>\r
27 \r
28 <dl>\r
29 <dt>chise.i</dt>\r
30 <dd>SWIG定義インターフェイスファイル</dd>\r
31 <dt>chiseperl.pl</dt>\r
32 <dd>簡単にlibchiseを使うための高級(?)ライブラリ</dd>\r
33 </dl>\r
34 \r
35 <h2>ビルド</h2>\r
36 \r
37 <p>すでにconcordとlibchiseが使える状態であると仮定します。Cygwin等適宜ディレクトリを読みかえてください。</p>\r
38
39 <blockquote><pre>\r
40 % swig -c++ -perl -I/usr/local/include chise.i
41 % g++ -c chise_wrap.cxx -I/usr/lib/perl/5.8/CORE
42 % g++ -shared -lchise chise_wrap.o -o chise.so -Wl,-rpath,/usr/local/lib
43 </pre></blockquote>\r
44 \r
45 <p>(上記はCGI等で利用するために -Wl,-rpath,/usr/local/lib のオプションを含めてライブラリパスも埋め込んでいます)</p>\r
46 \r
47 <h3>完了</h3>\r
48 \r
49 <p>最終的に以下のファイルを利用します</p>\r
50 \r
51 <ul>\r
52 <li>chise.pm</li>\r
53 <li>chise.so または chise.dll</li>\r<li>chiseperl.pl</li>\r
54 </ul>\r
55 \r
56 <h2>活用</h2>\r
57 \r
58 <p>chise.hを元に、libchiseの関数を呼び出してもいいのですが、chiseperl.plを活用するともう少し簡単にlibchiseをPerlから利用できます。</p>\r
59 \r
60 <h3>関数</h3>\r
61 \r
62 <dl>\r
63 <dt>void init_chise();</dt>\r
64 <dd>初期化します。必ず実行してください</dd>\r
65 <dt>void close_chise();</dt>\r
66 <dd>バッファ等を開放します</dd>\r
67 <dt>void update_chise();</dt>\r
68 <dd>chise_feature_sync相当関数。新オブジェクトの割り当てや、素性の更新処理をデータベースに反映させます。</dd>\r
69 <dt>void search_newid();</dt>\r
70 <dd>未使用の文字オブジェクトIDを探します。内部用です。</dd>\r
71 <dt>$var get_feature_value($feature, $char_id);</dt>\r
72 <dd>chise_char_gets_feature_value相当。素性名とcharIDから素性を得ます</dd>\r
73 <dt>$var set_feature_value($feature, $char_id, $value);</dt>\r
74 <dd>chise_char_set_feature_value相当。素性をセットします</dd>\r
75 <dt>$var create_new_char($feature, $value);</dt>\r
76 <dd>新しい文字オブジェクトを生成します</dd>\r
77 <dt>$char_id decode_char($feature_char, $int);</dt>\r
78 <dd>chise_ds_decode_char相当。CCSとコードからUCSコードを得ます(?)</dd>\r
79 </dl>\r
80 \r
81 <h3>グローバル変数</h3>\r
82 \r
83 <p>いわゆるPerlのモジュールっぽくない実装になっています。基本的に内部でしか使いません。</p>\r
84 \r
85 <dl>\r
86 <dt>$chise_ds</dt>\r
87 <dd>CHISEデータベースセットのハンドル</dd>\r
88 <dt>@chise_feature</dt>\r
89 <dd>素性の一覧リスト(文字列)</dd>\r
90 <dt>@chise_ft</dt>\r
91 <dd>全素性のハンドル</dd>\r
92 <dt>$chise_newid</dt>\r
93 <dd>void search_newid();の結果が格納されます</dd>\r
94 </dl>\r
95 \r
96 <h3>サンプルは?</h3>\r
97 \r
98 <p>すみません。準備中です。たとえば<a href="../chise_linkmap/">CHISE漢字連環図</a>を参考することができます。</p>\r
99 \r
100 <h3>ところで</h3>\r
101 \r
102 <p>現在Cygwinでコンパイルはできますが、現在のlibchiseバージョンに対応したCHISE文字データベースをCygwin上で用意することはできません。この問題はもうすぐ解決されるはずです。</p>\r
103 \r
104 <h2>リンク</h2>\r
105 \r
106 <ul>\r
107 <li><a href="http://www.kanji.zinbun.kyoto-u.ac.jp/projects/chise/">CHISE Project</a></li>\r
108 <li><a href="http://www.swig.org/Doc1.3/Perl5.html">SWIG on Perl</a> 大変参考になります。</li>\r
109 <li><a href="../chise_linkmap/">CHISE漢字連環図</a> chise_swig_perl を実際に利用しています。</li>\r
110 </ul>\r
111 \r
112 <hr class="footer">\r
113 KAMICHI Koichi -- fonts.jp\r
114 \r
115 </div>\r
116 \r
117 </body>\r
118 </html>\r