Windows7+メイリオの環境で、一昨日作った簡易文字パレットに「?0x2776」とクエリすると、同じ黒丸数字がすぐ近くに現れます。同じ字なのに違うコード。検索とかで困るので、少し調べてみました。ブラウザはすべてChromium43。
Contents


ユニコードは「全ての文字に一意の番号を振る」と言うけど
ユニコード公式サイトのWhat is Unicode?の冒頭いわく、

Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language.

サイトの日本語訳では「固有の番号」となってますが、要するに文字と番号(コード)が1:1対応すると理解できます。問題は、実態が違うこと。下記が、丸数字を例に「デザインが違うだけなのに、別のコードになるんです!」とハッキリ。



字形の違いが表現されるかは、フォントと環境しだい
冒頭の「同じ黒丸数字」は、本来デザインが違うところメイリオは同じ字形にした結果。上の安岡先生の解説を読むと、もともとZapf Dingbatsという記号用フォントにセリフ・サンセリフ別の丸数字があり、それをUnicodeは違う字として収録したらしいです。

でメイリオは、ゴシック書体としての統一性を考えて?両方サンセリフにしたと
。まぁ肯けますが、文字入力や検索時は注意がいるなぁ…。黒丸数字を一括置換したつもりが、片方とりこぼしたとか。
自分の推測。8月3日追記

黒丸数字はまだ近くにあったから良いけど、白丸数字は ↓ 文字ブロック自体が違って離れているのでもっと注意。
0x24600x2780。前者には⑪~⑳(1120の丸数字)が続いてます。


丸数字をAndroid
4.0(ISW16SH)+Opera29で見たら ↓ セリフ/サンセリフ別に表示されました。拡大して初めて分かるレベルだけど。二つ目の画像は全体表示で、違いを判別するのは厳しい。


Androidのフォントは詳しくないので下記を参考にして、ISW16SHに入ってると思われる「モトヤLシーダ3等幅」をダウンロードし、字を調べてみました。


確かにOperaなどブラウザの日本語には「モトヤLシーダ3等幅」が使われてましたが、黒丸数字はもともと収録されてないので ↓ 別のフォントで代替された模様。


こんな風にブラウザ(またはOS)がうまく処理してUnicode本来の「あるべき字形」のフォントが使われればいいけど、できない時も多そう。とくに冒頭のメイリオのように、デフォルトとして使用頻度が高いフォントが「とりあえず同じ字形」で収録している場合…。よほど字にこだわったアプリでない限り、特定の文字だけ「本来あるべき字形」を備えたフォントに置き換えるなんて、まずしないのでは。


よく使う記号で「重複・類似カダログ」があるといいなぁ
先ほどの白丸数字のように、別々の文字ブロックに同じ字が重複して入っているのが面倒。矢印でも、微妙に違うのがあちこちに散らばっているし。

Unicodeの文字・記号をまとめたウェブは結構あるけど、規格どおり文字ブロックありきというか。実際ほしいのは、文字ブロックは置いといて「これらの字(記号)は似てる、フォントによっては同じ、だから間違いやすい」という情報が一覧になってるもの。もう少し探して、なければ自分で作るかなぁ。