メインメニューをとばして、このページの本文エリアへ

文字

文字@デジタル

丸数字考 ③

比留間 直和

 WindowsとMacとで割り振られたコードポイントが異なるために、①→(日)のような「文字化け」を起こすことがある、ちょっとやっかいな丸数字。文字コードにシフトJISなどではなくUnicodeを使ったデータであれば、そうした文字化けの心配はないのですが、UnicodeにはUnicodeならではのややこしさがあります。

 

 下は、手元のWindowsパソコンの「Microsoft Office IME 2010」で「1」から変換してみたところです。左側は最初に現れる候補一覧ですが、最下部の「記号辞書」のところでEnterを押してさらにスペースキーをたたいていくと、右側の図のような候補も出てきます。

 

 

 「あれ? 左の候補一覧で出てきた丸1と、右に出てきた丸1は別のもの? 黒丸1も右のほうに二つ出てるけど」
 「そうなんです。Unicodeには丸1~10と黒丸1~10がそれぞれ2組入っているんです」
 「どういうこと?」

 

■書体を区別してそれぞれ収録

 

 上の左側の図、つまり先に出てきた丸1は、WindowsなどのシフトJISに機種依存文字として以前から含まれ、そののちJIS X0203(第1~第4水準)にも収録されたもので、我々がふだん使っている丸数字です。Unicodeのコードポイントは「2460」(16進表記)で、文字名称は「CIRCLED DIGIT ONE」と定義されています。

 一方、右の候補ウインドーに見える「第二の丸1」は、Unicodeが「2780」で、文字名称は「DINGBAT CIRCLED SANS-SERIF DIGIT ONE」。SANS-SERIF(サンセリフ)、つまり日本でいえばゴシック体であることが文字の名前にうたわれています。

 ふつう、明朝とかゴシックといった書体に関することは、それぞれのフォントによって切り替わるものであり、コードポイントによって「これは明朝」「これはゴシック」などとあらかじめ分ける性質のものではありません。しかし丸数字の場合、Unicodeではちょっと特殊なことが行われています。

 上に見える「第二の丸数字」は、Unicodeのなかで、「Dingbats」(装飾記号)というブロックに属しています。もともとは、欧米のDTPでよく使われてきた「Zapf dingbats」という装飾文字のフォントに含まれる記号類をとりこんだものです。

 Zapf dingbatsには、丸数字と黒丸数字の1~10が入っていたのですが、それぞれセリフ(serif。日本でいえば明朝体に相当)とサンセリフ(sans-serif。日本でいえばゴシック体)が別々のかたまりとして入っていました。これがそのままUnicodeに取り入れられたため、Unicodeには丸1~10と黒丸1~10が2セットずつあるのです。

 丸数字については、当時すでに東アジアの文字コード規格に入っていたため、Enclosed Alphanumerics(囲み英数字)という別のブロックに丸20までが収録され、Zapf dingbatsのセリフの丸1~10はそちらに「統合」されました。そのため、Dingbatsブロックには、残るサンセリフの丸1~10のみが収録されました。

 黒丸数字のほうは、その時点では公的な文字コード規格に含まれていなかったため、Zapf dingbatsに入っていたセリフとサンセリフの両セットがともにDingbatsブロックに入りました。ただし文字名称は、白い丸数字の場合と同様、サンセリフのほうは「DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE」などと書体が限定されているのに対し、セリフに由来するほうは「DINGBAT NEGATIVE CIRCLED DIGIT ONE」と、書体の限定がついていません。

 その後、日本でJIS X0213(第1~第4水準)に丸1~50と黒丸1~20が入ったのを受け、Unicodeにも丸数字の21~50と黒丸数字の11~20が追加されました。Unicodeに最初から2組ある丸1~10と黒丸1~10については、「サンセリフ限定」でないほうが、X0213の文字とされています。

 

 Unicodeにおける丸数字と黒丸数字の主な経緯をまとめると、こんな感じです。

 Unicode1.0(1991年)

   丸1~20と丸0をEnclosed Alphanumericsのブロックに収録
   サンセリフの丸1~10をDingbatsのブロック(当時のブロック名はZapf Dingbats)に収録
   黒丸1~10をDingbats(〃)に収録
   サンセリフの黒丸1~10 にDingbats(〃)に収録

 Unicode3.2(2002年)

   丸21~50をEnclosed CJK Letters and Monthsのブロックに追加
   黒丸11~20をEnclosed Alphanumericsのブロックに追加

 Unicode4.0(2003年)

   黒丸0をEnclosed Alphanumericsのブロックに追加

 

 最初の段階で丸1~10と黒丸1~10のサンセリフを収録して以降は、書体を限定しての追加は行っていません。1~10だけが特殊な状態ということになります。

 

■黒丸10までは必ず明朝体?

 

 「要するに、丸数字と黒丸数字の1~10だけは、サンセリフの文字が独立して入っていて、それがIMEの変換候補に出てきちゃうってことだね」
 「そうなんです。JIS X0213に入っていないサンセリフの丸数字・黒丸数字までMSフォントに入っていて、それをまたMS-IMEが候補に出してくれちゃう、というわけです。X0213にないということはそのぶん汎用性がさらに低いのですが、それを知っている人たちにとっても、見た目が似ているのでもう一方の丸数字・黒丸数字と区別しづらいという難点があります」
 「なるほど。注意が必要というわけだね」
 「実はほかにもですね……」
 「まだ何かあるの?」

 

 もうひとつの問題は、黒丸数字1~10の、サンセリフでないほうです。上に述べたように、Unicodeにおける文字名称は「DINGBAT NEGATIVE CIRCLED DIGIT ONE」などと、書体の限定がついていませんが、実はMSフォントでは、常にセリフ(明朝体)になっています。

 

 

 赤い下線をつけた黒丸1~10は、MS明朝でもMSゴシックでもセリフ(明朝体)で設計されています。白いほうの丸数字の1~10は、MS明朝はセリフ、MSゴシックならサンセリフ(ゴシック体)になっており、白と黒とで方針が食い違っています。しかもこの黒丸1~10はだいぶ太めに作られているため、同じセリフでもMS明朝の黒丸11~20とはスタイルがそろいません。

 サンセリフと決められているほうの黒丸数字も、MSゴシックの黒丸11~20よりかなり太く、印象が大きく異なります。白い丸数字にはこうした齟齬は見られません。

 つまり、MS明朝やMSゴシックだと、印刷したときの見栄えを考えた場合、黒丸数字の1~20をひと続きのきれいなセットとして使うことが難しいわけです。せっかくJIS X0213に入っているセットなのに。

 

 「ほかのフォントでも黒丸数字はこうなの?」
 「いえ、例えばヒラギノだとDingbatsのサンセリフは搭載されていませんが、そうでないほうの丸数字は黒も白も、ヒラギノ明朝ならセリフ、ヒラギノゴシックならサンセリフというふうに、ごくふつうの設計です」
 「そうなんだ」
 「古いXPマシンで見たところ、X0213に対応する前からMSフォントには2組の黒丸1~10が入っていて、MS明朝かMSゴシックかに関係なく、コードポイントでセリフとサンセリフとを分けていました。Dingbatsのもともとのスタイルに合わせていたのでしょう。VistaでX0213に対応したときにも、これについては変えなかったようです」
 「しかし日本のユーザーにとっては、黒丸数字が10まではやたらと太いとか、ゴシックフォントなのに明朝体のスタイルだとかってのは、不便じゃないかな」
 「JIS X0213を有効に活用する意味からも、MSフォントの黒丸数字がもっと使いやすくなるといいですね」

 (比留間直和)

         ◇

 「文字@デジタル」は4月から、毎月最終水曜日に更新します。