ハングル文字化け復元
Macで作ったハングルの文字やファイル名が、Windowsで字母にばらけたり文字化けしたりするときに元へ戻します。NFD↔NFC変換、字母の結合・分解、ファイル名の一括変換、文字コード違いによる文字化けの復元に対応します。
macOSはハングルを「ㅎ+ㅏ+ㄴ」のように分解(NFD)して保存し、Windows・Linuxは「한」の1文字に合成(NFC)して保存します。ばらけて見える文字を貼り付けてNFCに変換してください。
ハングル以外のアクセント文字(é ü ñ)も同じように変換されます。
分析
変換前のコードポイント
変換後のコードポイント
「가」はNFCではU+AC00の1つ、NFDではU+1100 U+1161の2つです。
キーボードで打った単独の字母(ㅎㅏㄴㄱㅡㄹ)はNFC変換では結合されません。ここで音節に結合したり、逆に分解したりします。
結合のルール
- 子音のあとに母音が来ると、その子音は次の音節の初声になります。ㄷㅏㄹㄱㅏ は「달가」になります。
- 二重パッチム(ㄹㄱ→ㄺ)と複合母音(ㅗㅏ→ㅘ)は、辞書にある組み合わせのときだけ結合します。
- 同じ子音を2回打って濃音にする入力(ㄱㄱ)は結合しません。ㄲ は1文字で入力してください。
- ㅇㅏㄴㅇㅏ は「안아」に結合されます。別の読み方にしたいときは間にスペースを入れてください。
ファイル名を1行に1つ貼り付けるか、ファイル・フォルダをドラッグ&ドロップしてください。名前だけを読みます。フォルダ内のファイルを直すには、フォルダを開いてファイルをすべて選択し、ドロップしてください。
ここにファイル・フォルダをドロップ
またはファイルを選択
| 元の名前 | 変更後の名前 | 状態 |
|---|
名前変更スクリプト
ファイルのあるフォルダで実行してください。実行前に内容を確認し、大切なファイルはバックアップしてください。
MacのファイルシステムはNFCとNFDを同じ名前と見なすことがあるため、ターミナル用スクリプトは一時的な名前を経由して移動します。
Macでリアルタイムに自動変換したい場合は nfd2nfc(Mac専用ツール)を参照してください。 nfd2nfc
「안녕」「¾È³ç」「�쒓�」のように別の文字コードで読まれて化けた文字を貼り付けると、元の文字を推定します。WindowsでMacのZIPを解凍して名前が化けたときに使います。
復元候補
バイトが保たれている場合のみ復元できます。候補が複数あるときは、読めるものを選んでください。
入力モードを間違えて「dkssud」のようになった文字を「안녕」に、逆方向にも変換します。標準の2ボル式配列に基づきます。
Shift で変わるのは Q W E R T O P (ㅃ ㅉ ㄸ ㄲ ㅆ ㅒ ㅖ) だけで、ほかの大文字は小文字と同じ字母として読みます。数字・記号・空白はそのままです。
「国語のローマ字表記法」(2000年)に従ってハングルをローマ字にします。単語・文は発音規則を反映し、人名は音の変化を反映せず字のとおりに写し、姓の慣用表記も候補として示します。
表記の基準と限界
- 標準の表記です。パスポートの英語名は、すでに使っている表記があればそれが優先されます(Kim・Lee などの慣用表記を候補として示します)。
- 濃音化は規定上、表記に反映しません(압구정 Apgujeong、낙동강 Nakdonggang)。連音・鼻音化・流音化・口蓋音化・ㅎ パッチムの縮約(좋고 joko)は反映します。
- 辞書を使わず字だけを見るため、語の種類で変わるものは一般規則で処理します。体言の ㄱ・ㄷ・ㅂ+ㅎ は h を残します(묵호 Mukho、집현전 Jiphyeonjeon)。用言の 잡혀 は本来 japyeo ですがここでは japhyeo になります。
- 읽고 のように ㄺ の後の ㄱ を ㄹ と読む用言、밟다・넓다 などの例外、ㄴ 挿入(학여울)は扱いません。
- 人名は音節の間にハイフンを入れても入れなくても構いません(Gil-dong / Gildong)。どちらでも音の変化は反映しません。
ハングルの単語から最初の子音(初声)だけを取り出します。初声検索のインデックスやクイズ作りに使えます。
「삼성전자」→ ㅅㅅㅈㅈ。母音とパッチムは捨てます。
入力した文字やファイル名はこのブラウザ内でのみ使われ、サーバーへは送信されません。ファイルは名前だけを読み、中身は開きません。
なぜ起きるのか
macOSはファイル名を分解形(NFD)で保存し、Windows・Linuxは合成形(NFC)を使います。そのためMacで作った名前が他のOSで字母にばらけて見え、圧縮・Git・クラウド同期で同じファイルが別物として扱われることもあります。またWindowsでMac作成のZIPを解凍すると、UTF-8の名前が旧韓国語エンコーディング(CP949)として読まれ、化けます。
このツールができないこと
ブラウザはコンピュータ上の実際のファイル名を変更できないため、名前を変更するスクリプトを生成します。バイトがすでに失われた化け(�)は復元できません。正しい文字コードで元のデータを開き直してください。
漢字で書かれた文にハングルの読みを付けます。漢字を読みに置き換える、漢字(読み)の形で付け足す、ルビ(<ruby>)コードにする、のいずれかを選べます。読みの表はこのタブを初めて開くときに一度だけ読み込み、入力した文はサーバーに送信されません。
漢字の読み表を読み込み中…
読みから漢字を探す
読みはUnicode Unihan(kHangul)から取っており、読みが複数ある字は教育部の基礎漢字の読みを代表の読みとします。辞書ではないため、規則にない多音字(例: 樂、行)は間違うことがあります。下の一覧から選んでください。漢字だけが続く塊は1語とみなし、頭音法則は先頭にだけ適用します(複数の語は空白で区切ってください)。UnihanにはKorean語の字義がないため、意味(訓)は表示しません。
参考用の点訳です。韓国点字規定の一部(略語・引用符・括弧など)は変換せず、正式な点訳ではありません。公文書や出版物は点訳校正者の確認を受けてください。入力した文はサーバーに送信されません。
対応: ハングル(初声・中声・終声・二重パッチム・濃音)、略字、数字(数符⠼)、英字(⠴…⠲、大文字⠠)、。、?!に相当する記号(. , ? !)。紛らわしさを避けるため、次の音節が母音で始まるときは略字を使いません。逆変換には限界があります: 文末のパッチムㅋ・ㅌ・ㅍは句読点として、⠌はパッチムㅆとして読みます。
よくある質問
入力した文字やファイルはサーバーにアップロードされますか?
いいえ。すべてブラウザ内で変換され、ファイルは名前だけを読み、中身は開きません。
NFCに変換してもMacでは同じに見えます。
Macは画面上では合成して表示することがあります。問題は他のシステムへ移すときに出るので、移す前にNFCへ変換しておいてください。
名前が衝突すると表示されます。
異なる2つの名前が変換後に同じ名前になる場合です(同じ名前がNFDとNFCで別々に保存されている場合など)。先に片方を削除するか名前を変えてください。