Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DrawingContext.DrawText странно рисует тире 
:(
    Опции темы
drum
Дата 25.4.2014, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 26.5.2007

Репутация: нет
Всего: нет



Здравствуйте!

Работал с текстом в WPF (.NET 3.5 SP1), и неожиданно наткнулся на такое интересное поведение. DrawingContext.DrawText очень странно отрисовывает тире после русских букв.

Если написать простой пример: 

Код

protected override void OnRender(DrawingContext drawingContext) {
            base.OnRender(drawingContext);

            string s1 = "--------------------- б -------------------";
            string s2 = "--------------------- j -------------------";

            var f1 = new FormattedText(s1, CultureInfo.CurrentUICulture, System.Windows.FlowDirection.LeftToRight,
                new Typeface(FontFamily, FontStyle, FontWeight, FontStretch), 14, Brushes.Black);
            var f2 = new FormattedText(s2, CultureInfo.CurrentUICulture, System.Windows.FlowDirection.LeftToRight,
                new Typeface(FontFamily, FontStyle, FontWeight, FontStretch), 14, Brushes.Black);

            drawingContext.DrawText(f1, new Point(10, 10));
            drawingContext.DrawText(f2, new Point(10, 50));
        }


то в первой строке тире до буквы 'б' идут нормально, а после неё слипаются.

Такое возникает только в .NET 3.5 SP1, в 4 фреймворке всё нормально. Судя по всему - баг. Может кто-нибудь знает как его можно обойти.

Это сообщение отредактировал(а) drum - 25.4.2014, 04:20
PM MAIL   Вверх
jonie
Дата 13.5.2014, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 2
Всего: 118



Цитата(drum @  25.4.2014,  05:18 Найти цитируемый пост)

Такое возникает только в .NET 3.5 SP1, в 4 фреймворке всё нормально. Судя по всему - баг. Может кто-нибудь знает как его можно обойти.

это не баг, а фича (с)....
в .net4 переписали рендерер шрифтов в WPF, поэтому стало чуть получше.
почитайте для развития статью http://habrahabr.ru/post/216833/


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.