User Commands 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 (a) いわゆる ascii です。'〜', '\' が含まれています。 JISROMAN (j) いわゆる jis roman です。' ̄' , '¥' が含まれて い ます。 GRAPHIC (g) これについては正しい名称を知りません。DEC 社の端末 で表示される罫線などがこの文字セットに含まれます。 かたかな (k) JIS x0201 で定義されている文字セットのうち GR の部 分です。 以下は JIS x0208 を便宜上分割したものです。規格 上 は全体で一つの文字セットです。 漢字 (J) 16 区以降の `亜' に続く文字です。 ひらがな (H) 4 区にあるひらがなです。 SunOS 5.6 Last change: LOCAL 1 User Commands KAKASI(1) かたかな (K) 5 区にあるかたかなです。ひらがなと 1 区ずれただ け でなく、独自の個性が発揮されているものです。 記号 (E) 上記以外の文字です。 次の文字セット間の変換が指定できます。 ASCII -> JISROMAN, 記号 JISROMAN -> ASCII, 記号 GRAPHIC -> ASCII, JISROMAN, 記号 JISx0201のかたかな -> ASCII, JISROMAN, カナ, ひらがな 記号 -> ASCII, JISROMAN かたかな -> ASCII, JISROMAN, JISx0201のかたかな, ひらがな ひらがな -> ASCII, JISROMAN, JISx0201のかたかな, カナ 漢字 -> ASCII, JISROMAN, JISx0201のかたかな, カ ナ, ひらがな 漢字からの変換では読み上げによって変換します。JISx0201かたか な、 かたかな、ひらがな、漢字から ASCII と JISROMAN への変換 ではローマ字変換を行います。 文字セットの変換指定オプション -a[jE] E が指定されると JISx0208 の記号への変換になります。 そ れ 以 外 のコードが指定されるか, 引数がないと変換しませ ん。 -j[aE] E が指定されると JISx0208 の記号への変換になります。 -g[ajE] ちょっと無理があります。 -k[ajKH] aj を指定するとローマ字に変換します。 KH では JISx0208 のかたかなやひらがなに変換します。 -E[aj] JISx0208 の記号を ASCII または JIS ROMAN にします。現在 の バー ジョ ンではそのほとんどが手抜き工事になっていま SunOS 5.6 Last change: LOCAL 2 User Commands KAKASI(1) す。 -H[ajkK] aj を指定するとローマ字に変換します。 k ではJISx0201 の かたかなに、 K ではかたかなに変換します。 -K[ajkH] aj を指定するとローマ字に変換します。 k ではJISx0201 の かたかなに、 H ではひらがなに変換します。 -J[ajkHK] まず辞書を引いて読み上げ、 aj が指定されるとローマ字 に 変 換します。 k ではJISx0201のかたかなに、 H ではひらが なに、 K ではかたかなに変換します。 Example: 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 -i{jis, oldjis, euc, dec, sjis} 入力側の漢字コードを指定します。もしも指定されない場 合 に は入力から判断しようとします。 KAKASI は入力をためこ んで統計的に処理する方法がとれないので、最初の漢字ら し い文字をもって判断します。 1. ESC-$-B JIS コーディングと解釈します。またこれ以降は G0 に新JIS が指示されたものとします。 SunOS 5.6 Last change: LOCAL 3 User Commands KAKASI(1) 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 に解釈されてしまいます。 -o{jis, oldjis, euc, dec, 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のかたかな SunOS 5.6 Last change: LOCAL 4 User Commands KAKASI(1) 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 を使って漢字からの変換にのみ適用されるオプションです。他 の変換には影響しません。 SunOS 5.6 Last change: LOCAL 5 User Commands KAKASI(1) -p 辞書中で照合したものが複数ある時に、そのすべてを表示 し ま す。多くの単語は複数の読みがあります。 KAKASI ではイ ンストール時に最も読まれそうな辞書を hoseidict で与えて い ますが、それ以外に可能な読み方があれば {} でくくって 表示します。 素子 -> {もとこ|そし} -s 漢字からの変換で変換ごとに空白等の区切を入れるように し ま す。前にすでに改行、空白、TAB が入っていればなにもし ませんが、なければ空白文字を入れます。また後ろにも空 白 を 入れます。漢字かな混じり文をローマ字に変換する場合に は不可欠ですね。 "漢字かな混じり文をローマ字に変換" " kan'zi kana ma ziri bun' woro-ma zi ni hen'kan' " -f ふりがなモード。つまり変換前の漢字の脇にその読みを差 し 込みます。 "変換前の漢字の脇に" "変換前[へんかんまえ]の漢字[かんじ]の脇[わき]に" -c 漢字熟語中に含まれる、空白や改行を除いて読むようにし ま す。 複数の行に改行で分割されたり、行の先頭にタブや引用 符がある時でもよみがなの解釈が行えるようにします。読 み と ば す 文字の default は{改行タブ空白}ですが、任意の ascii 文字が追加できます。JUNET のニュースならば、引 用 を 示す -c'>' とするといいでしょう。以下の例では -c">_" としたものです。 >> このバグについてはこれから検 >> 討してみます。 谷_山__浩_子 >> このバグについてはこれからけんとう >> してみます。 たにやま___ひろこ_ -C 漢字をローマ字に変換する場合に、先頭のアルファベット を 大文字にします。-Ja -Jj と共に使った場合のみ有効です。 -U 漢字をローマ字に変換する場合に、アルファベットをすべ て 大文字にします。-Ja -Jj と共に使った場合のみ有効です。 その他のオプション -rk ローマ字への変換様式をヘボン式から訓令式に変更しま す。 例えば、'し' は標準では 'shi' ですが、'si' になります。 -r のみもしくは、 -rh などの指定では Hepburn (_ヘ_ボ _ン ) 式になります。 SunOS 5.6 Last change: LOCAL 6 User Commands KAKASI(1) -u 文字の出力ごとに fflush() を呼びます。system V などで端 末出力をすぐ見たい時に必要になるかもしれません。 -w 分かち書きをします。詳しくは、README.wakati をご覧下 さ い。 辞書 KAKASI ではユーザの辞書を任意に追加することができます。使 用 で き る辞書は SKK の辞書に準じたフォーマットか Wnn の ASCII 形式などのように、1 行に読みと熟語の順に並んでいて、空白、タ ブ、 カ ンマ等で区切られているものが使えます。辞書の漢字コー ディングは JIS または EUC に限ります。詳細について は JISYO というファイルを参照してください。 環境変数 KANWADICTPATH kanwadict の場所 (ファイル名を含むフルパス) を指定す る ことができます。省略時は $prefix/share/kakasi/kanwadict を設定したのと同じことになります。 ITAIJIDICTPATH itaijidict の場所 (ファイル名を含むフルパス) を指定する こ と が で き ま す。 省 略 時 は $prefix/share/kakasi/itaijidict を設定したのと同じこ と になります。 AUTHOR 高橋裕信 FILES $prefix/share/kakasi/kanwadict KAKASI の基本辞書です。インストール時に mkkanwa に よっ て作成されます。 SEE ALSO mkkanwa(1) DIAGNOSTICS 辞書にトラブルがあれば 0 以外の値を返します。 BUGS 何かありましたら、高橋さんにではなく、KAKASI プロ ジェ ク ト までお知らせ下さ SunOS 5.6 Last change: LOCAL 7