Board.KolibriOS.org

Official KolibriOS board
It is currently Sun May 26, 2019 8:32 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 81 posts ]  Go to page Previous 1 2 3 4 5 6 Next
Author Message
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 7:21 pm 
Offline
Designer
User avatar

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

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

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 }

:)


Attachments:
egve.png
egve.png [ 65.12 KiB | Viewed 2833 times ]

_________________
Через тернии к звездам
Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:27 pm 
Offline

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


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:32 pm 
Offline

Joined: Tue Oct 05, 2010 6:05 pm
Posts: 214
А с приложенной версией можно скриншот?


Attachments:
truetype.obj [34.55 KiB]
Downloaded 209 times
Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:39 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Вот


Attachments:
ergeg.png
ergeg.png [ 67.65 KiB | Viewed 2815 times ]

_________________
Через тернии к звездам
Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:41 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Уже лучше, но все равно функция подсчета длины строки в пикселях песочит. Молодец, lev!


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:42 pm 
Offline

Joined: Tue Oct 05, 2010 6:05 pm
Posts: 214
Мне лень было с ней разбираться и я помножил результат на 2, просто для просмотра :)
Так что пока не молодец.


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:46 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Умножь на 2,5 :)

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


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 8:50 pm 
Offline

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


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 9:05 pm 
Offline

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

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


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 9:42 pm 
Offline

Joined: Tue Oct 05, 2010 6:05 pm
Posts: 214
Отладку могу убрать.
С фоновым цветом посмотрю.


Top
   
 Post subject: Re: TrueType
PostPosted: Mon Nov 05, 2012 10:13 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
lev, будет здорово!


Top
   
 Post subject: Re: TrueType
PostPosted: Tue Nov 06, 2012 1:10 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Вспомнил/понял, почему работает так медленно. Причина в строке
Code:
 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 станет сложнее, зато будет на порядок или два быстрее работать.


Top
   
 Post subject: Re: TrueType
PostPosted: Fri Nov 09, 2012 12:02 pm 
Offline

Joined: Wed Oct 17, 2012 4:21 pm
Posts: 9
very Good :)
can i use arabic fonts ?


Top
   
 Post subject: Re: TrueType
PostPosted: Fri Nov 09, 2012 12:24 pm 
Offline

Joined: Fri Feb 18, 2011 3:13 pm
Posts: 201
You probably can, if you can read/write them from left to right...


Top
   
 Post subject: Re: TrueType
PostPosted: Fri Nov 09, 2012 4:55 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 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.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 81 posts ]  Go to page Previous 1 2 3 4 5 6 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited