|
|
  |
Растеризация векторных шрифтов на ARM, Кто, что использует. И приемлемо ли? |
|
|
|
Jul 13 2011, 07:04
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Привет коллеги по цеху!
Решил поработать с векторными шрифтами в своем проекте с TFT. Там у меня STM32F103ZET6 стоит (привожу для оценки ресурса). В настоящее время используются растровые шрифты, записанные во внешнюю NOR flash. Как Вы понимаете это большие расходы на драгоценную память, особенно при желании иметь разные размеры и заливки шрифта. Как думаете, или знаете, «покатит» ли растеризация векторных шрифтов на такой машине, возможно предложите быстрые алгоритмы растеризации, ссылки на полезные источники, приму с благодарностью. Будет полезна любая критика, давайте пообсуждаем, кто, что применяет.
--------------------
Magic Friend
|
|
|
|
|
Jul 14 2011, 05:10
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Danis @ Jul 13 2011, 22:32)  Походу тема мало знакомая для большинства, но ничего и это сделаем. Давно хотел написать свой растеризатор для векторных объектов, еще со времен освоения OpenGL. Кривые Безье тоже представляют интерес для ознакомления. Кстати как-то пробовал запускать алгоритм интерполяции-Логранжа на STM32, по 3-м и более точкам строил 2D кривую. Время расчетов меня приятно удивило. Думаю, сначала все под ПК написать, потом перенесу код на «железку». А, что вы еще собираетесь сделать? Конечно, доставляет неописуемое удовольствие что вы осваивали OpenGL. Но неприятно, что вы создаете темы в виде опросов сами не имея ничего сказать. Зачем сообщать что вы собрались изобретать велосипед? В файле raster.c в библиотеке freetype все это уже сделано причем в целочисленной арифметике. Посмотрев исходники могу 100% утверждать, что у вас никаких шансов это сделать с нуля или как-то сильно по другому нет.
|
|
|
|
|
Jul 14 2011, 05:47
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(AlexandrY @ Jul 14 2011, 08:10)  А, что вы еще собираетесь сделать?  Свой растеризатор, разве это не понятно? Цитата(AlexandrY @ Jul 14 2011, 08:10)  Но неприятно, что вы создаете темы в виде опросов сами не имея ничего сказать. За язык ни кого не тяну. С растеризацией векторных объектов только поверхностно знаком, так что скажу, когда сделаю свой. Цитата(AlexandrY @ Jul 14 2011, 09:10)  Посмотрев исходники могу 100% утверждать, что у вас никаких шансов это сделать с нуля или как-то сильно по другому нет. Поживем, увидим. На 100% утверждать..., как то наивно. P.S. Как уже писал в первом посте – критика будет полезна. За Вашу ссылку, спасибо!
--------------------
Magic Friend
|
|
|
|
|
Jul 14 2011, 06:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Цитата Свой растеризатор, разве это не понятно? Сколько я такого слышал за последние годы: свой DOS, Windows, C, C++. Где оно все? Хоть что-то доведено до логического конца? Продается? Вот и вы туда же. Посмотрели бы для, начала, сколько ушло времени на доведение до ума проекта freetype. Нечем в жизни заняться?
|
|
|
|
|
Jul 14 2011, 07:46
|

Twilight Zone
  
Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990

|
Цитата(AlexandrY @ Jul 14 2011, 09:51)  А придумывать собственный формат не имея шрифтов эт извините..., надо сильно аргументировать. Я писал о растеризации векторных объектов, в том числе таковых шрифтов. Придумывать их и в мыслях не было. "не имея шрифтов" - откуда такое утверждение? Скорее вы меня не поняли, возможно, из-за неоднозначного толкования, что есть растеризация. По мне так - это перевод векторного изображения, в пиксели, для вывода на дисплей. Сейчас приглядываюсь к SVG - язык разметки масштабируемой векторной графики.
--------------------
Magic Friend
|
|
|
|
|
Jul 17 2011, 22:30
|
self made
   
Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795

|
Цитата(Danis @ Jul 13 2011, 03:04)  Привет коллеги по цеху!
Решил поработать с векторными шрифтами в своем проекте с TFT. Там у меня STM32F103ZET6 стоит (привожу для оценки ресурса). В настоящее время используются растровые шрифты, записанные во внешнюю NOR flash. Как Вы понимаете это большие расходы на драгоценную память, особенно при желании иметь разные размеры и заливки шрифта. Как думаете, или знаете, «покатит» ли растеризация векторных шрифтов на такой машине, возможно предложите быстрые алгоритмы растеризации, ссылки на полезные источники, приму с благодарностью. Будет полезна любая критика, давайте пообсуждаем, кто, что применяет. Что делаем: примитивно растеризуем на этапе компиляции в шрифты фиксированного размера, с помощью imageMagick. Затем превращаем в массив на С и линкуем к проекту. Растеризация в run-time - извращение. Цитата(aaarrr @ Jul 13 2011, 08:59)  ИМХО, лучше компрессировать растровые, ибо быстрее и проще - 4bpp растровый шрифт утаптывается примерно в 15 раз. Долго эксперементировал с bpp -- выше 3bpp визальное улучшение шрифтов практически незаметно.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|