ローマ字 変換 プログラム
RÔMAZI HENKAN PUROGURAMU

はじめに
Hazime ni

ふりがなは ローマ字に 変換 できない
Hurigana wa Rômazi ni henkan dekinai

Microsoft Excel には ふりがなを ローマ字に 変換 する 関数が 用意 されて いません.そんな 関数は ないからです.

完全に 自動で ふりがなを ローマ字に 変換 する ことは できません.ふりがなを ローマ字に 変換 する ツールや ライブラリは たくさん ありますが,それらは すべて 不完全で,まちがった ローマ字を 出力 します.これは ローマ字を しらない 人が プログラムを つくって いるからですインターネットに 公開 されて いる プログラムに よく あるのは,ふりがなを 音節の 単位で 機械的に ABC表記に 変換 する だけか,それに ひきつづいて uu, oo, ou などを u, o, o(または ū, ō, ō)などに かきかえる ものです.しかし,この アルゴリズムでは うまく いきません.「井上 太郎(いのうえ たろう)」と いう 名前で かんがえると,前者は Inoue Tarou,後者は Inoe TaroInōe Tarō)を 出力 しますが,どちらも まちがいです.ローマ字を しらない 人が プログラムを つくると,プログラミングの スキルに 問題が なくても こう なります.これは しかたが ありません.日本の 政府が ローマ字教育を とことん おさえつけて いる せいで,一般人が ローマ字を しらないのは あたりまえだからです.

振り仮名とローマ字の関係の説明図

ふりがなと ローマ字の 関係

ふりがなと ローマ字に 単純な 対応関係は ありません.ふりがなを ABC表記に 変換 した ものが ローマ字だと おもって いる 人は おおいのですが,それは ちがいます.日本語の 音声を かな文字で かいた ものが ふりがなで,ABCで かいた ものが ローマ字です.これらは 音声を 文字列に 変換 する ところは おなじですが,変換の ルールが ちがうので,一般に ふりがなと ローマ字は つづりが 対応 しません.そのため,機械的に 文字を おきかえる だけの かんたんな 処理では ふりがなを ローマ字に 変換 できません.

音声ふりがなローマ字
格子コーシこうしkôsi
子牛コウシこうしkousi
おはようオハヨーおはようohayô
こんばんはコンバンワこんばんはkonbanwa

なぜ ふりがなでは ダメなのか?」でも おなじ ことを 説明 しています.

よみかたは ローマ字に 変換 できる
Yomikata wa Rômazi ni henkan dekiru

ふりがなは,すこし 改造 して 音声を そのまま かく ように すれば,ローマ字と 対応 する ように なります.具体的には,「ー」を つかって 長音を かき,助詞の「は」「へ」「を」を 発音どおりに〈わ〉〈え〉〈お〉と かきます.この 改造 した ふりがなを ここでは よみかたと よびますここでは ふりがなと ローマ字を 対応 させる ことが 目的なので これ だけで いいのですが,発音と 表記を 対応 させる ことが 目的なら,漢語の「エ段+い」も 改造 する 必要が あります.たとえば,「映画」の 発音は ほぼ【エーガ】なのに,ふりがなは〈えいが〉,ローマ字は eiga で,発音と 表記が 対応 して いません.これを あらためて〈えーが〉êga に すれば,発音と 表記が 対応 します.「映画」の ローマ字を êga に かえる かんがえは「もっと 日本語らしい かきかた」で くわしく 解説 して います.

よみかたは ローマ字と つづりが 対応 して いるので,かんたんな プログラムで ローマ字に 変換 できます.

音声よみかたローマ字
格子コーシコーシkôsi
子牛コウシコウシkousi
おはようオハヨーオハヨーohayô
こんばんはコンバンワコンバンワkonbanwa

ローマ字 変換 プログラム
Rômazi henkan puroguramu

あらまし
Aramasi

ローマ字の 方式に 対応 した 6種類の VBA関数が あります.じっさいに つかう ときは 関数の 名前を わかりやすい ものに かえて おくと いいでしょう.

ローマ字の 方式関数
日本式toRoomaziN
訓令式toRoomaziKx
ヘボン式toRoomaziH
「英語式」toRoomaziE
「パスポート式」toRoomaziP
「パスポートむけ訓令式」toRoomaziQ

もともとは Microsoft Excel で つかう ために つくった ものですが,LibreOffice Calc でも うごきますLibreOffice Calc の マクロは Microsoft Excel の マクロと 互換性が あり,ここに ある VBA関数は 1行 追加 する だけで Calc の マクロと しても つかえます.

関数を つかう ときは つぎの ように します.

VBA関数の使い方

VBA関数の つかいかた

くわしい つかいかたは「つかいかた」で 説明 して います.

VBA関数
VBA kansû

日本式

訓令式

ヘボン式

「英語式」

「パスポート式」

「パスポートむけ訓令式」

(おまけ1)ローマ字用の PROPER() Excel ワークシート関数の PROPER() には ken'iti(健一)が Ken'Iti に なって しまう 不具合が あります.ローマ字用の toProperCaseRoomazi() は Ken'iti に なります.

(おまけ2)「姓」「名」の 抽出 空白(全角・半角)・カンマ(全角・半角)・中点で くぎられた 文字列を 分割 して,その 一部を 抽出 する 関数です.extractStringPart("やまだ はなこ", n) で,n が 0 なら "やまだ" に,n が 1 なら "はなこ" に,n が 2 なら "---" に なります.「 やまだ  はなこ 」「やまだ , はなこ」「やまだ」の ように 書式が ばらばらの データを 統一的に あつかえます.

つかいかた
Tukaikata

VBA関数を つかうには 準備が 必要です.


Microsoft Excel で つかう ばあい,つぎの 手順で 必要な VBA関数の コードを モジュールに コピー&ペースト して ください.

(手順1)Alt+F11で VBE(Visual Basic Editor)を 起動 する.

(手順2)「挿入」→「標準モジュール」で モジュール(Module1)を つくる.

Excelの準備1

Excel の 準備

(手順3)必要な VBA関数の コードを コピー&ペースト する.

Excelの準備2

Excel の 準備

(手順4)VBEの ウインドウを とじる.


LibreOffice Calc で つかう ばあい,つぎの 手順で 必要な VBA関数の コードを モジュールに コピー&ペースト して ください.

(手順1)「ツール」→「マクロ」→「マクロの管理」→「Basic...」.

(手順2)ファイル名(例:無題 1)を えらんでから[新規作成]ボタンを おして モジュール(Module1)を つくる.

Celcの準備1

Calc の 準備

(手順3)初期内容(Sub Main など)を すべて 削除,「Option VBASupport 1」を 追加 して,その うしろに 必要な VBA関数の コードを コピー&ペースト する.

Calcの準備2

Calc の 準備

(手順4)モジュールの ウインドウを とじる.


変換 できるのは 全角カタカナ だけです.漢字や ひらがなは 変換 できません.対応 して いない 特殊音も 変換 できません.どこまで 対応 して いるかは ローマ字の 方式に よって ちがいます.引数の 文字列は かならず よみかたに して ください.ふりがなは ただしい ローマ字表記に 変換 できません.

長音が ない ときの よみかたは ふりがなと おなじです.

デンワ(電話)
ジテンシャ(自転車)

長音が ある ときの よみかたは ふりがなと ちがいます.

デンポー(電報)
ジドーシャ(自動車)

よみかたは 発音どおりに かいた かな文字表記ですが,漢字の 音よみで ふりがなが〈えい〉〈けい〉〈せい〉などに なる ものは 例外です.これらの 発音は【エー】【ケー】【セー】などに ちかいですが,よみかたは ふりがなと おなじ【エイ】【ケイ】【セイ】などです.

エイガ(映画)
セイメイ(生命)

「ー」に するのか しないのか まよったら,ふつうは「ー」が ふたつの 漢字を またがない 性質を ヒントに して ください.漢字と 漢字の あいだに「・」を いれた ふりがなを かんがえて,まよう 部分が「・」を またいで いたら「ー」に しません.たとえば,「高利」〈こう・り〉なので【コーリ】で,「小売り」〈こ・うり〉なので【コウリ】です.

ローマ字は ことばの あいだに 空白を いれる 分かち書きに しなければ なりませんが,この ツールに ことばを きりはなす はたらきは ありません.そのため,入力の 段階で あらかじめ きりはなして おく 必要が あります.

クーソー カガク ショーセツ(空想科学小説)
セカイ イッシュー リョコー(世界一周旅行)

助詞の「は」「へ」「を」【ワ】【エ】【オ】と かきます.

ワタシ ワ(私は)
ソレ オ(それを)

日本式を つかう ときは,【ジ/ヂ】【ズ/ヅ】などを つかいわけて ください.

メイヂ(明治)
アヅキ(小豆)

ローマ字の かきかたには 規則が あり,それに あわせて よみかたを 入力 しないと ただしく 変換 できません.【エイ】【ケイ】【セイ】なども そんな 規則の ひとつで,ほかにも 規則が たくさん あります.たとえば,「聞いた」「大きい」は,じっさいには【キータ】【オーキー】に ちかい 発音ですが,【キイタ】【オーキイ】と 入力 しなければ なりません.「~である」「~ですか」【~デ アル】【~デス カ】と 入力 しなければ なりません.けっきょく,この ツールを つかいこなすには ローマ字の 勉強が 必要です.

確実に 変換 できる 文字列を 入力 して ください.変換 できない 部分が あると,中途半端に 変換 した 結果に なって しまいます.

マクロの 実行が 制限 されて いる ばあいは 実行 できる 設定に して ください.Calc の 設定画面は「ツール」→「オプション」→「LibreOffice」→「セキュリティ」→「マクロセキュリティ」に あります.

おぎない
Oginai