予告: もうすぐ Ver. 4.0 をリリースする。新バージョンでは英大文字も利用するように仕様が大幅に変更される。
Google日本語入力のローマ字変換規則をカスタマイズし、「こぶりローマ字変換」と名付けた。(これがインストールされていれば、ブラウザのアドレスバー上で、\help を変換する事により このページに来る事が出来る。)
- ローマ字変換テーブル (かな の変換規則)
- 記号表 (記号等の変換規則)
- 拡張文字表 (符号付き文字、発音記号、ギリシャ文字)
説明するバージョン: こぶりローマ字変換 Ver. 3.998
(バージョンは、\ver の変換で確認出来る。)
(バージョンは、\ver の変換で確認出来る。)
プロパティの設定
基本設定タブの 句読点 と 記号 と スペースの入力 は、以下のように設定する。- 句読点の設定 → 、 。 を選択
- 記号の設定 → 「 」 ・ を選択
- スペースの入力 → 入力モードに従う を選択
入力補助タブの 入力補助 は、以下のように設定する。
入力補助タブの 半角・全角 は、以下のように設定する。
- 自動英数変換 → 無効
- 句読点変換 → 無効
- シフトキーでの入力切替 → 英数字
入力補助タブの 半角・全角 は、以下のように設定する。
ローマ字変換規則をデフォルトから変更する
ローマ字テーブルの最新版のダウンロード ← ここをクリックGoogle日本語入力のプロパティでローマ字変換規則を変更する。
ローマ字テーブル→編集→編集→インポート…を選択→ダウンロードしたファイルをクリック。
変換で入力する文字
上の表に於いて、「変換キーで入力」となっている文字が以下の6文字である。
通常は、キーを押せば直ちに ローマ字変換のテーブルで定まるコードが出力されるのだが、この6文字については、キーを押した時点では押すキーのキートップに刻まれている半角のコードがそのまま出る。
そして、変換キーを押した時点で変換後の出力コードが得られる。但し、そうする為には 数ある変換候補の最上位に望むコードが必ず来るようにする修正用辞書をGoogle日本語入力に登録する必要がある。
修正用辞書の最新版のダウンロード ← ここをクリック
Google日本語入力の辞書ツールでダウンロードした辞書を登録する。
辞書ツール→管理→新規辞書にインポート…を選択→辞書に適当に名前を付ける(例: こぶり辞書)→ダウンロードしたファイルをクリック。
正しく辞書が機能していれば、「こぶりじしょ」の変換で、「バージョン x.x」 という文字列に変換される。
この6文字を特別な取扱いにするのは、押すキーに対応する全角コードだと間違えられているのが原因である。 詳しい事情は 違うコードが全角にされる問題と対策 に書いてある。
この6文字を特別な取扱いにするのは、押すキーに対応する全角コードだと間違えられているのが原因である。 詳しい事情は 違うコードが全角にされる問題と対策 に書いてある。
文字の種類
かな・記号・拡張文字に分類し、別々の表で扱う。(1つの表では多すぎて見にくくなる。)
※「かな」には小書きのカナやカタカナ、下記の記号、特殊な和文の文字も含む。
これらの記号は半角カナも定義されていて、和文の記号としてはその他の記号とは別格の扱いを受けているので、「かな」の一種として取り扱うことにした。
更に 「〇」、「々」、「ゝ」、「ゞ」 の4つの文字も「かな」の一種とする。「〇」は何らかの文字を表す文字であり、その他も前の文字を示す文字と言える。
※「記号」はそれ自体で何らかの意味を表すもの。
※「拡張文字」は、音価を示すもので「かな」や「アルファベット」以外の文字。
半角と全角の入力
数字・アルファベット・記号については、通常は半角を使う。しかし、(ネット上で住所を入力する時など) 全角の文字での入力を要求される場合がある。
しかし、この場合でもGoogle日本語入力の変換機能で半角英数から全角英数へ変換することで対応可能なので、ローマ字変換で全角文字を定義する必要は無い。
キーを1回押した時に入力される文字が半角英数で無いのは、全ての「アルファベット」キー、それに「かな」として扱う記号を入力する「,」、「.」、「/」、「[」、「]」の各キーのみ。
これらのキーの半角英数のコードを入力したい場合は、IMEをOFFするか、入力後に半角英数へ変換すれば良い。
キーを1回押した時に入力される文字が半角英数で無いのは、全ての「アルファベット」キー、それに「かな」として扱う記号を入力する「,」、「.」、「/」、「[」、「]」の各キーのみ。
これらのキーの半角英数のコードを入力したい場合は、IMEをOFFするか、入力後に半角英数へ変換すれば良い。
このローマ字変換の特徴
未確定状態を上手く使いこなす事で従来のローマ字変換ではあり得なかった高機能な変換を実現した。
入力途中の表示はGoogle日本語入力のデフォルトとは異なるが、(少数の例外を除き)変換結果の互換性は保たれている。例: t y a の順に入力
但し、デフォルトとの相違点では以下に注意。
他には、矢印、指数表現(例:10⁻⁹)、化学式(例:H₂O)、幾分かの数学記号(例:≥)、ローマ数字(ⅰ〜ⅻ、Ⅰ〜Ⅻ)、丸数字(⓪〜㊿)、黒丸数字(❶〜⓴)、括弧付き数字(⑴〜⒇)、ドット付き数字(⒈〜⒛)など。
入力途中の表示はGoogle日本語入力のデフォルトとは異なるが、(少数の例外を除き)変換結果の互換性は保たれている。例: t y a の順に入力
- こぶりローマ字変換では、「と」→「てぃ」→「ちゃ」
- デフォルトの変換では、 「t」→「ty」→「ちゃ」
但し、デフォルトとの相違点では以下に注意。
- 「ん」は、nの連打では確定しない。(確定させるにはセミコロン(;)キー を押す。)
- 長音符「ー」は r を押すことで入力する。(ハイフン(-)キー では入力出来ない。) nキーで「ん」を入力する時と同様に、長音符の後に母音字か y が来る場合には、セミコロン(;)キー を押す。
セミコロン(;)キー だけでなく、アポストロフィ(')キー でも確定出来る。しかし、日本語キーボードでは アポストロフィ(')キー の位置が悪い上にShiftキー を押す必要があるから別のキーも定義しようと思った。セミコロン(;)キー は、偶然にも英語キーボードと日本語キーボードで同じ位置にあり、しかも押しやすいのでそう決めた。
普通のローマ字変換でも nキー 単独押しで「ん」が入力出来る場合の方が多いから、nキー を1回押す場合と 2回押す場合を区別する習慣にしていれば n の2回押しの代わりに n; を押す事に抵抗はないはずである。そうすると、nn で確定させる方法は「ん」の後に「な」行のカナが来る場合に問題があるから止めるべきだと分かる。
蛇足だが、長音符の後に母音のカナが来る場合は殆ど無い。…これは外国語の音の性質により、長音符の後に母音が来れば「ら」行の音になってしまうからだ。
更に蛇足だが、「ん」と長音符の場合と異なり、子音字の確定にはセミコロン(;)キー 以外にも母音字(例:k → 「く(未確定)」 次いで u → 「く(確定)」になる。)の入力でも確定する。後ろが母音字か y 以外にも同じ音が連続する場合は確定させないと促音になる点に注意。(例:「くく」と入力したい時に k k と入力すると 「っく」になってしまう。)これで、カタカナ語の入力ではキー打数が削減出来る上に、子音に対応するカナを入力するのに原音には無い母音のキーを押さなければならない気色の悪さが無くなる。英語の綴りによっては入力キーが一致する場合もある。
- 例: mark → 「まーく」、string → 「すとりんぐ」
それに、ヘボン式の「ちゃ」行の促音、 p b m の前の「ん」も正しく処理出来る。
- 例: matcha → 「まっちゃ」、namba → 「なんば」
入力キーの変更による打数の削減 (後ろに入力するキーにより変化する可能性があるが、後ろに ; を入力すれば、これで確定する。)
キー1回押しで以下の文字の入力が可能。
- k → 「く」、g → 「ぐ」、s → 「す」、z → 「ず」、p → 「ぷ」、b → 「ぶ」、f → 「ふ」、v → 「ヴ」、m → 「む」、l → 「る」 : 以上、「う」の段を子音と定めた
- c → 「ち」、j → 「じ」 : 以上、「い」の段を子音と定めた
- t → 「と」、d → 「ど」、h → 「ほ」 : 以上、「お」の段を子音と定めた
- y → 「ぃ」、w → 「ぅ」、x → 「っ」: 以上、小書きの文字
- ty → 「てぃ」、dy → 「でぃ」
- tw → 「とぅ」、dw → 「どぅ」
同じく、キー2回押しで以下の文字の入力が可能だが、これで確定。
- ca → 「ちゃ」、cu → 「ちゅ」、ce → 「ちぇ」、co → 「ちょ」
記号と拡張文字
カタカナ小書き文字をアイヌ語カナ表記用に拡張。- ㇰ、ㇱ、ㇲ、ㇳ、ㇺ、ㇴ、ㇷ゚、ㇵ、ㇶ、ㇷ、ㇸ、ㇹ、ㇻ、ㇼ、ㇽ、ㇾ、ㇿ が入力出来る。
他には、矢印、指数表現(例:10⁻⁹)、化学式(例:H₂O)、幾分かの数学記号(例:≥)、ローマ数字(ⅰ〜ⅻ、Ⅰ〜Ⅻ)、丸数字(⓪〜㊿)、黒丸数字(❶〜⓴)、括弧付き数字(⑴〜⒇)、ドット付き数字(⒈〜⒛)など。
そして、ユニコードでは定義していない場合でも、文字の後に文字合成用のアクセント記号を入力する事で合成文字が作れる。
- ḿ、m̀、m̌、m̄、m̆、m̂、m̃、m̈、m̊、m̧、ム゙、ム゚ (m と ム を例にして合成。)
- この機能により、アイヌ語カナ表記用の セ゚、ツ゚、ト゚ が書ける。
([記号表] 参照)
更に、英語発音記号(例:ð)、仏語・独語・スペイン語・ポルトガル語・イタリア語・現代ギリシャ語・ラテン語・ピンインに必要なアクセント記号付き文字や特殊文字(例:é ç ñ ß)が入力出来るようにした。
([拡張文字表] 参照)
更に、英語発音記号(例:ð)、仏語・独語・スペイン語・ポルトガル語・イタリア語・現代ギリシャ語・ラテン語・ピンインに必要なアクセント記号付き文字や特殊文字(例:é ç ñ ß)が入力出来るようにした。
諸外国語は、日本語の文章中に数語混ざるような場合を想定している。各国語のキーボードへの切り替えという手間を省き、ローマ字変換のままでアルファベットにアクセント記号や声調記号を加えたり、特殊文字や特殊記号を出せる。定義されていれば、最後のキーを2度打つと小文字が大文字になる。Google日本語入力のシフトキーでの入力切替が働くように、ローマ字変換の入力キーでは大文字は使わない。
([拡張文字表] 参照)
英語発音のカナ表現への対応
異なる発音には異なるカナを対応させるようなカナの表現方法によって、英単語の発音が日本語で媒介・記憶出来る。詳しくは英語のカタカナ表現による。
こぶりローマ字変換では、発音記号に対してキーの入力を決めているから、正しい英語発音に再現可能な英語のカタカナ表現が機械的に得られる。
[si]、[ʃi]、[swi]、[θi]を例に取ると、以下の表のようになる。
l/r の書き分けの為に L キーを利用し、母音の書き分けの為に Q キーを利用している。「か」行を例に取ると、以下の表のようになる。
Q を使ったのは、小文字の q が a に似ている、キーが A に近い、かなへの変換には不要なキーである事による。[ɔː] を 「あぉ」 と表現したのは、これを 「おー」 、[oʊ] を 「おう」 と書き分けても(記憶として)区別が出来なくなる事を避ける為。
こぶりローマ字変換では、発音記号に対してキーの入力を決めているから、正しい英語発音に再現可能な英語のカタカナ表現が機械的に得られる。
[si]、[ʃi]、[swi]、[θi]を例に取ると、以下の表のようになる。
l/r の書き分けの為に L キーを利用し、母音の書き分けの為に Q キーを利用している。「か」行を例に取ると、以下の表のようになる。
Q を使ったのは、小文字の q が a に似ている、キーが A に近い、かなへの変換には不要なキーである事による。[ɔː] を 「あぉ」 と表現したのは、これを 「おー」 、[oʊ] を 「おう」 と書き分けても(記憶として)区別が出来なくなる事を避ける為。
Coal [koʊl]…(石炭) と Call [kɔːl]…(呼ぶ) 石炭は「コール」ではなく「コウル」ですよと言われていたとしても、どちらも「コール」と記憶される事だろう。Call を「カォル」と表現すれば、絶対に区別出来るし、より英語っぽく聞こえる、ような気がする。こぶりローマ字変換は、通常のローマ字テーブルの 「あ」、「い」、「う」、「え」、「お」 の各段に 「えゃ」、「あぁ」、「あぇ」、「あぉ」 の各段と未確定の子音を加え、合計10段のローマ字テーブルになる。
Google日本語入力のデフォルト設定との違い(実装しなかった部分)
こぶりローマ字変換はGoogle日本語入力のデフォルトの設定から大幅に機能を増やしている一方で、実装しなかった部分もある。(つまり、完全な上位互換性は無い。)
表はデフォルトの定義を示している。こぶりローマ字変換で実装した項目の内でデフォルトと全く同じ定義の部分を色表示した。表の色の意味は以下の通り。
尚、JIS X 4063:2000 は廃止されたローマ字入力の規格だが、その必須項目は以下の実装を除き実現した。
表はデフォルトの定義を示している。こぶりローマ字変換で実装した項目の内でデフォルトと全く同じ定義の部分を色表示した。表の色の意味は以下の通り。
尚、JIS X 4063:2000 は廃止されたローマ字入力の規格だが、その必須項目は以下の実装を除き実現した。
- - : ー → 未定義 (ハイフンは記号専用のキーとして、長音符には使わない。)
- nn : ん → 未定義 (「ん」の後に「な」行が続く場合に対応する。)
- mm : っ + m → ん + m (ヘボン式に対応する。)
- yy : っ + y → 未定義 (促音に半母音が続く事は無い。)
- rr : っ + r → 未定義 (長音符の後に「ら」行が続く場合に対応する。)
- thi : 「てぃ」は ty で入力。
- dhi : 「でぃ」は dy で入力。
- dhu : 「でゅ」は dyw で入力。
- こぶりローマ字変換で実装した記号で入力欄のセルが白色のものは、そのコマンドを変更している。