Looking good..
Keep up the good work!
TrueType
-
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." Albert Einstein
Зачтено.
(и чем только студенты в сессию не занимаются - лишь бы не учиться )
(и чем только студенты в сессию не занимаются - лишь бы не учиться )
И не говори
Исправил определение длины выводимой строки в пикселах. Теперь text_out работает корректно на длинных строках.
Исправил вывод русских букв.
Вопрос с блиттером остается открытым. Нужен блиттер с поддержкой прозрачности, учитывающий флаг "рисовать относительно клиентской области окна". В том числе он нужен для букв с умляутами, типа ё и й. А так же составных символов. Иначе глиф-черточка или глиф-точечки "зарисует" остаток буквы в некоторых шрифтах. И вообще, так явно будет быстрее, чем грабить экран, смешивать и выводить на экран, вызывая 2 системных функции и гоняя цикл в пользовательском режиме.
Исправил вывод русских букв.
Вопрос с блиттером остается открытым. Нужен блиттер с поддержкой прозрачности, учитывающий флаг "рисовать относительно клиентской области окна". В том числе он нужен для букв с умляутами, типа ё и й. А так же составных символов. Иначе глиф-черточка или глиф-точечки "зарисует" остаток буквы в некоторых шрифтах. И вообще, так явно будет быстрее, чем грабить экран, смешивать и выводить на экран, вызывая 2 системных функции и гоняя цикл в пользовательском режиме.
- Attachments
-
-
ttlib.7z (88.91 KiB)Downloaded 568 times
-
Может добавить опцию ,чтобы программа не читала изображение с экрана, а использовала указаный фоновый цвет. Это будет наааамного быстрее и подойдёт для 90% случаев. Это первый вариант ускорения.
Второй - это выключить вывод информации на доску отладки - это на самом деле много процессорного времени хавает.
Второй - это выключить вывод информации на доску отладки - это на самом деле много процессорного времени хавает.
Из хаоса в космос
У меня постоянно вылетало под KlbrInWin (на системе не тестировал), с "Й" падало, неправильно скриншотило на окнах отсчитывающих координаты от угла клиентской области, поэтому чуток поправил.
Подкинул тестовые примерчики на C--, для любителей.
синхронизировал 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 править не стал - вместо Ё и т.п. показываются символы расширенной латиницы
Подкинул тестовые примерчики на 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 570 times
-
Спасибо, интересно.
Из хаоса в космос
Del
Last edited by Serge on Fri Oct 12, 2012 1:35 pm, edited 1 time in total.
Можно сделать в HTMLv кнопку для переключения: обычные шрифты - TrueType.
Из хаоса в космос
Попытался убрать подрезку элементов накладывающихся букв.
- Attachments
-
-
awawa.gif (3 KiB)Viewed 7967 times
-
truetype.obj (86.49 KiB)Downloaded 555 times
-
Что-то не так. Возможно с ядром. Если вывести одну надпись - всё нормально, но если подключить к HTMLv и выводить строки - глючит ужасно всеми цветами радуги.
- Attachments
-
-
htmlv.zip (67.31 KiB)Downloaded 553 times
-
Из хаоса в космос
А ты цвет как передаешь? Уверен, что не цепляешь четвертый байт цвета? Т.е. передаешь например 0x81FF0000 для вывода красного, а не 0xFF0000?
А то есть там строка типа "ECX = fontType<<24+color"
А то есть там строка типа "ECX = fontType<<24+color"
Хотя хм, нет. Возможно, изменился API в новой версии.
Хотя хм, нет. API не менялся.
Попробуй посмотреть на асм-листинг браузера и сравнить его с кодом примера.
Хотя хм, нет. API не менялся.
Попробуй посмотреть на асм-листинг браузера и сравнить его с кодом примера.
Аааа!!! Я идиот! Это всё оптимизации...
Из хаоса в космос
Что-то где-то затиралось? Скрин-то хоть дай посмотреть Надеюсь, скоро увидим разного размера буковки в htmlv?
Who is online
Users browsing this forum: No registered users and 0 guests