Только что перешел с XP на Win7 на своем рабочем компьютере и заметил кое-что странное.
Некоторые «неопределенные» глифы отсутствуют в системных шрифтах, таких как «Courier», «Terminal» и «System» (т. е. те, у которых нет значка в раскрывающемся списке «Шрифт» в «Таблице символов»).
Коды символов 0x81, 0x8D, 0x8F, 0x90 и 0x9D имели небольшой квадрат в версии этих шрифтов для XP, но в Win7 они пустые (нулевой ширины).
Вы можете «набрать» эти символы в блокноте, удерживая левую клавишу [Alt], набрав их четырехзначное десятичное значение (соответственно, 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 на что-то с надлежащей поддержкой глифов?)