The Nameless City

何故か製薬やSAS関連のブログ、の予定。

Wingdingsというフォントについて少し。

歴史埋もれてしまいそうなんでちょっと書いておきます。


昔、Windowsよりも前の時代、コンピューターの画面は、テキスト表示と画像表示(BMP)の二面を持ってたりしまして(PC-98仕様、でもDOSベースだと大体そんな感じ)、基本的にはテキストで表現されるものでした。
また、印字されるフォントについてはプリンターに備えられているフォントが使われていました。


ちょっと余談になりますが。
今でもその影響はあり、印刷される際に送られるデータは、印刷イメージではなくPostScriptというAdobeが制定した形式であり、テキストの場合にはテキストとフォント情報が送られます。画像は埋め込みなんだけど・・・・・・。プリンタはそれを受け取り、印刷するのですが、無論必要に応じ印刷文字を持っているフォントで置き換えたり、フォントの情報を大本のPCから動的にダウンロードしてきます。
たまに今の機種でもプリンターにあるフォントで印字するような指定が出来たりはします。


まあそういうところで、実際のデータとしてある文字コード情報と、見た目のフォント情報は別です。


日本では、同じような事に対応する為に、Shift-JIS(IANAではShift_JIS)にその名残があります。罫線素片三点リーダーです。
─ とか ┌ とかです。本来ここは外字領域でしたが、1983のJIS規格ではそこにPC-98をベースに制定されています。
欧米では、この問題に対応する為に古くからあるやり方があり、そこがまるで文字のエンコードのように設定された実はフォント切り替えで表現される、dingbatと呼ばれる装飾文字です。
日本語の罫線素片や記号は早くからUnicodeに取り入れられたのですが、dingbatに関してはUnicodeに入ったのは結構最近です。また、サロゲートペアとか関係なしにボコボコ突っ込まれてるのもこれです。

Excelで作ったので、実は少し内部処理は複雑なのですが、通常我々が「ABCDEF」として認識される文字が特殊な文字記号として見えます。しかし、中身は「ABCDEF」です。Windowsクリップボードとかでコピーするとフォントの指定が解けて見えてくると思います。


何故Windowsに残っているかというと、まあ引き継ぎ・互換性ですね。フォントを買い取って入れてます。1970年代とかのものになるんでしょうかね。
謎の絵文字みたいなフォント「Wingdings」はなぜ存在しているのかという知られざる歴史 - GIGAZINE
まあ、この買い取りの御蔭で、SASクロスプラットフォーム後方互換性が広く保たれているというところです。


なんで文字エンコードのようにフォントで切り替えられているのか、という事については、多言語対応とかが結構複数形式で考えられていて、それ自体統一もされていなかったしというところでしょうか。Unicodeにかぎらず、統一したいが互換性も重要というところで結構古いやり方が残されてます。
SAS自体そんなところあるしね。