GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Lingua::JA::Moji-ja(3) User Contributed Perl Documentation Lingua::JA::Moji-ja(3)

Lingua::JA::Moji - 総合日本文字変換「文字ュール」

日本の文字の総合変換

    use Lingua::JA::Moji qw/kana2romaji romaji2kana/;
    use utf8;
    my $romaji = kana2romaji ('あいうえお');
    # $romaji is now 'aiueo'.
    my $kana = romaji2kana ($romaji);
    # $kana is now 'アイウエオ'.

本モジュールはあらゆる日本の文字変換を目的とします。

全てのfunctionはユニコードを前提とします。全ての入出力はutf-8でやる。

かな ⇄ ローマ字

仮名をローマ字に.

    use Lingua::JA::Moji 'kana2romaji';

    $romaji = kana2romaji ("うれしいこども");
    # $romaji = 'uresîkodomo'

仮名をローマ字に変換。

オプションは関数の2番目の引数でハシュリファレンスとして入ります。

    use utf8;
    $romaji = kana2romaji ("しんぶん", {style => "hepburn"});
    # $romaji = "shimbun"

可能なオプションは

style
ローマ字の種類。
undef
ディフォルトは日本式(「つづり」が「tuduri」, 「少女」が「syôzyo」)。
passport
パスポート式(「伊藤」が「itoh」)
kunrei
訓令式(少学校4年で習うローマ字法)
hepburn
ヘボン式(「つづり」が「tsuzuri」, 「少女」が「shōjo」)。 これを選べば、下記のuse_mが真になり、ve_typeがmacronになります。
common
「ジェット」が「jetto」になります。「ウェ」が「we」になります。
use_m
真なら「しんぶん」が「shimbun」 偽なら「ぐんま」が「gunma」
ve_type
長い母音はどの様に表現する。
undef
曲折アクセント(ô)を使う。
macron
マクロン(ō)を使う。
passport
「アー」、「イー」、「ウー」、「エー」が「a」, 「i」, 「u」, 「e」になり、「オー」が「oh」になる。
none
「アー」、「イー」、「ウー」、「エー」ガ「a」, 「i」, 「u」, 「e」, 「o」になる。
wapuro
「アー」、「イー」、「ウー」、「エー」ガ「a-」, 「i-」, 「u-」, 「e-」, 「o-」になる。「おう」が「ou」など、仮名の長音を仮名で代表するよう、ロー マ字入力のようなことです。
wapuro
ワープロローマ字。長音符を使わない。「少女」が「shoujo」など。
wo
     kana2romaji ("ちりぬるを", { wo => 1 });
    

"wo"が真なら、「を」が"wo"になります。そうでもない場合は"o"になります。

ローマ字を仮名に.

    use Lingua::JA::Moji 'romaji2kana';

    $kana = romaji2kana ('yamaguti');
    # $kana = 'ヤマグチ'

ローマ字をカタカナに変換する。ローマ字はできるだけ幅広く受け入れる。 ローマ字をひらがなに変換したいときは"romaji2hiragana"をお使いください。

ローマ字変換のオプションは関数の2番目の引数でハシュリファレンスとして入る。

     $kana = romaji2kana ($romaji, {wapuro => 1});

長音「ou」を「オー」ではなく、「オウ」にしたいときはwapuroを真にする "wapuro => 1"

     $kana = romaji2kana ($romaji, {ime => 1});

"ime => 1"オプションでIMEのような変換ができます。たとえば、"gumma"が「グッマ」、"onnna"が「オンナ」となります。パスポートローマ字 ("Ohshimizu") は無効となります。

ローマ字をひらがなに.

    use Lingua::JA::Moji 'romaji2hiragana';

    $hiragana = romaji2hiragana ('babubo');
    # $hiragana = 'ばぶぼ'

ローマ字をひらがなに変関する。オプションは"romaji2kana"と同じ。wapuroオプション もオンにしたら、「ou」が「おー」ではなく、「おう」になる。

    use Lingua::JA::Moji 'romaji_styles';

    my @styles = romaji_styles ();
    # Returns a true value
    romaji_styles ("hepburn");
    # Returns the undefined value
    romaji_styles ("frogs");

引数があれば、その引数をローマ字方法として認めるなら真、認めないなら偽。

引数がなければ、すべてのローマ字方法をハシュリファレンスの列として戻す。

    use Lingua::JA::Moji 'is_voiced';

    if (is_voiced ('が')) {
         print "が is voiced.\n";
    }

仮名かローマ字は濁音(゛)、半濁音(゜)がついていれば、真、ついていなければ偽(undef)。

    use Lingua::JA::Moji 'is_romaji';

    # The following line returns "undef"
    is_romaji ("abcdefg");
    # The following line returns a defined value
    is_romaji ('loyehye');
    # The following line returns a defined value
    is_romaji ("atarimae");

アルファベットの列はローマ字に見えるなら真、見えないなら偽。

    use Lingua::JA::Moji 'is_romaji_strict';

    # The following line returns "undef"
    is_romaji_strict ("abcdefg");
    # The following line returns "undef"
    is_romaji_strict ('loyehye');
    # The following line returns a defined value
    is_romaji_strict ("atarimae");

アルファベットの列はローマ字に見えるなら真、見えないなら偽。"is_romaji"より厳しく、コンピューター入力に見えるかどうかではなく、本当に「日本語」かどうか確認する。

    use Lingua::JA::Moji 'normalize_romaji';

    $normalized = normalize_romaji ('tsumuji');

"normalize_romaji"はかなやローマ字で書いた言葉を比べるため、かなやローマ字の言葉を決まったローマ字の書き方になおします。この「決まった」ローマ字は本モジュール限定のもので、あくまでも違ったかなや違ったローマ字法で書いた言葉を比べるためだけのものに過ぎませんので、正式なローマ字法と間違わないように。

仮名を仮名に変換すること。

ひらがなをカタカナに.

    use Lingua::JA::Moji 'hira2kata';

    $katakana = hira2kata ('ひらがな');
    # $katakana = 'ヒラガナ'

平仮名をかたかなに変換します。長音符は変わりません。(「オー」は「おう」になりません。)

カタカナをひらがなに.

    use Lingua::JA::Moji 'kata2hira';

    $hiragana = kata2hira ('カキクケコ');
    # $hiragana = 'かきくけこ'

かたかなを平仮名に変換します。長音符は変換しません。

仮名をカタカナに.

    use Lingua::JA::Moji 'kana2katakana';

全角かたかな、ひらがな、半角かたかな、丸かたかななどあらゆる「仮名」を全角かたかなに変換する。

    use Lingua::JA::Moji 'kana_to_large';

    $large = kana_to_large ('ぁあぃい');
    # $large = 'ああいい'

「ぁ」など小さい仮名を「あ」に変換する。

    use Lingua::JA::Moji 'nigori_first';

    my @list = (qw/カン スウ ハツ オオ/);
    nigori_first (\@list);
    # Now @list = (qw/カン スウ ハツ オオ ガン ズウ バツ パツ/);

一番最初のかなに濁点又は半濁点をつける.

    use Lingua::JA::Moji 'InHankakuKatakana';

    use utf8;
    if ('ア' =~ /\p{InHankakuKatakana}/) {
        print "ア is half-width katakana\n";
    }

"InHankakuKatakana"は正規表現に使う半角カタカナにマッチする。

仮名を半角カタカナに.

    use Lingua::JA::Moji 'kana2hw';

    $half_width = kana2hw ('あいウカキぎょう。');
    # $half_width = 'アイウカキギョウ。'

あらゆる仮名文字を半角カタカナに変換する。かたかなのみを変換する場合は"katakana2hw"を使ってください。

半角カタカナをカタカナに.

    use Lingua::JA::Moji 'hw2katakana';

    $full_width = hw2katakana ('アイウカキギョウ。');
    # $full_width = 'アイウカキギョウ。'

半角カタカナを全角カタカナに変換する。

カタカナを半角カタカナに.

    use Lingua::JA::Moji 'katakana2hw';

    $hw = katakana2hw ("あいうえおアイウエオ");
    # $hw = 'あいうえおアイウエオ'

全角かたかなを半角かたかなに変換し、ひらがなをそのままにする。"kana2hw"も参照。

    use Lingua::JA::Moji 'is_kana';

入力が仮名のみの場合、真、入力が仮名なでない文字を含む場合、偽(undef)。

    use Lingua::JA::Moji 'is_hiragana';

入力が平仮名のみの場合、真、入力が平仮名なでない文字を含む場合、偽(undef)。「ー」があれば偽になる。

    use Lingua::JA::Moji 'kana_order';

    $kana_order = kana_order ();

仮名の(適当な)順番を返す。

    use Lingua::JA::Moji 'katakana2syllable';

    $syllables = katakana2syllable ('ソーシャルブックマークサービス');

カタカナをシラブルにわける。たとえば、「ソーシャル」 は'ソ', 'ー', 'シ', 'ャ', 'ル'という意味のない文字ではなく、日本語の 「原子」の'ソー', 'シャ', 'ル'になる。

    use Lingua::JA::Moji 'InKana';

    $is_kana = ('あいうえお' =~ /^\p{InKana}+$/);
    # $is_kana = '1'

正規表現に使うカタカナとひらがなにマッチする。

詳しくいうと以下の正規表現

    qr/\p{Katakana}|\p{InKatakana}|\p{InHiragana}|ー|゙|゚>/

と殆どおなじ効果ですが、"\p{Katakana}"がマッチする未使用のコードポイントはマッチしません。「・」もマッチしません。

    use Lingua::JA::Moji 'square2katakana';

    $kata = square2katakana ('㌆');
    # $kata = 'ウォン'

「㌆」を「ウォン」にするなど。

    use Lingua::JA::Moji 'katakana2square';

    $sq = katakana2square ('アイウエオウォン');
    # $sq = 'アイウエオ㌆'

可能なかぎり、「ウォン」を「㌆」にするなど。

全角英数字の変換・認識。

    use Lingua::JA::Moji 'InWideAscii';

    use utf8;
    if ('A' =~ /\p{InWideAscii}/) {
        print "A is wide ascii\n";
    }

正規表現に使う全角英数字にマッチする。

全角英数字を半角英数字に.

    use Lingua::JA::Moji 'wide2ascii';

    $ascii = wide2ascii ('abCE019');
    # $ascii = 'abCE019'

全角英数字を半角英数字(ASCII)に変換する。

半角英数字を全角英数字に.

    use Lingua::JA::Moji 'ascii2wide';

    $wide = ascii2wide ('abCE019');
    # $wide = 'abCE019'

半角英数字(ASCII)を全角英数字に変換する。

仮名を和文モールス符号に.

    use Lingua::JA::Moji 'kana2morse';

    $morse = kana2morse ('しょっちゅう');
    # $morse = '--.-. -- .--. ..-. -..-- ..-'

かなをモースコードに変換する。日本語のモースコードは「っ」など小さいかなを表現できないので、仮名をモースコードにして、モースコードからまた仮名にする場合は「しょっちゅう」が「シヨツチユウ」になる。

和文モールス符号を仮名に.

    use Lingua::JA::Moji 'morse2kana';

    $kana = morse2kana ('--.-. -- .--. ..-. -..-- ..-');
    # $kana = 'シヨツチユウ'

モースコードをかなに変換する。モースコードは分かち書きが必要だ。

欠点

テストが不十分。

仮名を点字に.

    use Lingua::JA::Moji 'kana2braille';

仮名を点字に変換する。

欠点

きちんとしたテストがない。日本語を点字に変換することはわたちがきが必要だがこの関数はそれをしないので、不十分な変換機能だ。

点字を仮名に.

    use Lingua::JA::Moji 'braille2kana';

点字をカタカナに変換。

仮名を丸付けカタカナに.

    use Lingua::JA::Moji 'kana2circled';

    $circled = kana2circled ('あいうえお');
    # $circled = '㋐㋑㋒㋓㋔'

仮名を丸付けかたかなに変換する。丸付け「ン」がないので、ンはそのままとなる。 丸付け片假名はユニコード32D0〜32FEにある。

丸付けカタカナを仮名に.

    use Lingua::JA::Moji 'circled2kana';

    $kana = circled2kana ('㋐㋑㋒㋓㋔');
    # $kana = 'アイウエオ'

丸がついているかたかなを全角かたかなに変換する。

親字体を旧字体に.

    use Lingua::JA::Moji 'new2old_kanji';

    $old = new2old_kanji ('三国 連太郎');
    # $old = '三國 連太郎'

親字体を旧字体に変換する

欠点

新旧字体の情報は適当なものだ。「弁」は旧字体が三つなので、変換不可能。

旧字体を親字体に.

    use Lingua::JA::Moji 'old2new_kanji';

    $new = old2new_kanji ('櫻井');
    # $new = '桜井'

旧字体を親字体に変換する

    use Lingua::JA::Moji 'circled2kanji';

    $kanji = circled2kanji ('㊯');
    # $kanji = '協'

丸付け漢字を普通の漢字に変換する。

    use Lingua::JA::Moji 'kanji2circled';

    $kanji = kanji2circled ('協嬉');
    # $kanji = '㊯嬉'

漢字を丸付け漢字に変換する。

    use Lingua::JA::Moji 'bracketed2kanji';

    $kanji = bracketed2kanji ('㈱');
    # $kanji = '株'

括弧漢字を普通の漢字に変換する。

    use Lingua::JA::Moji 'kanji2bracketed';

    $kanji = kanji2bracketed ('株');
    # $kanji = '㈱'

普通の漢字を括弧漢字をに変換する。

実験的に仮名とキリル文字の変換をする。キリル文字に詳しい方の確認がない。

仮名をキリル文字に.

    use Lingua::JA::Moji 'kana2cyrillic';

    $cyril = kana2cyrillic ('シンブン');
    # $cyril = 'симбун'

キリル文字をカタカナに.

    use Lingua::JA::Moji 'cyrillic2katakana';

    $kana = cyrillic2katakana ('симбун');
    # $kana = 'シンブン'

    use Lingua::JA::Moji 'kana2hangul';

    $hangul = kana2hangul ('すごわざ');
    # $hangul = '스고와자'

欠点

「ん」を変換しない
確認がない

<http://kajiritate-no-hangul.com/kana.html>を使ってみましたがただしいかどうか証明がありません。

CPANの本モジュール意外のものは次にあります

Data::Validate::Japanese
This contains four validators for kanji and kana, "is_hiragana", corresponding to "is_hiragana" in this module, and three more, "is_kanji", "is_katakana", and "is_h_katakana", for half-width katakana.
Lingua::JA::Kana
This contains convertors for hiragana, half width and full width katakana, and romaji. As of version 0.07 [Aug 06, 2012], the romaji conversion is less complete than this module.
Lingua::JA::Romanize::Japanese
Romanization of Japanese. The module also includes romanization of kanji via the kakasi kanji to romaji convertor, and other functions.
Lingua::JA::Romaji::Valid
Validate romanized Japanese. This module does the same thing as "is_romaji" in Lingua::JA::Moji.
Lingua::JA::Hepburn::Passport
Passport romanization, which means converting long vowels into "OH". This corresponds to "kana2romaji" in the current module using the "passport => 1" option, for example

    $romaji = kana2romaji ("かとう", {style => 'hepburn', passport => 1});
    
Lingua::JA::Fold
Full/half width conversion, collation of Japanese text.
Lingua::JA::Romaji
Romaji to kana/kana to romaji conversion.
Lingua::JA::Regular::Unicode
This includes hiragana to katakana, full width / half width, and wide ascii conversion. The strange name is due to its being an extension of Lingua::JA::Regular using Unicode-encoded strings.
Lingua::JA::NormalizeText
A huge collection of normalization functions for Japanese text. If Lingua::JA::Moji does not have it, Lingua::JA::NormalizeText may do.
Lingua::KO::Munja
This is similar to the present module for Korean.

Lingua::JA::Romanize::MeCab
Romanization of Japanese language with MeCab
Text::MeCab
Lingua::JA::Romanize::Japanese
Romanization of Japanese language via kakasi.

幣モジュールは冨田尚樹氏の「Perl CPANモジュールガイド」に説明しています。 (ISBN 978-4862671080 WEB+DB PRESS plus, 2011年4月出版)

This module exports its functions only on request. To export all the functions in the module,

    use Lingua::JA::Moji ':all';

Ben Bullock, "<bkb@cpan.org>"

Copyright 2008-2014 Ben Bullock, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Thanks to Naoki Tomita, David Steinbrunner, and Neil Bowers for fixes.
2015-02-12 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.