Новый режим форматирования текста в WPF 4.
В WPF .NET Framework 4 появилась возможность тонкой настройки форматирования текста: было добавлено свойство TextOptions.TextFormattingMode, которое может принимать значения Ideal и Display.
Значение Ideal было единственным доступным режимом с момента выхода WPF. Как следует из названия, при использовании этого режима, контуры символов отображаются с максимальной точностью.
Второе значение – Display – впервые появилось в четвертой версии. Это значение указывает на использование GDI-совместимых метрик шрифтов.
Так для чего понабилось добавлять новый режим и когда его нужно использовать?
Для отображения крупных надписей (начиная примерно с 16) прекрасно подойдет режим Ideal. При помощи кода, приведенного ниже, была создана первая иллюстрация. Обе строчки выводятся одним и тем же шрифтом 18-го размера, однако верхняя строчка использует режим Ideal, а нижняя – Display. Разницы в качестве, как вы видите, особой нет. А если нет разницы – зачем вводить лишний параметр? :)
<Window x:Class="TextFormattingDemo.MainWindow"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="163" Width="448">
<StackPanel>
<TextBlock FontSize="18" TextWrapping="Wrap">
Однажды в студеную зимнюю пору я из лесу вышел. Был сильный мороз.
</TextBlock>
<TextBlock FontSize="18" TextOptions.TextFormattingMode="Display" TextWrapping="Wrap">
Однажды в студеную зимнюю пору я из лесу вышел. Был сильный мороз.
</TextBlock>
</StackPanel>
</Window>
Однако совсем другая картина возникает при использовании шрифта 12-го размера. Вторая строка в режиме Display явно более четко и аккуратно отрисована.
Применение этой несложной техники позволит значительно повысить привлекательность ваших приложений!