Board.KolibriOS.org
http://board.kolibrios.org/

TrueType
http://board.kolibrios.org/viewtopic.php?f=24&t=2059
Страница 4 из 6

Автор:  Leency [ Пн ноя 05, 2012 7:21 pm ]
Заголовок сообщения:  Re: TrueType

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

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

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 КБ | 2568 просмотров ]

Автор:  SoUrcerer [ Пн ноя 05, 2012 8:27 pm ]
Заголовок сообщения:  Re: TrueType

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

Автор:  lev [ Пн ноя 05, 2012 8:32 pm ]
Заголовок сообщения:  Re: TrueType

А с приложенной версией можно скриншот?

Вложения:
truetype.obj [34.55 КБ]
181 скачивание

Автор:  Leency [ Пн ноя 05, 2012 8:39 pm ]
Заголовок сообщения:  Re: TrueType

Вот

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

Автор:  SoUrcerer [ Пн ноя 05, 2012 8:41 pm ]
Заголовок сообщения:  Re: TrueType

Уже лучше, но все равно функция подсчета длины строки в пикселях песочит. Молодец, lev!

Автор:  lev [ Пн ноя 05, 2012 8:42 pm ]
Заголовок сообщения:  Re: TrueType

Мне лень было с ней разбираться и я помножил результат на 2, просто для просмотра :)
Так что пока не молодец.

Автор:  Leency [ Пн ноя 05, 2012 8:46 pm ]
Заголовок сообщения:  Re: TrueType

Умножь на 2,5 :)

Автор:  SoUrcerer [ Пн ноя 05, 2012 8:50 pm ]
Заголовок сообщения:  Re: TrueType

Умножил на два? О_о Странно, не очень похоже, судя по результату. Странно, что ошибка накапливается.

Автор:  SoUrcerer [ Пн ноя 05, 2012 9:05 pm ]
Заголовок сообщения:  Re: TrueType

Кстати, lev, вот тебе пара хороших идей :) Я думаю, что эти правки не займут много времени, но попробовать с ними стоит - пока не будет добавлен полноценный блиттер.

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

Автор:  lev [ Пн ноя 05, 2012 9:42 pm ]
Заголовок сообщения:  Re: TrueType

Отладку могу убрать.
С фоновым цветом посмотрю.

Автор:  SoUrcerer [ Пн ноя 05, 2012 10:13 pm ]
Заголовок сообщения:  Re: TrueType

lev, будет здорово!

Автор:  SoUrcerer [ Вт ноя 06, 2012 1:10 pm ]
Заголовок сообщения:  Re: TrueType

Вспомнил/понял, почему работает так медленно. Причина в строке
Код:
 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 станет сложнее, зато будет на порядок или два быстрее работать.

Автор:  linuxer9 [ Пт ноя 09, 2012 12:02 pm ]
Заголовок сообщения:  Re: TrueType

very Good :)
can i use arabic fonts ?

Автор:  johnfound [ Пт ноя 09, 2012 12:24 pm ]
Заголовок сообщения:  Re: TrueType

You probably can, if you can read/write them from left to right...

Автор:  SoUrcerer [ Пт ноя 09, 2012 4:55 pm ]
Заголовок сообщения:  Re: TrueType

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.

Страница 4 из 6 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/