WPF Шрифт отрисовывается тонко в зависимости от масштаба - PullRequest
0 голосов
/ 15 мая 2019

Я работаю над проектом по копированию пользовательского интерфейса из рендера PDF существующего интерфейса.Оригинал использует шрифт "MS UI Gothic" в размере 20pt.В Visual Studio (2015, 2017, 2019) при увеличении от 100% до 110% шрифт будет отображаться почти жирным шрифтом, как в копии PDF, но при увеличении до 100% шрифт будет отображаться тонким.При запуске приложения шрифт отображается тонким.

<TextBlock Text="MS UI Gothic 20 looks thin" FontFamily="MS UI Gothic" FontSize="20" />
<TextBlock Text="MS UI Gothic 21 looks bold or correct" FontFamily="MS UI Gothic" FontSize="21" />

Ниже приведен тест, который я построил, чтобы показать проблему.Сжатие изображения заставляет шрифт казаться более толстым в 20pt, но вы все еще можете видеть изменение от 21pt до 20pt, и как оно тонкое WPF App showing bad rendering of MS UI Gothic

Я попробовал некоторые TextOptions, которыебыли использованы другими, чтобы исправить некоторые проблемы со шрифтами, но они не влияли на это.

Возможно, мне придется использовать жирный шрифт 18 или 19, но, похоже, нужно что-то еще, чтобы сказать Windows, чтобы правильно отображать шрифт.Также, глядя на Font Viewer в Windows, у них корректный рендеринг 18pt и большего размера, но есть проблемы с 12pt.Windows Font Viewer MS UI Gothic

Любая помощь будет отличной!

1 Ответ

0 голосов
/ 15 мая 2019

После дополнительного тестирования и отсутствия способа изменить способ заставить WPF правильно отображать его, я пришел к выводу, что могу уменьшить шрифт с 20 до 19 пикселей, а затем применить вес шрифта.Это приводит к тому, что шрифт меньшего размера отображается правильно и не меняет размер макетов и других элементов.

<TextBlock Text="MS UI Gothic 20 looks thin" FontFamily="MS UI Gothic" FontSize="20" />
<TextBlock Text="MS UI Gothic 19 SemiBold looks correct" FontFamily="MS UI Gothic" FontWeight="SemiBold" FontSize="19" />

Ниже приведен скриншот с изменением.

Using SemiBold with a 1pt smaller font looks correct

Надеюсь, это поможет некоторым другим, я также рассмотрел использование другой шрифт , но это усложнит необходимость включения его в приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...