TrueType

Discussing libraries simplifying applications development
  • Это баг в truetype.obj, а конкретно - в моих обертках. Память для изображения с текстом явно выделяется неправильно. Работает медленно. потому что по сто раз вызывается 7я функция. В идеале картинка должна рисоваться в памяти целиком, а затем выводиться на экран. Truetype.obj позволяет делать такой трюк, по идее. Т.е. реально весь текст будет отрисовываться в одну область памяти, а затем эта область выводится на экран целиком.
  • А с приложенной версией можно скриншот?
    Attachments
    truetype.obj (34.55 KiB)
    Downloaded 427 times
  • Вот
    Attachments
    ergeg.png
    ergeg.png (67.65 KiB)
    Viewed 8246 times
    Из хаоса в космос
  • Уже лучше, но все равно функция подсчета длины строки в пикселях песочит. Молодец, lev!
  • Мне лень было с ней разбираться и я помножил результат на 2, просто для просмотра :)
    Так что пока не молодец.
  • Умножь на 2,5 :)
    Из хаоса в космос
  • Умножил на два? О_о Странно, не очень похоже, судя по результату. Странно, что ошибка накапливается.
  • Кстати, lev, вот тебе пара хороших идей :) Я думаю, что эти правки не займут много времени, но попробовать с ними стоит - пока не будет добавлен полноценный блиттер.
    Leency wrote:Может добавить опцию ,чтобы программа не читала изображение с экрана, а использовала указаный фоновый цвет. Это будет наааамного быстрее и подойдёт для 90% случаев. Это первый вариант ускорения.
    Второй - это выключить вывод информации на доску отладки - это на самом деле много процессорного времени хавает.
  • Отладку могу убрать.
    С фоновым цветом посмотрю.
  • lev, будет здорово!
  • Вспомнил/понял, почему работает так медленно. Причина в строке

    Code: Select all

     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 станет сложнее, зато будет на порядок или два быстрее работать.
  • very Good :)
    can i use arabic fonts ?
  • You probably can, if you can read/write them from left to right...
  • 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.
  • Who is online

    Users browsing this forum: Semrush [Bot] and 1 guest