仕事用の PC を XP から Win7 に切り替えたところ、奇妙なことに気付きました。
「Courier」、「Terminal」、「System」などのシステム フォントには、一部の「未定義」グリフがありません (つまり、「文字マップ」の「フォント」ドロップダウンにアイコンがないもの)。
文字コード 0x81、0x8D、0x8F、0x90、0x9D は、これらのフォントの XP バージョンでは小さな四角形でしたが、Win7 では空 (幅ゼロ) になっています。
これらの文字をメモ帳で「入力」するには、左側の [Alt] キーを押したまま、テンキーで 4 桁の 10 進数値 (それぞれ、0129、0141、0143、0144、0157) を入力し、[Alt] キーを放します。XP では空の四角形が表示され、Win7 では幅ゼロの文字が表示されます。何も表示されませんが、矢印でカーソルを動かすと、そこに「何か」があることがわかります...
確かに、今頃は、もしそれがバグだったなら、誰かがそれに気づいていたはずです。なぜ彼らはいなくなったのですか?
私がこれに気づいたのは、フランス語圏のユーザー向けにバッチ ファイル (.bat) をよく作成し、アクセント付き文字の入力 (およびボックス描画文字) を簡素化するために、DOS 文字とそれに相当する Windows 文字の両方を含むファイルを作成したためです。欠落しているグリフは、DOS 文字の ü、ì、Å、É、および ¥ に対応します。
答え1
グリフがない場合、その表示は「未定義」であると私は主張します。つまり、同じであるとは限らないということです。Windows 7 では、他のゼロ幅文字をより適切にサポートするためにフォントのレンダリングが変更された可能性があります。変更を行った Microsoft 社内チーム以外には、誰もそれを本当には知らないと思います。
本当の DOS は私の時代より少し前であることは認めますが、現在のすべてのフォント (Courier や Terminal を含む) は、説明されているグリフ ü、ì、Å、É、および ¥ を 0xDC、0xEC、0xC5、0xC9、および 0xA5 にマッピングします。これは、cmd.exe (実際の DOS ではありません) 内で表示される場合も含みます。このため、正確に何をしているのか、どのフォントがどこで使用されているのかというパズルのピースが欠けているのではないかと思います。(ただし、「System」というラベルのフォントには、説明されている場所にグリフがあることはわかります。CMD.exe ウィンドウのフォントを、適切なグリフ サポートのフォントに変更するとよいかもしれません。)