TrueType

Discussing libraries simplifying applications development
  • Зачтено.

    (и чем только студенты в сессию не занимаются - лишь бы не учиться :) )
  • И не говори :D
  • Исправил определение длины выводимой строки в пикселах. Теперь text_out работает корректно на длинных строках.
    Исправил вывод русских букв.

    Вопрос с блиттером остается открытым. Нужен блиттер с поддержкой прозрачности, учитывающий флаг "рисовать относительно клиентской области окна". В том числе он нужен для букв с умляутами, типа ё и й. А так же составных символов. Иначе глиф-черточка или глиф-точечки "зарисует" остаток буквы в некоторых шрифтах. И вообще, так явно будет быстрее, чем грабить экран, смешивать и выводить на экран, вызывая 2 системных функции и гоняя цикл в пользовательском режиме.
    Attachments
    ttlib.7z (88.91 KiB)
    Downloaded 563 times
  • Может добавить опцию ,чтобы программа не читала изображение с экрана, а использовала указаный фоновый цвет. Это будет наааамного быстрее и подойдёт для 90% случаев. Это первый вариант ускорения.
    Второй - это выключить вывод информации на доску отладки - это на самом деле много процессорного времени хавает.
    Из хаоса в космос
  • У меня постоянно вылетало под KlbrInWin (на системе не тестировал), с "Й" падало, неправильно скриншотило на окнах отсчитывающих координаты от угла клиентской области, поэтому чуток поправил.
    Подкинул тестовые примерчики на C--, для любителей.
    Spoiler:stb.h
    синхронизировал stb.h с stb_truetype0.6c.h

    в строке if (num_vertices > 0) STBTT_memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex));
    вставил STBTT_memcpy вместо STBTT_memset по аналогии с исходным stb_truetype0.6c.h (если это было неправильно - верните назад)

    lib.c
    заменил 65-ю функцию на 7-ю, по коду чуть проще и вылетало у меня постоянно с 65-й
    внёс поправки для правильной работы с окнами отсчитывающими координаты от клиентского окна
    Добавил учёт descent, чтобы не вылетало на диакритике типа "Й", dos2utf править не стал - вместо Ё и т.п. показываются символы расширенной латиницы
    Attachments
    truetype.rar (115.54 KiB)
    Downloaded 564 times
  • Спасибо, интересно.
    Из хаоса в космос
  • Del
    Last edited by Serge on Fri Oct 12, 2012 1:35 pm, edited 1 time in total.
  • Можно сделать в HTMLv кнопку для переключения: обычные шрифты - TrueType.
    Из хаоса в космос
  • Попытался убрать подрезку элементов накладывающихся букв.
    Attachments
    awawa.gif
    awawa.gif (3 KiB)
    Viewed 7730 times
    truetype.obj (86.49 KiB)
    Downloaded 549 times
  • Что-то не так. Возможно с ядром. Если вывести одну надпись - всё нормально, но если подключить к HTMLv и выводить строки - глючит ужасно всеми цветами радуги.
    Attachments
    htmlv.zip (67.31 KiB)
    Downloaded 544 times
    Из хаоса в космос
  • А ты цвет как передаешь? Уверен, что не цепляешь четвертый байт цвета? Т.е. передаешь например 0x81FF0000 для вывода красного, а не 0xFF0000?
    А то есть там строка типа "ECX = fontType<<24+color"
  • Хотя хм, нет. Возможно, изменился API в новой версии.
    Хотя хм, нет. API не менялся.
    Попробуй посмотреть на асм-листинг браузера и сравнить его с кодом примера.
  • Аааа!!! Я идиот! Это всё оптимизации...
    Из хаоса в космос
  • Что-то где-то затиралось? Скрин-то хоть дай посмотреть ;) Надеюсь, скоро увидим разного размера буковки в htmlv?
  • Who is online

    Users browsing this forum: No registered users and 3 guests