Что я хочу
Я использую Consolas в качестве шрифта по умолчанию для моего Notepad++, но я хочу лучше отображать китайские и японские символы и символы при использовании Consolas .
Согласно статье MSDN, я могу связать несколько шрифтов с Consolas чтобы он мог отображать символы, которые он не поддерживает самостоятельно.
Цель
- Отображение латинских символов с использованием шрифта
Consolas - Отображение китайских и японских символов с помощью
Microsoft YaHei - Отображать символы, которые
YaHeiне может обработать с помощьюMeiryo - Пусть система обрабатывает остальные символы, которые
Meiryoне может отображать тоже
Шаги для достижения цели
- Добавьте запись
REG_MULTI_SZConsolasв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?

