KAKASI(1)

NAME
KAKASI - Kanji kana simple inverter (漢字かな読み上げ)

SYNOPSIS
kakasi [options] [jisyo1 [jisyo2 [jisyo1,,]]]

DESCRIPTION
KAKASI は漢字かな混じり文をかなだけの文やローマ字表記に変換することを 目的として作られました。 漢字の読めない端末を使った時や、 漢字に不慣れな外国人や子供に文章を紹介したい時などに使えるかもしれません。 標準入力から日本語の文章を入力すると、 指定された文字セットに変換されて出力されます。 例えば次の例では文中の漢字がひらがなに変換されます。

kakasi -JH < document

また KAKASI は文字をローマ字に変換したり、 JIS x0201 のかたかな文字や、 JIS x0208 のひらがな、 かたかなの間での相互に変換できます。

さらに、バージョン 2.3.0 からは、分かち書きパッチがマージされました。 例えば次の例では、日本語文が分かち書きされて出力されます。 kakasi -w < document

KAKASI では文字セットとして次のものを理解します。 (カッコの中は KAKASI のオプションとして指定する文字を表します。)

いわゆる ascii です。'〜', '＼' が含まれています。

いわゆる jis roman です。'￣' , '￥' が含まれています。

これについては正しい名称を知りません。 DEC 社の端末で表示される罫線などがこの文字セットに含まれます。

JIS x0201 で定義されている文字セットのうち GR の部分です。

以下は JIS x0208 を便宜上分割したものです。規格上は全体で一つの文字セットです。

16 区以降の `亜' に続く文字です。
4 区にあるひらがなです。
5 区にあるかたかなです。 ひらがなと 1 区ずれただけでなく、独自の個性が発揮されているものです。
上記以外の文字です。

次の文字セット間の変換が指定できます。

-> JISROMAN, 記号 -> ASCII, 記号 -> ASCII, JISROMAN, 記号 -> ASCII, JISROMAN, カナ, ひらがな -> ASCII, JISROMAN -> ASCII, JISROMAN, JISx0201のかたかな, ひらがな -> ASCII, JISROMAN, JISx0201のかたかな, カナ -> ASCII, JISROMAN, JISx0201のかたかな, カナ, ひらがな

漢字からの変換では読み上げによって変換します。 JISx0201かたかな、かたかな、ひらがな、漢字から ASCII と JISROMAN への 変換ではローマ字変換を行います。

文字セットの変換指定オプション

E が指定されると JISx0208 の記号への変換になります。 それ以外のコードが指定されるか, 引数がないと変換しません。

E が指定されると JISx0208 の記号への変換になります。

ちょっと無理があります。

aj を指定するとローマ字に変換します。 KH では JISx0208 のかたかなやひらがなに変換します。

JISx0208 の記号を ASCII または JIS ROMAN にします。 現在のバージョンではそのほとんどが手抜き工事になっています。

aj を指定するとローマ字に変換します。 k ではJISx0201のかたかなに、 K ではかたかなに変換します。

aj を指定するとローマ字に変換します。 k ではJISx0201のかたかなに、 H ではひらがなに変換します。

まず辞書を引いて読み上げ、 aj が指定されるとローマ字に変換します。 k ではJISx0201のかたかなに、 H ではひらがなに、 K ではかたかなに変換します。

1. 漢字をひらがなに読み上げる

    kakasi -JH

2. すべての JISx0208 で定義された文字をおきかえる。

    kakasi -Hk -Kk -Jk -Ea

3. すべての文字を JISx0208 の文字におきかえる。

    kakasi -aE -jE -gE -kK

4. ローマ字変換

    kakasi -Ha -Ka -Ja -Ea -ka

5. かたかなとひらがなを交換

    kakasi -HK -KH

漢字コーディング

KAKASI では次の漢字コーディングシステムが使えます。

           JIS, OLDJIS, EUC, DEC, SJIS

入力側の漢字コードを指定します。 もしも指定されない場合には入力から判断しようとします。 KAKASI は入力をためこんで統計的に処理する方法がとれないので、 最初の漢字らしい文字をもって判断します。

1. ESC-$-B
JIS コーディングと解釈します。 またこれ以降は G0 に 新JIS が指示されたものとします。

2. ESC-$-@
旧JIS コーディングと解釈します。 またこれ以降は G0 に 旧JIS が指示されたものとします。

3. 0x80 以上の値
この時さらに 1 Byte を入力して、 この 2 Byte で シフトJIS の JISx0208 文字として解釈できる場合、 新JIS コーディングと解釈します。 またこれ以降は GR は使えず シフトJIS の文字として解釈されます。

4. 0x80 で上記に該当しない
以降は EUC コーディングを仮定します。
なお、オプションで指定する以外に DEC コーディングが指定されることはありません。
最初にJISx0201のかたかなを表現する 0xa0 以上のコードに遭遇した場合と、 EUC コードなのに SJIS としても解釈され得る文字に遭遇すると誤って解釈します。 つまり `燹' から `螢' までの 945 文字のいずれかが EUC で表現されていても SJIS に解釈されてしまいます。

出力側の漢字コーディングを指定します。 もしも指定されない場合には入力と同じにします。

漢字のコーディングのモデルとしては、 以下のように文字セットの指示と呼出しがされているものとします。

JIS:

    GL -- G0 -- ASCII
    GR -- G1 -- JISx0201のかたかな
          G2 -- JISx0201のかたかな
          G3 -- JISx0201のかたかな

JISx0208 の文字は ESC-$-B を用いて G0 に指示をして出力します。

OLDJIS:

    GL -- G0 -- JISROMAN
    GR -- G1 -- JISx0201のかたかな
          G2 -- JISx0201のかたかな
          G3 -- JISx0201のかたかな

JISx0208 の文字は ESC-$-@ を用いて G0 に旧JISを指示をして出力します。

EUC:

    GL -- G0 -- ASCII
          G1 -- JISx0201のかたかな
          G2 -- JISx0201のかたかな
    GR -- G3 -- JISx0208 の文字

JISx0201のかたかなの表示には ESC-N (シングル シフト)を使って、 GR に G2 を呼出して出力します。

DEC:

    GL -- G0 -- ASCII
          G1 -- GRAPHIC
          G2 -- JISx0201のかたかな
    GR -- G3 -- JISx0208 の文字

JISx0201のかたかなの表示には ESC-} を使って GR に G2 を呼出して出力します。

SJIS:

    GL -- G0 -- ASCII
          G1 -- JISx0201のかたかな
          G2 -- JISx0201のかたかな
          G2 -- JISx0201のかたかな
    GR -- SHIFTJIS

JISx0201のかたかなとJISx0208 の文字の表示は GR で行います。

入力側では次のようにエスケープシークエンスを解釈します。

呼出し:
           G0 G1 G2 G3
GL: SI SO ESC-n ESC-o
GR: ESC-~ ESC-} ESC-|

シングルシフト:
           G0 G1 G2 G3
                        ESC-N ESC-O
                        (SS2) (SS3)

指示：
       ASCII JISROMAN GRAPHIC かたかな 旧JIS 新JIS
G0: ESC-(-B ESC-(-J ESC-(-0 ESC-(-I ESC-$-@ ESC-$-B
G1: ESC-)-B ESC-)-J ESC-)-0 ESC-)-I ESC-$-)-@ ESC-$-)-B
G2: ESC-*-B ESC-*-J ESC-*-0 ESC-*-I ESC-$-*-@ ESC-$-*-B
G3: ESC-+-B ESC-+-J ESC-+-0 ESC-+-I ESC-$-+-@ ESC-$-+-B

漢字かな変換オプション

-Jx を使って漢字からの変換にのみ適用されるオプションです。 他の変換には影響しません。 辞書中で照合したものが複数ある時に、そのすべてを表示します。 多くの単語は複数の読みがあります。 KAKASI ではインストール時に最も読まれそうな辞書を hoseidict で与えていますが、 それ以外に可能な読み方があれば {} でくくって表示します。

        素子 -> {もとこ|そし} 漢字からの変換で変換ごとに空白等の区切を入れるようにします。 前にすでに改行、空白、TAB が入っていればなにもしませんが、 なければ空白文字を入れます。 また後ろにも空白を入れます。 漢字かな混じり文をローマ字に変換する場合には不可欠ですね。

    "漢字かな混じり文をローマ字に変換"
    " kan'zi kana ma ziri bun' woro-ma zi ni hen'kan' "

ふりがなモード。 つまり変換前の漢字の脇にその読みを差し込みます。

    "変換前の漢字の脇に"

"変換前[へんかんまえ]の漢字[かんじ]の脇[わき]に"

漢字熟語中に含まれる、空白や改行を除いて読むようにします。 複数の行に改行で分割されたり、行の先頭にタブや引用符がある時 でもよみがなの解釈が行えるようにします。 読みとばす文字の default は{改行 タブ 空白}ですが、 任意の ascii 文字が追加できます。 JUNET のニュースならば、引用を示す -c'>' とするといいでしょう。 以下の例では -c">_" としたものです。

    >> このバグについてはこれから検
    >> 討してみます。 谷_山__浩_子

    >> このバグについてはこれからけんとう
    >> してみます。 たにやま___ひろこ_

漢字をローマ字に変換する場合に、 先頭のアルファベットを大文字にします。 -Ja -Jj と共に使った場合のみ有効です。

漢字をローマ字に変換する場合に、 アルファベットをすべて大文字にします。 -Ja -Jj と共に使った場合のみ有効です。

その他のオプション
ローマ字への変換様式をヘボン式から訓令式に変更します。 例えば、'し' は標準では 'shi' ですが、 'si' になります。 -r のみもしくは、 -rh などの指定では Hepburn (ヘボン) 式になります。

文字の出力ごとに fflush() を呼びます。 system V などで端末出力をすぐ見たい時に必要になるかもしれません。 分かち書きをします。詳しくは、README.wakati をご覧下さい。

辞書
KAKASI ではユーザの辞書を任意に追加することができます。使用できる辞書は SKK の辞書に準じたフォーマットか Wnn の ASCII 形式などのように、 1 行に読みと熟語の順に並んでいて、 空白、タブ、カンマ等で区切られているものが使えます。 辞書の漢字コーディングは JIS または EUC に限ります。 詳細については JISYO というファイルを参照してください。

環境変数
kanwadict の場所 (ファイル名を含むフルパス) を指定することができます。 省略時は $prefix/share/kakasi/kanwadict を設定したのと同じことになります。 itaijidict の場所 (ファイル名を含むフルパス) を指定することができます。 省略時は $prefix/share/kakasi/itaijidict を設定したのと同じことになります。

AUTHOR
高橋 裕信 <takahasi@tiny.or.jp>

FILES
KAKASI の基本辞書です。 インストール時に mkkanwa によって作成されます。

SEE ALSO
mkkanwa(1)

DIAGNOSTICS
辞書にトラブルがあれば 0 以外の値を返します。

BUGS
何かありましたら、高橋さんにではなく、KAKASI プロジェクト <kakasi-dev@namazu.org> までお知らせ下さい。