丸付き数字
丸付き数字は、丸で囲った数字のことです。日本では箇条書きや項番にしばしば使われます。
JIS X 0208における丸付き数字
JIS X 0208には、丸付き数字はありません。
ただし、合成用を意図していたと思われる「大きな丸」(LARGE CIRCLE)が2区94点にあります。1983年改正で追加されたものです。これを用いて重ね打ちによって丸付き数字を表現できると考えられていた可能性があります。
ベンダ定義外字には、独自に丸付き数字を実装したものがあります。Windows外字(いわゆるCP932)などです。こうしたものは文字化けの原因となってきました。
例えば、電子メールで送られてきたテキストの中に、曜日を表す「(日)、(月)」のような記号が意味の通らない場所にあるので何かと思ったら、送信者側では丸付き数字のつもりだった、という現象です。コード表の空き領域にベンダが勝手に実装したのでこういうことが起こります。
JIS X 0213における丸付き数字
JIS X 0213には、以下の種類の丸付き数字があります。
数の範囲は原理的には無限にありえますが、JIS X 0213では法令や学校教科書等の用例に基づいて範囲が決められました。
これらの記号は漢字集合1面の下記の範囲に割り当てられています。
- 丸1から20: 13区1点から20点
- 丸21から50: 8区33点から62点
- 白抜きの丸1から20: 12区1点から20点
- 二重の丸1から10: 6区58点から67点
これらのうち丸1から20まではWindows外字と同じです。つまりWindowsの丸付き数字の上位互換となっています。
Unicodeにおける丸付き数字
上記の丸付き数字それぞれに対応するUnicode符号位置は、当サイトの「JIS X 0213とUnicodeの対応表」から得られます。
コード変換
JIS X 0208ベースのShift_JISやEUC-JPは丸付き数字に対応しないので、JIS X 0213ベースのShift_JIS-2004やEUC-JIS-2004を用いれば、上記の丸付き数字全てに対応できます。
iconvでSJISからUTF-8に変換するには次のようにします。
iconv -f SHIFT_JISX0213 -t UTF-8 < sjis.txt > utf8.txt
これで、Windowsの丸付き数字を救済でき、なおかつ、CP932と違って波ダッシュ問題を引き起こしません。もちろん、第3第4水準漢字にも対応します。
逆方向に変換するには、-f と -t を入れ替えて次のようにします。
iconv -f UTF-8 -t SHIFT_JISX0213 < utf8.txt > sjis.txt
これで例えば「丸21」のような記号があっても文字化けせずに変換できます。これで得られたsjis.txtは、EmacsやMacのテキストエディットなどで表示・編集できます。
最終更新時間:2016年12月18日 11時06分11秒