かな文字表記を ローマ字表記に 変換 する VBAの プログラムです。おこのみで 手なおし して おつかい ください。
ローマ字 変換 プログラム
はじめに
ふりがなは ローマ字に 変換 できない
ローマ字と ふりがな
ローマ字と ふりがなは おなじ 音声を ちがう 表音文字で 書いた ものです。
完全に 自動では ふりがなを ローマ字に 変換 できません。そういう プログラムを つくろうと する 人は おおい ようですが,それは できません。インターネットには ふりがなを ローマ字に 変換 すると うたっている ツールが たくさん 公開 されていますが,それらは すべて 不完全で,ときどき まちがった 結果を 出力を します。
その 理由は かんたんです。ローマ字は ふりがなを ABCに 変換 した ものでは ないからです。ローマ字は 日本語の 音声を ABCに 変換 した ものです。ふりがなから 音声が わかれば いいのですが,ふりがなを みた だけでは 音声が わからない ことも あります。そう なると,ローマ字の つづりは きめられません。くわしくは「なぜ ふりがなでは ダメなのか?」を およみ ください。
よみかたは ローマ字に 変換 できる
もし 音声が わかれば,その 音声を ローマ字に 変換 できます。音声を かな文字で しめすのは かんたんです。ふりがなを すこし 改造 して,「ー」を つかって 長音を 書きます。たとえば,「子牛」を「コウシ」,「講師」を「コーシ」と 書きます。このような かな文字表記を ここでは よみかたと よんでいます。
コウシ(子牛)コーシ(講師)
コウリ(小売り)コーリ(高利)
サトー(佐藤)ユーコ(優子)
ホッカイドー(北海道)キューシュー(九州)
ギューニュー(牛乳)コージョー(工場)
この よみかたは かんたんな プログラムで ローマ字に 変換 できます。ここに あるのは その 処理を おこなう プログラムです。言語は VBA です。おこのみで 手なおし して ご自由に おつかい ください。
単語を ローマ字に したい ときは よみかたを 入力 する ことに だけ 気を つければ 十分ですが,文を 処理 したい ときは ほかにも 気を つけないと いけない ことが あります。くわしくは「気を つける こと」を およみ ください。
VBA関数
ローマ字の 方式に 対応 した 7種類の 関数が あります。じっさいに つかう ときは 関数の 名前を わかりやすい ものに かえておくと いいでしょう。
ローマ字の 方式 | 関数 |
---|---|
日本式 | KatakanaToRoomaziN |
訓令式 | KatakanaToRoomaziK |
訓令式(拡張版) | KatakanaToRoomaziKx |
ヘボン式 | KatakanaToRoomaziH |
「英語式」 | KatakanaToRoomaziE |
「パスポート式」 | KatakanaToRoomaziP |
「パスポートむけ訓令式」 | KatakanaToRoomaziQ |
つかいかた
関数は 全角カタカナの よみかたを ローマ字に 変換 します。関数の コードを「標準モジュール」に コピー&ペースト して おつかい ください。
参考:標準モジュールを 追加 する 方法 。
KatakanaToRoomaziK("イチロー") → itirô
KatakanaToRoomaziH("イチロー") → ichirō
KatakanaToRoomaziE("イチロー") → ichiro
関数の つかいかた
プログラム
日本式
訓令式の 前身に あたる ふるい 方式です。一部の 特殊音に 対応 しています。
訓令式
学校の「国語」で おしえている ローマ字です。特別な 事情が なければ 訓令式を つかうのが ローマ字の ルールです。一部の 特殊音に 対応 しています。
訓令式(拡張版)
訓令式を すこし 拡張 した 方式です。特殊音に 対応 しています。
ヘボン式
学校の「国語」で おしえている ヘボン式です。英語風の つづりに しなければ ならない 特別な 事情が ある ときに つかいます。「英語」で ならう ヘボン式や パスポートの ヘボン式とは ちがいますから,まちがえない ように して ください。特殊音に 対応 していません。
「英語式」
学校の「英語」で おしえている ヘボン式で,もっとも よく つかわれている ローマ字です。一般に「ヘボン式」と よばれているのは この 書きかたです。ただし,これは 英語の 書きかたです。日本語から 英語に なった ことばは 基本的に この つづりに なりますが,英語に なっていない 日本語を この つづりに しても 意味が ありません。特殊音に 対応 していません。
「パスポート式」
パスポートの 名前を 書く ヘボン式です。「外務省ヘボン式」と よばれる ことも あります。「英語式」と ほぼ おなじ ものです。一部の 特殊音に 対応 しています。すべて 大文字に なります。
「パスポートむけ訓令式」
パスポートの 名前を 書く 訓令式です。この サイトは この 書きかたを すすめています。訓令式(拡張版)と ほぼ おなじ ものです。特殊音に 対応 しています。すべて 大文字に なります。
気を つける こと
-
長音が ない ときの よみかたは ふりがなと おなじです。
デンワ(電話)
ジテンシャ(自転車)
-
長音が ある ときの よみかたは ふりがなと ちがいます。
デンポー(電報)
ジドーシャ(自動車)
-
よみかたは 基本的に 発音を そのまま 書いた ものですが,漢字の 音よみで ふりがなが「えい」「けい」「せい」などに なる ものは 例外です。じっさいの 発音は〈エー〉〈ケー〉〈セー〉などに ちかいですが,よみかたは ふりがなと おなじ「えい」「けい」「せい」などです。
エイガ(映画)
セイメイ(生命)
-
ふつう,よみかたの「ー」は ふたつの 漢字を またぎません。「ー」に するのか しないのか まよったら,漢字と 漢字の あいだに「・」を いれて かんがえて ください。まよう 部分が「・」を またいでいたら「ー」に しません。たとえば,野上(のうえ)さんは「の・うえ」なので「ノウエ」,納江(のうえ)さんは「のう・え」なので「ノーエ」です。尾岡(おおか)さんは「お・おか」なので「オオカ」,大賀(おおか)さんは「おお・か」なので「オーカ」です。
ノウエ(野上) ノーエ(納江)
オオカ(尾岡) オーカ(大賀)
-
ローマ字は ことばの あいだに 空白を いれる 分かち書きに しなければ なりませんが,この ツールに ことばを きりはなす はたらきは ありません。そのため,入力の 段階で あらかじめ きりはなしておく 必要が あります。
クーソー カガク ショーセツ(空想科学小説)
セカイ イッシュー リョコー(世界一周旅行)
-
助詞の「は」「へ」「を」は「ワ」「エ」「オ」と 書きます。
ワタシ ワ(私は)
ソレ オ(それを)
-
日本式を つかう ときは,「ジ/ヂ」「ズ/ヅ」などを つかいわけて ください。
メイヂ(明治)
アヅキ(小豆)
- ローマ字の 書きかたには 規則が あり,それに あわせて よみかたを 入力 しないと ただしい ローマ字に 変換 できません。「エイ」「ケイ」「セイ」なども そんな 規則の ひとつで,ほかにも 規則が たくさん あります。たとえば,「聞いた」「大きい」は〈キータ〉〈オーキー〉に ちかいですが,「キイタ」「オーキイ」と 入力 しなければ なりません。「~である」「~ですか」は「~デ アル」「~デス カ」と 入力 しなければ なりません。けっきょく,この ツールを つかいこなすには ローマ字の 勉強が 必要です。
- 確実に 変換 できる 文字列を 入力 して ください。
おぎない
- 大文字と 小文字の 変換には VBAの Ucase(), Lcase(), StrConv() や Excelワークシート関数の UPPER(), LOWER(), PROPER() が つかえます。文字列に 長音符号つき文字(û, ô など)が ふくまれていても 問題なく はたらきます。ただし,PROPER() などは きる印(')などの つぎの 文字が 大文字に なって しまう ようです。
- くせの ある コードですが,「ローマ字表」が ほぼ そのままの 形で うめこんでありますから,VBAの プログラミングが よく わからない 人でも かんたんに 改造 できるでしょう。
- ふりがなを ローマ字に 変換 すると うたっている ツールは たくさん あります。しかし,それらは「ワープロ式」や「英語式」を 出力 する もの ばかりです。「ワープロ式」も「英語式」も ただしい ローマ字では ありません。しかも,「英語式」を 出力 する ツールは ときどき 変換に 失敗 します「ワープロ式」を 出力 する ものには transliterator と 書かれている ことも ありますが,ただしい ローマ字は ふりがなの transliteration では ありません。くわしくは「字訳」を およみ ください。「英語式」を 出力 する ツールに つぎの 名前の ふりがなを 入力 してみれば,いくつかで おかしく なるのが わかるでしょう:MATSUURA(松浦),INOUE(井上),KINOUCHI(木ノ内),KOUME(小梅),SHINOURA(篠浦),HIROO(広尾),TOYOOKA(豊岡)。。
- 形態素解析ツールの 中にも ローマ字を 出力 できる ものが あります。しかし,その 出力は 大抵「ワープロ式」で,ローマ字の ルールに のっとった 分かち書きにも されていませんMeCab は 辞書に よみかたの データを もっています。これを 応用 すれば,漢字かな表記の 単語を ある 程度 ただしく ローマ字に 変換 できます。品詞の 情報を つかって 分かち書きを うまく コントロール できれば,実用的な ツールも つくれるでしょう。。