#
# $Id: JP.pod,v 2.3 2003/05/26 10:42:01 dankogai Exp $
#
=head1 NAME
Text::Kakasi::JP - Text::Kakasi 日本語ドキュメント
=head1 SYNOPSIS
use Text::Kakasi;
# functional
$res = Text::Kakasi::getopt_argv('kakasi', '-ieuc', '-w');
$str = Text::Kakasi::do_kakasi($japanese_text);
# object-oriented
$obj = Text::Kakasi->new('-ieuc','-w');
$str = $obj->get($japanese_text);
=head1 DESCRIPTION
本モジュールはkakasi (kanji kana simple inverter)へのインターフェース
を提供します。kakasiが提供するのは、input methodと逆、すなわちかな漢字
まじり文をひらがな、カタカナ、ローマ字などに逆変換する機能です。kakasi
はまた文書の分かち書きにも利用することができます。詳しくは
L を御覧下さい。
Text::Kakasi は、伝統的な関数ベースおよびオブジェクト指向の双方のイン
ターフェイスを提供します。関数ベースの方は ver. 1.05 と 100% 互換です
が、Perl 5.8 以降の新機能を使うにはオブジェクト指向インターフェイスを
使う必要があります。
=head1 Functional APIs
注意:以下の説明では C は省略しています。デフォルトでは
Text::Kakasi は何も export しません。以下の関数を import するには、例
えば以下のようにします。
use Text::Kakasi qw/getopt_argv do_kakasi/;
=over 4
=item $err = getopt_argv($arg1, $arg2, ...)
kakasiを初期化します。引数はkakasiのオプションと同等です。以下は
kakasi 2.3.4 におけるオプションの概要です。
-a[jE] -j[aE] -g[ajE] -k[ajKH]
-E[aj] -K[ajkH] -H[ajkK] -J[ajkKH]
-i{oldjis,newjis,dec,euc,sjis}
-o{oldjis,newjis,dec,euc,sjis}
-r{hepburn,kunrei} -p -s -f -c"chars"
[jisyo1, jisyo2,,,]
Character Sets:
a: ascii j: jisroman g: graphic k: kana
(j,k defined in jisx0201)
E: kigou K: katakana H: hiragana J: kanji
(E,K,H,J defined in jisx0208)
Options:
-i: input coding system -o: output coding system
-r: romaji conversion system
-p: list all readings (with -J option)
-s: insert separate characters (with -J option)
-f: furigana mode (with -J option)
-c: skip chars within jukugo
(with -J option: default TAB CR LF BLANK)
-C: romaji Capitalize (with -Ja or -Jj option)
-U: romaji Upcase (with -Ja or -Jj option)
-u: call fflush() after 1 character output
-w: wakatigaki mode
本関数は、成功時に0を、失敗時にはそれ以外の値を返します。
=item $processed_str = do_kakasi($str)
C<$str>に対してkakasiを実行し、結果を返します。何らかの問題が発生した
場合、Cを返します。
Ver. 1.x と異なり、引数の最初にCをつける必要はありません。もち
ろん今までどおりつけても構いません。
=item close_kanwadic()
暗示的にopenされた辞書ファイルをcloseします。本関数は過去の互換性のみ
のために存在し、現在では利用する必要はまずないでしょう。
=back
=head1 Object-Oriented APIs
Version 2.0 より、本モジュールはオブジェクト指向(OOP)のAPIも提供します。
=over 4
=item $k = Text::Kakasi->new($args ...)
オブジェクトを生成します。引数が存在する場合は、
C<< Text::Kakasi->new->set($args ...) >>
したのと同じ結果となります。
=item $k->set($args ...)
C へのOOPインターフェイス。
my $k = Text::Kakasi->new;
$k->set('-w'); # Text::Kakasi::getopt_argv('-w');
ステータスを返す C とは異なり、 C は常にオブジェク
ト自身を返すので、以下のような表記が可能です。
my $tokenized = $k->set('-w')->get($raw_japanese);
ステータスが欲しい場合には、 C<< $k->error >> を使います。
=item $k->error
最後に呼ばれたメソッドのステータスを返します。
=item $processed = $k->get($raw_japanese);
C へのOOPインターフェイス。以下の二つのコードは等価です。
# Functional
getopt_argv('-w'); $processed = do_kakasi($raw_japanese);
# OOP
$k->set('-w')->get($raw_japanese);
=back
=head1 Perl 5.8 Features
Perl 5.8 で、文字コード変換の標準的な枠組みがLモジュールによっ
て提供されました。本モジュールは perl 5.8 以降にてこの機能を利用するよ
うになっています。
C<< $k->set($args ...) >>への引数に、C<< -iI >> および C<<
-oI >> が含まれる場合、文字コード変換はLが行います。
引数にはkakasiがサポートしているもの以外にも、Lがサポートして
いるものは全て使えます。
例えば、
$result = $k->set(qw/-iutf8 -outf8 -w/)->get($utf8);
は以下とほぼ同義です。
$euc = encode('eucjp' => $utf8);
getopt_argv('-w');
$tmp = do_kakasi($euc);
$result = decode('eucjp' => $tmp);
C<-outf8>,が含まれている場合は、 C<< $k->get >> はutf8フラグ付きの文字
列を返します。
これらの機能は、 C<$Text::Kakasi::HAS_ENCODE>に0を設定することで利用し
ないようにすることも可能です。通常変数は、本モジュールをuseした際に自
動的に設定されます。
=head1 SEE ALSO
L, L,L,L
=head1 COPYRIGHT
(C) 1998, 1999, 2000 NOKUBI Takatsugu
(C) 2003 Dan Kogai
There is no warranty for this free software. Anyone can modify and/or
redistribute this module under GNU GENERAL PUBLIC LICENSE. See COPYING
file that is included in the archive for more details.
=cut