Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт июн 27, 2017 8:21 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 81 сообщение ]  На страницу Пред. 1 2 3 4 5 6 След.
Автор Сообщение
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 7:21 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4088
Слишком медленно работает для реального использования. Хотя уже можно пилить... Не понятно что это с левой стороны за артефакты и наложения в тексте. Плюс почему не полные строки.

По поводу ошибки - там жирный текст реализовался таким кодом

WriteText(start_x, start_y, 0x80, text_colors[text_color_index], #line, 0);
IF (b_text) { $add ebx, 1<<16 $int 0x40 }

после стало
//WriteText(start_x, start_y, 0x80, text_colors[text_color_index], #line, 0);
text_out stdcall (#line, -1, 17, text_colors[text_color_index], start_x, start_y-3);
IF (b_text) { $add ebx, 1<<16 $int 0x40 }

:)


Вложения:
egve.png
egve.png [ 65.12 КБ | 1737 просмотров ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:27 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Это баг в truetype.obj, а конкретно - в моих обертках. Память для изображения с текстом явно выделяется неправильно. Работает медленно. потому что по сто раз вызывается 7я функция. В идеале картинка должна рисоваться в памяти целиком, а затем выводиться на экран. Truetype.obj позволяет делать такой трюк, по идее. Т.е. реально весь текст будет отрисовываться в одну область памяти, а затем эта область выводится на экран целиком.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:32 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 176
А с приложенной версией можно скриншот?


Вложения:
truetype.obj [34.55 КБ]
146 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:39 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4088
Вот


Вложения:
ergeg.png
ergeg.png [ 67.65 КБ | 1719 просмотров ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:41 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Уже лучше, но все равно функция подсчета длины строки в пикселях песочит. Молодец, lev!


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:42 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 176
Мне лень было с ней разбираться и я помножил результат на 2, просто для просмотра :)
Так что пока не молодец.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:46 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4088
Умножь на 2,5 :)

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 8:50 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Умножил на два? О_о Странно, не очень похоже, судя по результату. Странно, что ошибка накапливается.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 9:05 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Кстати, lev, вот тебе пара хороших идей :) Я думаю, что эти правки не займут много времени, но попробовать с ними стоит - пока не будет добавлен полноценный блиттер.

Leency писал(а):
Может добавить опцию ,чтобы программа не читала изображение с экрана, а использовала указаный фоновый цвет. Это будет наааамного быстрее и подойдёт для 90% случаев. Это первый вариант ускорения.
Второй - это выключить вывод информации на доску отладки - это на самом деле много процессорного времени хавает.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 9:42 pm 
Не в сети

Зарегистрирован: Вт окт 05, 2010 6:05 pm
Сообщения: 176
Отладку могу убрать.
С фоновым цветом посмотрю.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пн ноя 05, 2012 10:13 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
lev, будет здорово!


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Вт ноя 06, 2012 1:10 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Вспомнил/понял, почему работает так медленно. Причина в строке
Код:
 if (buffer==-1) {stbtt_InitFont(&font, pdf_font_DroidSans,stbtt_GetFontOffsetForIndex(pdf_font_DroidSans,0) );kol_board_puts("default font\n");} else {stbtt_InitFont(&font, buffer,stbtt_GetFontOffsetForIndex(buffer,0) );kol_board_puts("Font loaded..\n");}

Нужно вынести процедуру инициализации шрифта из процедуры отрисовки. API станет сложнее, зато будет на порядок или два быстрее работать.


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пт ноя 09, 2012 12:02 pm 
Не в сети

Зарегистрирован: Ср окт 17, 2012 4:21 pm
Сообщения: 9
very Good :)
can i use arabic fonts ?


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пт ноя 09, 2012 12:24 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
You probably can, if you can read/write them from left to right...


Вернуться к началу
 Заголовок сообщения: Re: TrueType
СообщениеДобавлено: Пт ноя 09, 2012 4:55 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
You can try, but for now library accept only DOS866 codepage. You can fix sources easily to accept UTF-8, but you also should think about inserting symbols from right to left. It's possible and relatively easy.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 81 сообщение ]  На страницу Пред. 1 2 3 4 5 6 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB