Перейти к содержанию
    

Шрифты для маленьких экранов

Программу рисования шрифта по точкам подходящую я не нашел, правда, не сильно искал.

Самой удобной "программой" для рисования шрифтов для маленьких экранов для меня оказался встроенный графический редактор MS Visual Studio.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот Baser ответил, что при малом разрешении каждый пиксель надо ставить на свое место вручную.

Программы конвертеров я отфутболил, не заглядывая в них. Еще сайты есть, где конвертируют шрифты. Туда же и их.

Программу рисования шрифта по точкам подходящую я не нашел, правда, не сильно искал.

Я еще попытался сделать субпиксельное сглаживание. Вот пример символа.

// 0x41 A
  QUAD(00130000),
  QUAD(01313000),
  QUAD(03001200),
  QUAD(12000300),
  QUAD(12000300),
  QUAD(13333300),
  QUAD(12000300),
  QUAD(12000300),
  QUAD(00000000),
  QUAD(00000000),

Есть идея, как сделать еще лучше сглаживание. В следующем проекте.

Никакая программа мне не поможет. Сам!

Выбрав шаблон, символы рисуются легко, один за другим. Скопировал "пустой" набор, и редактируй потом нужные цифры в редакторе режиме замены. Что мышкой точки рисовать, что в редакторе цифры плюхать - невеликая разница.

Да, и символы у меня есть не только стандартные, но и свои, стрелочки всякие и т.п.

На счёт сглаживания - никогда не понимал его и любовь к нему.

Дико бесило когда в винде начали его по умолчанию впихивать.

И уж совсем выморозило, когда MS выпилил из ie возможность отключить сглаживание.

По мне, так сглаживание это костыль, предназначенный устранить недостатки "кривизны" самих шрифтов или их отрисовки.

Если не ошибаюсь ещё сам Джобс в своё время ключевое значение уделил разработке шрифтов для интерейса маков. И именно благодаря наличию оных интерфейс стал весьма популярен в своё время.

Лично я во всех операционках его принудительно отключаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На счёт сглаживания - никогда не понимал его и любовь к нему.

Дико бесило когда в винде начали его по умолчанию впихивать.

...

Лично я во всех операционках его принудительно отключаю.

Я всегда использую, очень нравится.

То, что я попытался сделать, далеко от того, что используется в компьютерах. Там яркость изменяется, а у меня только смещаются субпиксели: вместо

___RGB___

могу использовать

__BRG____

или

____GBR__

Дает более плавные линии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я уже писал, что программист из меня в общем-то начинающий и написать конвертер для компа я не способен.

И не планируете менять такое положение дел? Если всё-таки планируете, почему бы не начать сейчас?

 

На счёт сглаживания - никогда не понимал его и любовь к нему.

Ну, не знаю. Я когда добавил сглаживание, стало выглядеть гораздо лучше на мой вкус. И это только градации яркости, а если сделать сглаживание с RGB, будет ещё лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы же прекрасно понимаете, что ttf шрифты нормально будут выглядеть только на экранах большого разрешения.

Даже на разрешениях около 128 х 128 без антиалиасинга они будут выглядеть ужасно.

Я понимаю только, что это ваш конвертер делает уродливо.

За остальное, я так понимаю, вы говорить не можете поскольку не пробовали.

 

С ttf движком всякие конвертеры в бинарники можно забыть как дурной сон.

Именно это самодельщику энтузиасту и надо. Ему ж не замучиться надо, а получить результат максимально быстро и комфортно.

В этом смысле худший выбор чем MSP430 трудно придумать.

Нынче проектирую универсальный модуль для малоразмерных LCD/OLED дисплеев на Kinetis MKS22.

Думаю делать распаковку ttf в SPI Flash.

И да, это реклама. :biggrin:

Проект будет открытым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С ttf движком всякие конвертеры в бинарники можно забыть как дурной сон.

Именно это самодельщику энтузиасту и надо. Ему ж не замучиться надо, а получить результат максимально быстро и комфортно.

В этом смысле худший выбор чем MSP430 трудно придумать.

Ну незнаю, меня как-то принципиально воротит от всякого рода ардуин и им подобных.

Терпеть не могу когда не понимаю как что-то работает, если сам что-то делаю.

В своё время АВР-ки программировал на ассемблере, но далеко дело не зашло.

С МСП по мне так в общем-то всё просто достаточно. В общем-то зачастую можно взять код (если не очень сложный) для STM или тех-же AVR и поразбиравшить адаптировать под свои задачи, благо примеров много.

Да и с точки зрения хобби как-то когда разберёшься оно потом проще всё делается.

Но это от темы мы удаляемся уже.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но это от темы мы удаляемся уже.

А как вышло что подсели на MSP430? Просто интересно чем маркетологи TI вас зацепили.

Тему же сами завели в тупик. Теперь предлагаете всем думать что же может уместиться в ваш MSP.

Дальше как всегда начнется , что не любой MSP, а только тот у которого корпус LQFP и меньше 100 ног.

Не вы ж тут первый такой энтузиаст.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как вышло что подсели на MSP430? Просто интересно чем маркетологи TI вас зацепили.

Тему же сами завели в тупик. Теперь предлагаете всем думать что же может уместиться в ваш MSP.

Дальше как всегда начнется , что не любой MSP, а только тот у которого корпус LQFP и меньше 100 ног.

Не вы ж тут первый такой энтузиаст.

Да не, всё достаточно тривиально - в моём распоряжении они просто когда-то на халяву оказались. И есть и теперь.

Плюс для меня очень удобные платки отладки, плюс мож тривиально но "богатая периферия". Ну и набор режимов пониженного энергопотребления что позволяиет делать устройства на батарейках не думая, что её хватит на пару дней.

А на счёт не любой - да фиг знает, по моим задачам наверно хватит практически любого самого начального уровня. Правда учитывая то, что в китае можно купить G2553 за 60 рублей, наверное это самый приемлемый вариант. Проще в китае и на ебее дешевле не найдёшь, а у наших продавцов они существенно дороже.

На счёт того, что завёл в тупик - да немного потерял нить но выводы в общем-то для себя определённые сделал.

Результаты впоследствии готов выложить здесь, если это конечно кому-то интересно.

Изменено пользователем Barcooler

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С ttf движком всякие конвертеры в бинарники можно забыть как дурной сон.

Александр, расскажите пожалуйста поподробнее, откуда вы брали модуль работы с ttf, и сколько он требует ОЗУ/ПЗУ.

 

Сейчас моё мнение такое: конечно заманчиво иметь в микроконтроллере масштабируемый шрифт, но многовато накладных, да и необходимости особой нет (обычно нужно пару размеров шрифта, а для этого вполне достаточно конвертированных заранее вариантов). Но буду рад, если вы меня переубедите.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На счёт сглаживания - никогда не понимал его и любовь к нему.

Дико бесило когда в винде начали его по умолчанию впихивать.

И уж совсем выморозило, когда MS выпилил из ie возможность отключить сглаживание.

По мне, так сглаживание это костыль, предназначенный устранить недостатки "кривизны" самих шрифтов или их отрисовки.

Без него зачастую откровенная какашка получается (см. пример), особенно если шрифт нарисован не «вручную». То есть без проверки, что все пиксели на своих местах.

post-14942-1496168082_thumb.jpg

Надо рассматривать в полном разрешении. Глазами это все прекрасно видно и бросается в глаза (в мои во всяком случае).

Если бы делал, например, mp3-плеер с маленьким OLED-дисплеем, то рисовал бы шрифты вручную. А лучше, чтобы это делал дизайнер, как в Эппл, которую упомянули.

 

Для пользовательского интерфейса посерьезнее, без особых проблем с энергопотреблением, можно и с помощью фреймворка, как предпочитает ув. AlexandrY.

Это, видимо, правильный подход. Интересно будет посмотреть хорошо сфотографированный результат в нормальном фокусе. Особенно для маленьких шрифтов.

Либо конвертер, как делал ув. jcxz.

 

ViKo, если это возможно, хотелось бы увидеть Ваше сглаживание на каком-нибудь примере. Тема, действительно, очень интересна.

 

Еще хотел снять свою автомагнитолу. Такой ужасный шрифт с отрисовкой. Второпях стали делать не очень красивые вещи.

 

AHTOXA, если правильно понял, то речь идет об этом https://www.micrium.com/rtos/gui/

На страничке указаны требуемые ресурсы. И не сказать, что уж какие-то огромные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Александр, расскажите пожалуйста поподробнее, откуда вы брали модуль работы с ttf, и сколько он требует ОЗУ/ПЗУ.

Этот модуль часть проекта https://www.freetype.org/

Он не поставляется с ucGUI, его надо самому портировать.

Параметры на память не помню, а чтоб вспомнить надо поднимать старую платформу.

Вот сделаю на новой и все выложу.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ViKo, если это возможно, хотелось бы увидеть Ваше сглаживание на каком-нибудь примере. Тема, действительно, очень интересна.

В июне буду программировать-настраивать партию приборов, сфотографирую, покажу. Сейчас макет разобран, а свободного времени мало. Через недели две смогу собрать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По мне, так сглаживание это костыль, предназначенный устранить недостатки "кривизны" самих шрифтов или их отрисовки

Ну если это и костыль, то костыль для ограниченного разрешения экрана - чтобы сгладить искажения картинки, вызванные её растеризацией. Вот когда появятся устройства отображения с бесконечным разрешением, вот тогда сглаживание не будет нужно. А пока оно позволяет как бы визуально увеличить разрешение картинки.

И сглаживание никакого отношения не имеет к некоей мнимой "кривизне" шрифтов.

 

Программы конвертеров я отфутболил, не заглядывая в них. Еще сайты есть, где конвертируют шрифты.

Это удивительно, но описанный выше мой коллега-рисовальщик шрифтов тоже в конторе имел ник viko! :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если это и костыль, то костыль для ограниченного разрешения экрана - чтобы сгладить искажения картинки, вызванные её растеризацией. Вот когда появятся устройства отображения с бесконечным разрешением, вот тогда сглаживание не будет нужно. А пока оно позволяет как бы визуально увеличить разрешение картинки.

И сглаживание никакого отношения не имеет к некоей мнимой "кривизне" шрифтов.

Сглаживание, на то и сглаживание, что по сути обманывает зрение (или восприятие глазом) и не искажения убрать.

Шрифты как-бы изначально были растровыми по определению. И как ни странно сглаживание применяется независимо от типа шрифта.

По сути использовается некое замыливание краёв для более плавного перехода тонов (или цвета текста в цвет фона).

На счёт бесконечности разрешения экрана - у упоминаемого мной Эппла было (наверно и сейчас есть) определение для как раз этого случая - Retina, что привязано к разрешающей способности глаза.

То есть грубо при плотности скажем > 300 dpi с расстояния в 30 см, человеческий глаз не способен различить точки.

А такое разрешение во многих мобильниках уже давно превышается и прилично. По этому никакого смысла на таких экранах не имеет использовать пресловутое сглаживание. Надо просто иметь хорошие шрифты ну и ПО, которое их правильно отображает.

Лично у меня сглаживание как правило вызывает ощущение "мутности картинки".

И ещё, хочу отметить, что сглаживание появилось гораздо позднее того времени, когда активно использовались небольшие экраны. И появилось оно именно применитьльно к относительно большим - компьютерным экранам.

По мне так это в первую очередь маркетинговый ход, ну или если хотите некий виток развития графических интерфейсов, но не более того.

Ну да ладно, это всё лирика.

Изменено пользователем Barcooler

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я понимаю только, что это ваш конвертер делает уродливо.

За остальное, я так понимаю, вы говорить не можете поскольку не пробовали.

 

С ttf движком всякие конвертеры в бинарники можно забыть как дурной сон.

Именно это самодельщику энтузиасту и надо. Ему ж не замучиться надо, а получить результат максимально быстро и комфортно.

Пробовал я разные конвертеры и убедился, что природу пока человек обмануть не может и искусственный интеллект у конвертеров никакой.

И опять же - речь идет о монохромных маленьких шрифтах - 10 х 8 и меньше.

При размере 14-16 точек в высоту уже получается приемлемо, если больше - просто хорошо.

А при попытке сделать из ttf шрифт размером 8 х 5 многие символы просто нельзя разобрать: "а что же это такое было".

Так что любая технология имеет свою область применения.

 

Если бы делал, например, mp3-плеер с маленьким OLED-дисплеем, то рисовал бы шрифты вручную. А лучше, чтобы это делал дизайнер, как в Эппл, которую упомянули.

 

Для пользовательского интерфейса посерьезнее, без особых проблем с энергопотреблением, можно и с помощью фреймворка, как предпочитает ув. AlexandrY.

Вот именно эту мысль я и пытался донести :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...