変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

ローマ字変換

[Javascript]漢字読み仮名辞書とローマ字変換

VBAではバリバリと日本語の変数を使うけど

JavaScriptでは日本語変数は使えないので、よく打ち間違えるからVisualStudioCodeのヘルプは大助かり

しかし、Excelで仕様書を書く時は何もヘルプ機能が無いのでAll JavaScriptで作ってみた。これならダウンロードすれば安心。(なハズ。

漢字読み仮名辞書とローマ字変換

  • ローマ字変換と漢字読み仮名変換はほぼ似てるのでクラス化
    • 対象テキストと辞書のエントリィ(ひらかなとか漢字とか)の両方の先頭部分を比較し一致箇所が一番長いものを拾い出し、辞書の読み(ローマ字とかひらがな)に差し替える。
    • 基本的に辞書はJSONのまま使用。
  • ローマ字変換と漢字ひら仮名変換の2オブジェクトを作成。
    • 辞書はそれぞれ別途用意。
    • 変数名で使うセパレータ(_)は、漢字読み仮名変換のみ指定。
    • 接頭語、接尾語指定は、漢字読み仮名変換のみ指定。
    • 例外的な記述の仕方はtralsrateAfterをオーバーロード。

使い方1:漢字の読みを登録しよう。

  1. 漢字欄に「新幹線」と入力
  2. ひらかな欄に「しんかんせん」と
  3. 【単語の読みを辞書に登録】ボタンを押す

使い方2:辞書に登録されたか確認しよう。

  1. 【辞書⇒クリップボード】ボタンを押す
  2. テキストエディタで貼り付け
  3. 多分、「新幹線\tしんかんせん\r\n」と出るハズ

使い方3:辞書を更新しよう

  1. テキストエディタを「新幹線\tしんかんせんwwww\r\n」に書き換える
  2. 全文をコピー
  3. 【クリップボード⇒辞書差替】ボタンを押す
  4. 漢字欄が「新幹線」なのを確認する
  5. 【漢字⇒ひらかな】ボタンを押す
  6. ひらがな欄に「しんかんせんwwww」と出るハズ

使い方4:ローマ字に変換しよう。

  1. ひらがな欄が「しんかんせんwwww」なのを確認する
  2. 【ひらがな⇒ローマ字】ボタンを押す
  3. ローマ字(スネークケース)欄に「shinkansenwww」と出るハズ
    • ※ローマ字変換処理は「知らない文字はそのまま出力する様になっている」

使い方5:辞書に登録した漢字を組み合わせて使ってみよう

  1. 漢字欄を「新幹線新幹線」と書き換える
  2. 【漢字⇒ひらかな】ボタンを押す
  3. ひらがな欄が「しんかんせん_しんかんせん」になる。
  4. 【ひらがな⇒ローマ字】ボタンを押す
  5. ローマ字(スネークケース)欄に「shinkansen_shinkansen」と出るハズ
    • ※登録した漢字と登録した漢字の間に_が入る。(仕様
  6. キャメルケース欄に「shinkansenShinkansen」と出るハズ
  7. コンスタントケース欄に「SHINKANSEN_SHINKANSEN」と出るハズ
  8. パスカルケース欄に「ShinkansenShinkansen」と出るハズ
  9. チェインケース欄に「shinkansen-shinkansen」と出るハズ

使い方6:「~1」とか「~2」とか、ありがちな変数名がどう変換されるかな?

  1. 漢字欄を「新幹線1」と書き換える
  2. 【漢字⇒ひらかな】ボタンを押す
  3. ひらがな欄が「しんかんせん1」になる。※辞書に未登録な文字の前後に[ _ ]は入らない。
  4. 【ひらがな⇒ローマ字】ボタンを押す
  5. ローマ字(大文字)欄に「SHINKANSEN1」、ローマ字(小文字)欄に「shinkansen1」と出るハズ
    • ※登録した漢字と登録した漢字の間に_が入る。(仕様

使い方7:辞書の登録

  1. 辞書ファイルを用意
  2. 全文をコピー
  3. 【クリップボード⇒辞書差替】ボタンをクリック

使い方8:複数の辞書を登録

  1. 1つ目の辞書は使い方7の通りに【クリップボード⇒辞書差替】ボタンで取込む
  2. 2つ目以降は【クリップボード⇒辞書追加】ボタンで取込む

使い方9:辞書を消そう。※ここ重要。

  1. F12でDevTools画面を開く
  2. 画面上の「アプリケーション」タグを選択
  3. 画面左の「ストレージ」の中の「LocalStrage」をクリックする
  4. 画面中央の「キー」の一覧に「kanjiYomi」を選択
  5. 右クリックして「削除」を選択

使い方は以上です。

ひらがな欄にカタカナを入力してもローマ字に変換できる。(ハズ

変数名中の「ロック」や「ファイル」等の英単語にするものは変則的な使い方ですが・・・

  • 漢字:「ロック」
  • ひらかな:「lock」

の様にして【単語の読みを辞書に登録】して【ひらかな⇒ローマ字】すると良いでしょう。

ローマ字にしたくない変数名中の「の」は

  • 漢字:「の」
  • ひらかな:「」

とすると出来るけど、「のはら」が「はら」になったり予想外のことが起きるでしょう。

新XXXXは「shinXXXX」にしたい場合は

  • 漢字:「新」
  • ひらかな:「しん@」

と読みに@を付けると読み仮名変換時に[ _ ]が付かない様にしたから

ローマ字にするとshinxxxxになるはず。

xxx年はxxxNenにしたい場合

  • 漢字:「年」
  • ひらかな:「@ねん」

と読みの先頭に@を付けると読み仮名変換時に[ _ ]が付かない様にしたから

◇◆◇◆◇◆◇◆

【単語の読みを辞書に登録】や【クリップボード⇒辞書差替】を登録するとLocalStrageに取り合えず保存するので

適当に【辞書⇒クリップボード】して辞書をバックアップすれば安全だろう。

LocalStrageはJSON式データで保存してるけど、

クリップボードは「漢字1\t読み仮名1\r\n」「漢字2\t読み仮名2\r\n」「漢字3\t読み仮名3\r\n」・・・形式なので、

多分、EXCEL⇔クリッップボード⇔画面で利用もできる。(知らんけど

なんでこんなのを作ったのかと云えば

Excelに日本語名とローマ字の対応表を作りXLOOKUPで引けばできることですが、

「xx処理yy関連zz対応www2」の様な日本語名がいっぱいあると登録するのに疲れてくるので

「xx処理」「yy部」「zz対応」「www」を一度登録すれば、

「aa処理yy関連zz関連www2」なら「aa処理」だけ登録すればいいものが欲しかった。(ダケ

それにしても・・・

3人居れば皆ローマ字はバラバラになるのは・・・(実に恐ろしい

試しに

IME用辞書のTEXT形式のものを見つけたので

置換前:^([^\t]+)\t([^\t]+)\t([^\t]+)$

置換後:\2\t\1

で正規表現ONで置換させて、うまく取り込める様だ。

しかし、LocalStrageの制約があるので、5MBを越える様な漢字の読みは登録できない。

ps.TEXTAREAタグに変えた

変数名の列を範囲指定して貼ってみると楽しいかもしれない。

  1. とりあえず、単漢読み仮名だけでも自動的にしたいなら
  2. 文化庁の「常用漢字一覧表」のPDFをダウンロード
  3. MS-WORDに強引に読ませる
  4. 全文をクリップボードに入れる
  5. テキストエディタに貼り付ける
  6. 雰囲気を見ながら
  7. 「^[\r\n]+」で、空行を削除 ※114行減る
  8. 「^\s(\S)\(\s+\)\s+」「\1\t」で、103行調整。
  9. 「^\s.*\r\n」で、タブや空白等で始まる行を削除 ※2249行減る
  10. 「^(\S+)\s+(\S+)\s+(.*)$」「\1\t\2」で、漢字と読みだけ残す ※1958行更新
  11. 「\(\S\)」で、(惡)などの旧字を削除 ※251行更新
  12. 「^漢字\t音訓\r\n」で、表タイトルを削除 ※115行削除
  13. 「^←→[^\r]*\r\n」で、削除 ※8行削除
  14. 微調整が必要なのが以下の14行。
    • 梅雨(つゆ),部屋(へや),今年(ことし), 昨日(きのう), お母(かあ)さん
    • 勺 シャク尺 シャク, 升 ショウ少 ショウ, 昭 ショウ宵 ショウ, 畝 せ瀬 せ, 浦 ホ補 ホ, 匁 もんめ夜 ヤ
    • 「人数」は, 陳 チン 陳列
    • 弁(/辨/瓣/辯/) ベン
  15. 全文コピって【クリップボード⇒辞書】ボタンを押す

と、してみたら良いかもしれない。

常用漢字⇒ジョウヨウカン_ジ⇒jou_you_kan_ji な具合

多分うまくできたと思うので、単漢字変換表サンプルのリンクをサンプルの画面に貼っておく。




top