В первой части я вроде как успешно поборол проблему с отображением исходного кода шрифтами с засечками (типа Times New Roman).
Поставив Visual Studio Community 2015 на Windows 10, я обнаружил, что тут этот метод не сработал. Т.е. тут не было шрифта batang.ttf, а значит и удалять было нечего. Как выяснилось с помощью Process Explorer, здесь HelpViewer пытался использовать вместо batang.ttf обычный шрифт times.ttf (Times New Roman):
Шаги по искоренению этого «зла» следующие:
1. В редакторе реестра, запущенном под админом, находим в следующей ветке реестра упоминание о шрифте times и удаляем его:
HKLM\Software\Microsoft\Windows NT\Current Version\Fonts\
2. Через командную строку, опять же под админом, выполняем:
C:\Windows\Fonts>takeown /F times.ttf C:\Windows\Fonts>icacls.exe times.ttf /T /Q /C /RESET C:\Windows\Fonts>del /f /s /q /a times.ttf Deleted file - C:\Windows\Fonts\times.ttf C:\Windows\Fonts>takeown /F timesbd.ttf C:\Windows\Fonts>icacls.exe timesbd.ttf /T /Q /C /RESET C:\Windows\Fonts>del /f /s /q /a timesbd.ttf Deleted file - C:\Windows\Fonts\timesbd.ttf C:\Windows\Fonts>takeown /F timesbi.ttf C:\Windows\Fonts>icacls.exe timesbi.ttf /T /Q /C /RESET C:\Windows\Fonts>del /f /s /q /a timesbi.ttf Deleted file - C:\Windows\Fonts\timesbi.ttf C:\Windows\Fonts>takeown /F timesi.ttf C:\Windows\Fonts>icacls.exe timesi.ttf /T /Q /C /RESET C:\Windows\Fonts>del /f /s /q /a timesi.ttf Deleted file - C:\Windows\Fonts\timesi.ttf
Перезагружаемся, смотрим на результат:
Уже лучше, но этот шрифт тоже с засечками. Process Monitor показывает, что на этот раз HelpViewer стал использовать шрифт Cambria.ttc.
Кому он также не нравится, повторяем для него шаги, описанные выше.
Способ с сопоставлением файлов в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes для HelpViewer не сработал.
Вообще сейчас я попробовал более «простой» способ:
1. Открываем редактор реестра под админом.
2. Находим ветку HKLM\Software\Microsoft\Windows NT\Current Version\Fonts\
*. Делаем экспорт этой ветки реестра!
3. В данной ветке прописаны соответствия названия вызываемого шрифта и его файл. Например для Times New Roman (TrueType) соответствует файлу times.ttf. Присваиваем ему новый файл segoeui.ttf.
4. Повторяем пункт 3 для курсива, жирного и полужирного шрифтов (если есть). Их названия соответственно оканчиваются на i, b, z. Эти шаги придется повторить несколько раз до тех пор, пока система не подберет шрифт, приятный для ваших глаз.
В итоге, после примерно 10 перезагрузок и изменений значений в этой ветке реестра, я дошел до шрифта ebrima.ttf
Если кому нужно, экспортированный файл для Windows 10 (может подойдет и к другим версиям) в архиве Fonts-151125
После применения этого файла невозможно будет использовать все замененные шрифты (Times New Roman, Cambria, Constantia, Georgia, MingLiU-ExtB & PMingLiU-ExtB & MingLiU_HKSCS-ExtB (TrueType), Palatino Linotype (TrueType), Sylfaen (TrueType), PT Serif Bold (TrueType), DejaVu Sans Condensed, DejaVu Serif (TrueType), DejaVu Serif Condensed Bold (TrueType), Liberation Serif (TrueType), PT Serif (TrueType), Cambria & Cambria Math (TrueType).
Способ конечно напоминает костыли, но к сожалению, я так и не смог найти адекватный способ отобразить фрагмент кода шрифтом без засечек…
Нашел решение.
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024