Что я хочу
Я использую Consolas
в качестве шрифта по умолчанию для моего Notepad++, но я хочу лучше отображать китайские и японские символы и символы при использовании Consolas
.
Согласно статье MSDN, я могу связать несколько шрифтов с Consolas
чтобы он мог отображать символы, которые он не поддерживает самостоятельно.
Цель
- Отображение латинских символов с использованием шрифта
Consolas
- Отображение китайских и японских символов с помощью
Microsoft YaHei
- Отображать символы, которые
YaHei
не может обработать с помощьюMeiryo
- Пусть система обрабатывает остальные символы, которые
Meiryo
не может отображать тоже
Шаги для достижения цели
- Добавьте запись
REG_MULTI_SZ
Consolas
вHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
Установите значение
Consolas
:MSYH.TTC,Microsoft YaHei,128,96 MSYH.TTC,Microsoft YaHei MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo
- Выйдите из Windows, затем войдите снова
Фактический результат в Windows 7
- Латинские символы (0-9, az, AZ) и часто используемые символы (;:'"и т.д.) Отображаются с помощью
Consolas
- Китайские и японские символы отображаются с помощью
Microsoft YaHei
- Специальные символы отображаются с помощью
Meiryo
- Другие символы и символы, которые не поддерживаются ни одним из вышеперечисленных шрифтов, отображаются с использованием системных значений по умолчанию (idk what that is)
Фактический результат в Windows 10
- Латинские символы (0-9, az, AZ) и часто используемые символы (;:'"и т.д.) Отображаются с помощью
Consolas
- Китайские и японские символы отображаются с помощью
Microsoft YaHei
- Специальные символы отображаются с помощью
Segoe UI Symbol
- Другие символы и символы, которые не поддерживаются ни одним из вышеперечисленных шрифтов, отображаются с использованием системных значений по умолчанию
Дополнительная информация
(Мне нужно 10 повторений, чтобы опубликовать больше ссылок и изображений, поэтому, пожалуйста, нажмите на ссылку на изображение, чтобы просмотреть скриншот с результатами теста и скопировать / вставить текст URL, чтобы самостоятельно посетить сайт)
Вот тест, пытающийся понять охват символов шрифтов, упомянутых выше (и больше)
Инструмент используется
- Блокнот:
%WINDIR%/Notepad.exe
- BabelMap:
http://www.babelstone.co.uk/Software/BabelMap.html
Тестовая строка:
我风おA☃
我(\u6211): A character available in both Chinese and Japanese 风(\u98ce): A Chinese only character お(\u304a): A Japanese only character A(\u0041): A Latin character ☃(\u2603): A unicode symbol
Шаг к тесту
- Загрузите BabelMap, откройте его, затем скопируйте тестовую строку в
Edit Buffer
- Переключатель выбора
Single Font
- Установите флажок
Simple Rendering
- Выберите любой шрифт, нажав в раскрывающемся списке справа от
Single Font
- Наблюдайте за глифом персонажа в
Edit Buffer
- Настройте ссылку на шрифт для
Consolas
как упомянуто выше, выйдите / войдите, чтобы вступить в силу - Откройте
Notepad.exe
, откройте меню «Format > Fonts
чтобы установить шрифтConsolas
- Вставьте тестовую строку в затем наблюдайте ее
Результат испытаний
Объяснение результатов теста
Microsoft YaHei
не может отобразить символ снеговикаMeiryo
нет китайских иероглифовSegoe UI Symbol
содержит только символыYu Gothic
похож наMeiryo
но выглядит иначеConsolas
предназначен только для латинского алфавита.Текст в
Notepad.exe
отображается с использованием 3 разных шрифтов:我风お: Microsoft YaHei A: Consolas ☃: Segoe UI Symbol
Вы можете сказать, что это, несомненно,
Segoe UI Symbol
потому что эти снеговики очень разные в разных шрифтахОднако в этом случае мы ожидали, что
Notepad.exe
отобразит эти символы с помощью таких шрифтов:我风お: Microsoft YaHei A: Consolas ☃: Meiryo
Вопросы
- Почему
Meiryo
установленный нами в реестре fontlink, полностью игнорируется? - Как достичь цели в Windows 10?