
私は、いわゆる「シンボル フォント」、つまり特定の種類の TrueType フォントを使用するアプリケーションを使用しています。私が収集した情報によると、これらのフォントは、文字/グリフのマッピング方法において、通常とは少し異なる動作をします。しかし、TrueType フォントがシンボル フォントになる理由が何なのか、まだわかりません。
これまでの検索ではほとんど何も得られませんでした。詳細について言及しているものといえば、私が持っているフォント エディターのユーザー マニュアルだけです。そこには、シンボル フォントのグリフは 0xF000 の Unicode プライベート使用領域にマップされているが、0x00 から 0xFF の範囲で「列挙」されている (それが何を意味するのかはわかりません) と書かれています。確かに、いくつかのシンボル フォントのデータを調べると、cmap テーブルでグリフが 0xF000 の範囲にのみマップされていることがわかります... では、どのようなメカニズムで 0x00 の範囲に到達するのでしょうか。一見単純な質問ですが、どこにも答えがないようです。
では、TrueType フォントがシンボル フォントになるのはなぜでしょうか?
(補足/質問: シンボル フォントはレガシーなものであり、主にいわゆる「Unicode フォント」に置き換えられ、Unicode 対応システムに Unicode 文字のマッピングを提供すると聞きました。この場合、Unicode より前からあるシンボル フォントが、どのようにして Unicode のプライベート使用領域でマッピングを提供できるのでしょうか。いずれにしても、すべての文字は 0x00 から 0xFF の範囲にあり、「シンボル フォント」の再マッピング マジックは必要ないのではないでしょうか。)