Можно ли как-то улучшить отображение шрифтов в WPF?
Пытаюсь прикрутить к интеграции Nemerle с VS 2008 хинты на основе WPF.
При отображении шрифтов тех же размеров, что в обычных хинтах текст читается очень плохо. Даже увеличенный шрифт (Arial 14) выглядит не очень здорово (и при этом занимает намного больше места на экране). Все смазано и причем весьма криво.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Можно ли как-то улучшить отображение шрифтов в WPF?
VD>Пытаюсь прикрутить к интеграции Nemerle с VS 2008 хинты на основе WPF.
VD>При отображении шрифтов тех же размеров, что в обычных хинтах текст читается очень плохо. Даже увеличенный шрифт (Arial 14) выглядит не очень здорово (и при этом занимает намного больше места на экране). Все смазано и причем весьма криво.
проблемы с шрифтами и отображением иконок починили только в WPF4, который идёт с VS2010 beta2
Здравствуйте, VladD2, Вы писали:
VD>Можно ли как-то улучшить отображение шрифтов в WPF?
VD>Пытаюсь прикрутить к интеграции Nemerle с VS 2008 хинты на основе WPF.
VD>При отображении шрифтов тех же размеров, что в обычных хинтах текст читается очень плохо. Даже увеличенный шрифт (Arial 14) выглядит не очень здорово (и при этом занимает намного больше места на экране). Все смазано и причем весьма криво.
Забавно, я с тем же вопросом. Вот код для начала, надо положить его например в App.OnStartup:
var fontFamily = "Calibri"; // looks really goodvar fontSize = 10.0d * (96d / 72d); // 10 points
TextElement.FontFamilyProperty.OverrideMetadata(typeof(TextElement), new FrameworkPropertyMetadata(new FontFamily(fontFamily)));
TextElement.FontSizeProperty.OverrideMetadata(typeof(TextElement), new FrameworkPropertyMetadata(fontSize));
TextBlock.FontFamilyProperty.OverrideMetadata(typeof(TextBlock), new FrameworkPropertyMetadata(new FontFamily(fontFamily)));
TextBlock.FontSizeProperty.OverrideMetadata(typeof(TextBlock), new FrameworkPropertyMetadata(fontSize));
Это решит проблему, но шрифты в TextBox-ах останутся прежними (класс Control переопределяет метаданные для шрифта и их вышеприведённым макаром не сменишь). Вопрос: как сменить шрифт для наследников класса Control одним махом?
Everything is an object
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
V>Это решит проблему, но шрифты в TextBox-ах останутся прежними (класс Control переопределяет метаданные для шрифта и их вышеприведённым макаром не сменишь). Вопрос: как сменить шрифт для наследников класса Control одним махом?
Как я понял — это всего лишь задание шрифта Calibri.
Химия с размерами шрифта имеет смысл?
Можно ли это дело просто задать в нужный элемент, а не назначать глобально?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Vladek, Вы писали:
V>... установив нужные свойства.
Можно по подробнее?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [WPF] Можно ли улучшить отображение шрифтов?
От:
Аноним
Дата:
30.10.09 21:13
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Можно ли как-то улучшить отображение шрифтов в WPF?
Пиши белым по черному фону как в бленде и еще лучше жирным шрифтом — будет довольно готично, но размытие реально меньше заметно.
Кстати, в бленде похоже всплывающие подсказки в коде рендерятся не WPF, уж очень чётко они выглядят по сравнению со всем остальным интерфейсом.
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Аноним, Вы писали:
А>Кстати, в бленде похоже всплывающие подсказки в коде рендерятся не WPF, уж очень чётко они выглядят по сравнению со всем остальным интерфейсом.
Блин. Хоть выбрасывай этот WPF и бери банальный броузер.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
От:
Аноним
Дата:
30.10.09 22:00
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Блин. Хоть выбрасывай этот WPF и бери банальный броузер.
А зачем там вообще WPF? Нужна какая-то интерактивность от отдельных элементов текста?
На худой конец можно рендерить текст в картинку обычными средствами и составлять хинт из картинок по такой же схеме.
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, VladD2, Вы писали:
VD>Можно ли как-то улучшить отображение шрифтов в WPF?
В 2008 почти никак Хотя ухищрения есть (см. внизу)
В 2010 Beta2 устанавливаешь UseLayoutRounding="True" на корне дерева и TextOptions.TextFormattingMode="Display", станет сильно лучше.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
От:
Аноним
Дата:
31.10.09 09:31
Оценка:
Здравствуйте, VladD2, Вы писали:
VD>Блин. Хоть выбрасывай этот WPF и бери банальный броузер.
Как вариант, а по производительности устраивает?
Я погуглил по free с# html renderer и с ходу наткнулся на это, правда больше всё-таки коммерческих контролов.
Re[4]: Опять про вывод типов и overload resolution
Здравствуйте, Аноним, Вы писали:
VD>>Блин. Хоть выбрасывай этот WPF и бери банальный броузер. А>Как вариант, а по производительности устраивает?
Первая загрузка тормозит безбожно, но потом вробе бы приемлемо.
За то по функционатьности предел мечтаний.
А>Я погуглил по free с# html renderer и с ходу наткнулся на это, правда больше всё-таки коммерческих контролов.
Спасибо. Если WPF все же достанет, попробую это дело.
В текущем варианте уже почти все готово, так что пока его бросать не хочется.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Кирилл Осенков, Вы писали:
КО>В 2008 почти никак Хотя ухищрения есть (см. внизу) КО>В 2010 Beta2 устанавливаешь UseLayoutRounding="True" на корне дерева и TextOptions.TextFormattingMode="Display", станет сильно лучше.
А можно поставить версию WPF идующую с 2010 Beta2 отдельно?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Кирилл Осенков, Вы писали:
КО>В 2008 почти никак Хотя ухищрения есть (см. внизу) КО>В 2010 Beta2 устанавливаешь UseLayoutRounding="True" на корне дерева и TextOptions.TextFormattingMode="Display", станет сильно лучше.
Кстати, 2010 Beta 1 жудко тормозила при загрузке. Это хоть немного поправят к релизу?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Можно поставить .NET Framework 4.0 Beta 2, без студии: КО>http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx
КО>Там несколько вариантов, можно скачать даже не весь framework, а только Client Profile — 35 MB, но в нём WPF есть.
Я правильно понял, что повышение качества рендеринга мы получим только если перейдем на 4-ый фрэймворк.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [WPF] Можно ли улучшить отображение шрифтов?
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Да, Beta 2 значительно быстрее Beta1. А текущие билды уже ощутимо лучше Beta 2 КО>В некоторых сценариях 2010 быстрее 2008. К сожалению, не во всех.
А загрузка ускорилась?
Кстати, закинь (если есть такая возможность) мысль, о том, что МС сам подрывает доверие к WPF поставляя в составе виндовс сильно деоптимизированные 3D-дрова. Давиче мне один товарищ жаловался на неприемлемую производительность прокрутки в 2010-ой студии. После некоторого разбирательства и скачивания дров для видюхи с сайта Интела все вроде бы как нормализовалось.
Понятно, что в одночасье МС не начнет поставлять в составе виндовс быстрые дрова, но хотя бы написать в блогах и рейдми об этом надо.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [WPF] Можно ли улучшить отображение шрифтов?