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 'アイウエオ'.
use Lingua::JA::Moji 'kana2romaji'; $romaji = kana2romaji ("うれしいこども"); # Now $romaji = 'uresîkodomo'
仮名をローマ字に変換。
オプションは関数の2番目のハシュリファレンスで入ります。
use utf8; $romaji = kana2romaji ("しんぶん", {style => "hepburn"}); # $romaji = "shimbun"
可能なオプションは
ローマ字の種類。
ディフォルトは日本式(「つづり」が「tuduri」, 「少女」が「syôzyo」)。
パスポート式(「伊藤」が「itoh」)
訓令式(少学校4年で習うローマ字)
ヘボン式(「つづり」が「tsuzuri」, 「少女」が「shōjo」)。
真なら「しんぶん」が「shimbun」
長い母音はどの様に表現する。
曲折アクセントを使う。
マクロンを使う。
「アー」、「イー」、「ウー」、「エー」が「a」, 「i」, 「u」, 「e」になり、「オー」が「oh」になる。
「アー」、「イー」、「ウー」、「エー」ガ「a」, 「i」, 「u」, 「e」, 「o」になる。
「アー」、「イー」、「ウー」、「エー」ガ「a-」, 「i-」, 「u-」, 「e-」, 「o-」になる。「おう」が「ou」など、仮名の長音を仮名で代表するよう、ロー マ字入力のようなことです。
ワープロローマ字。長音符は使わない。「少女」が「shoujo」など。
use Lingua::JA::Moji 'romaji2hiragana'; $hiragana = romaji2hiragana ('babubo'); # Now $hiragana = 'ばぶぼ'
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 'romaji2kana'; $kana = romaji2kana ('yamaguti'); # Now $kana = 'ヤマグチ'
use Lingua::JA::Moji 'is_voiced'; if (is_voiced ('が')) { print "が is voiced.\n"; }
仮名かローマ字は濁音、半濁音がついていれば、真、ついていなければ偽です。
use Lingua::JA::Moji 'is_romaji'; # The following line returns "undef" is_romaji ("abcdefg"); # The following line returns a defined value is_romaji ("atarimae");
アルファベットの列はローマ字に見えるなら真、見えないなら偽。
use Lingua::JA::Moji 'normalize_romaji'; $normalized = normalize_romaji ('tsumuji');
use Lingua::JA::Moji 'hira2kata'; $katakana = hira2kata ($hiragana);
平仮名をかたかなに変換します。
use Lingua::JA::Moji 'kata2hira'; $hiragana = kata2hira ('カキクケコ'); # Now $hiragana = 'かきくけこ'
use Lingua::JA::Moji 'InHankakuKatakana'; use utf8; if ('ア' =~ /\p{InHankakuKatakana}/) { print "ア is half-width katakana\n"; }
use Lingua::JA::Moji 'kana2hw'; $half_width = kana2hw ('あいウカキぎょう。'); # Now $half_width = 'アイウカキギョウ。'
use Lingua::JA::Moji 'hw2katakana'; $full_width = hw2katakana ('アイウカキギョウ。'); # Now $full_width = 'アイウカキギョウ。'
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'); # Now $ascii = 'abCE019'
use Lingua::JA::Moji 'ascii2wide'; $wide = ascii2wide ('abCE019'); # Now $wide = 'abCE019'
use Lingua::JA::Moji 'is_kana';
use Lingua::JA::Moji 'is_hiragana';
use Lingua::JA::Moji 'kana2katakana';
use Lingua::JA::Moji 'kana2morse';
use Lingua::JA::Moji 'kana2braille';
use Lingua::JA::Moji 'braille2kana';
use Lingua::JA::Moji 'kana2circled'; $circled = kana2circled ('あいうえお'); # $circled = '㋐㋑㋒㋓㋔'; # Now $circled = '㋐㋑㋒㋓㋔'
use Lingua::JA::Moji 'circled2kana'; $kana = circled2kana ('㋐㋑㋒㋓㋔'); # Now $kana = 'アイウエオ'
use Lingua::JA::Moji 'new2old_kanji'; $old = new2old_kanji ('三国 連太郎'); # Now $old = '三國 連太郎'
親字体を旧字体に変換する
use Lingua::JA::Moji 'old2new_kanji'; $new = old2new_kanji ('櫻井'); # Now $new = '桜井'
旧字体を親字体に変換する
There is a mailing list for this module and Convert::Moji at http://groups.google.com/group/perl-moji.
For examples of this module in use, see http://www.lemoda.net/lingua-ja-moji/index.html.
There are some bugs with romaji to kana conversion and vice-versa.
Other Perl modules on CPAN include
This is where I got several of the ideas for this module from. It contains validators for kanji and kana.
This is where several of the ideas for this module came from. It contains convertors for hiragana, katakana (fullwidth only), and romaji. The romaji conversion is less complete than this module but more compact and probably much faster.
Romanization of Japanese. The module also includes romanization of kanji via the kakasi kanji to romaji convertor, and other functions.
Validate romanized Japanese.
This module exports its functions only on request. To export all the functions in the module,
use Lingua::JA::Moji ':all';
All the functions in this module assume the use of Unicode encoding. All input and output strings must be encoded using UTF-8.
Thanks to Naoki Tomita for various assitances (see http://groups.google.com/group/perl-moji/browse_thread/thread/10a42c35f7c22ebc).
Ben Bullock, <bkb@cpan.org>
<bkb@cpan.org>
Copyright 2008-2011 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.
To install Lingua::JA::Moji, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Lingua::JA::Moji
CPAN shell
perl -MCPAN -e shell install Lingua::JA::Moji
For more information on module installation, please visit the detailed CPAN module installation guide.