{{category 仕様}} 外字とは、以下の意味で使われる言葉です。 * 文字コード表にない文字。 * 上の意味の外字を、文字コードの空き領域に独自に割り当てたもの。ユーザが設定するユーザ定義外字と、ベンダが製品に組み込んでいるベンダ定義外字とがある。 例えば、丸付き数字はJIS X 0208にないので、この文字コードにとっては、符号化できない外字となります。これが上記1番目の意味です。(JIS X 0213やUnicodeには丸付き数字はあるので、これらの文字コードにとっては外字ではありません) また、WindowsやMac OSといったソフトウェア製品では、Shift_JISの空き領域に独自に丸付き数字を割り当てたものがあります。これが上記2番目の意味の外字 (ベンダ定義外字) です。 Unicodeでは私用領域 (Private Use Area) が定められており、ここに外字を割り当てることができます。 !!外字の問題点とその解決方法 ユーザやベンダが独自に割り当てた外字は他の製品や環境とは互換性がありません。いわゆる文字化けの元となります。JIS X 0208の空き領域を使用したベンダ定義外字は昔からトラブルの元となっています。 丸付き数字やローマ数字等を取り込んだ文字コード標準、つまりJIS X 0213やUnicodeを使うことで、外字のトラブルを無くすことができます。 例えば、UTF-8とSJISの間でコード変換をするときには、JIS X 0208ベースのShift_JISでなく、拡張規格のJIS X 0213ベースのShift_JIS-2004を指定すれば、丸付き数字やローマ数字はもちろん、専門用語や地名などに使われる第3第4水準漢字や、アクセント付きのラテン文字、英和辞典に用いられる発音記号、著作権表示記号など各種記号類も文字化けせずに使用できます。iconvコマンドでコード変換するときはこうします: iconv -f UTF-8 -t SHIFT_JISX0213 < utf8.txt > sjis.txt !!関連項目 *国内実装互換