|
|
  |
Шрифты для маленьких экранов, Подскажите какие шрифты лучше использовать |
|
|
|
May 29 2017, 16:45
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 17-03-17
Пользователь №: 95 867

|
Цитата(Barcooler @ May 29 2017, 11:45)  Вопрос в том, какие именно шрифты и какого размера (кегля) конвертировать. Понятно что можно любой шрифт взять. Но большинство шрифтов нормально конвертятся (не в бинарник правда а в шестнадцатиричный код для программы) только начиная с размера 16 и больше. Ниже получаются кривизна на кривизне или просто смотрится убого. или мы о разном .. но именно под экраны вашего размера я и использовал, шрифты программа берет прям из ОСи ( у меня линукс ) - и шрифт 8х5 получился нормально, у меня нет претензий. ( я его после даже увеличивал уже програмно до 16, тама уже чутка корявится, но терпимо )
|
|
|
|
|
May 29 2017, 18:43
|

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

|
Цитата(Barcooler @ May 29 2017, 12:01)  А как определить, что шрифт растровый? Я видимо в этом вопросе дилетант, но не нашёл признаков растровости в шрифтах операционки (Win). Растровые шрифты уже не модно. Нынче микроконтроллеры в легкую работают с ttf шрифтами. Вот первый попавшийся пример GUI которая работает с ttf шрифтами напрямую - https://github.com/embox/nuklear/blob/master/nuklear.hДа, вся GUI и дефолтные ttf шрифты помещается в одном .h файле!
|
|
|
|
|
May 29 2017, 19:12
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 7-03-11
Из: Владимир
Пользователь №: 63 445

|
Цитата(AlexandrY @ May 29 2017, 21:43)  Растровые шрифты уже не модно. Нынче микроконтроллеры в легкую работают с ttf шрифтами. Вот первый попавшийся пример GUI которая работает с ttf шрифтами напрямую - https://github.com/embox/nuklear/blob/master/nuklear.hДа, вся GUI и дефолтные ttf шрифты помещается в одном .h файле! Да как-то не логично в те-же часы/термометр/высотомер и проч на простенькой msp430 впихивать такое, да и не уверен, что это в результате будет хоть как-то смотреться на небольшом (небольшого разрешения) экранчике. Это скорее применимо к каким-то серьёзным проектам, ну или как минимум на контроллерах пожирнее и экранчиках 120х160 как минимум.
|
|
|
|
|
May 29 2017, 21:24
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 7-03-11
Из: Владимир
Пользователь №: 63 445

|
Цитата(AlexandrY @ May 29 2017, 23:58)  В msp430 очевидно не впихнете. Там только распаковка одного ttf требует 12 кБ стека. В любом случае не логично "из пушки по воробьям". Почему возник собственно сабж - предполагалось наличие изначально готовых шрифтов адаптированных под небольшое разрешение. Ведь в своё время все крутилось на совсем небольших экранчиках и простеньких контроллерах с ограниченным количеством памяти. На самом деле попедалировав получил что в общем-то можно из того-же Arial конвертнуть шрифт - паример 9 кегля. Приходится правда "дорабатывать напильником" т.к. спецсимволы и буквы с нижними/верхними "выносками" (не знаю правильное название этих элелементов) выходят прилично за пределы 8 точек по высоте.
|
|
|
|
|
May 30 2017, 04:57
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Я руками и головой "нарисовал" шрифт в матрице 10 х 8 (большинство символов занимают зону 8 х 5 точек, 2 точки вниз - для хвостов, как в 'р', точка вправо - для 'щ'). Сразу в h-файле, используя макро двоичной и четверичной кодировки. Ошибок было очень мало. Потом на экране проверил, скорректировал. Да, перед этим в тетради в клетку прикинул (тетрадь и карандаш - мои основные инструменты, наравне с клавиатурой и мышью). В пропорциональный превращаю шрифт при выводе на экран, оставляя между столбцами пикселей, которые используются в символах, по 2 пустых столбца. Меня устраивает, а остальные понятия не имеют, как и что там сделано, воспринимают, как само разумеющееся.
|
|
|
|
|
May 30 2017, 08:20
|

Знающий
   
Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663

|
Любезный ТС, за то время, что мы тут надавали советов, вы, как честный человек, должны были бы уже нарисовать свой шрифт (: Покажете? (: Цитата(AlexandrY) Вот еще лет 10 назад сделано на ucGUI 48*84. Это в чем-то даже хуже неудобоваримее чем 122*32.
--------------------
Пролетарий умственного труда.
|
|
|
|
|
May 30 2017, 09:18
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 7-03-11
Из: Владимир
Пользователь №: 63 445

|
Цитата(AlexandrY @ May 30 2017, 08:26)  Клиентам не надо "логично", надо быстро и качественно. Вот еще лет 10 назад сделано на ucGUI:
И никто не спрашивал зачем тут аж целый uсGUI. Ну во первых я всё пока делаю исключительно для себя в качестве некого хобби. И да я пока дилетант во многих вопросах, по этому для меня ещё много вопросов. Ну и msp430 как-то кажется для простых задач более чем хватает, плюс наличие режимов микропотребления для батарейных устройств актуально. Кстати, что за экранчик такой симпатичный? Цитата(Obam @ May 30 2017, 11:20)  Любезный ТС, за то время, что мы тут надавали советов, вы, как честный человек, должны были бы уже нарисовать свой шрифт (: Покажете? (: 48*84. Это в чем-то даже хуже неудобоваримее чем 122*32. Покажу - без проблем. Только пока я толком не определился какой всё-таки шрифт использовать. Кстати, обратил внимание, что весьма неплохо смотрится шрифт, которым вводится текст здесь в редакторе сообщений. Ну и вспомнив молодость выкопал из закромов некогда любимую Nokia 3310 - посмотреть таки на "интерфейс". Шрифт там в общем-то вполне читабельный. Можно заморочиться и просто по точками перерисовать.
|
|
|
|
|
May 30 2017, 09:20
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ViKo @ May 30 2017, 06:57)  В пропорциональный превращаю шрифт при выводе на экран, оставляя между столбцами пикселей, которые используются в символах, по 2 пустых столбца. Меня устраивает, а остальные понятия не имеют, как и что там сделано, воспринимают, как само разумеющееся. Гораздо полезнее это время рисования потратить на написание утилиты конвертирования шрифта из стандартного формата в свой. И получить сразу вагон шрифтов на выбор. Ведь у нас тут вроде не форум дизайнеров. Был у меня товарищ на прошлой работе. Тоже, вместо конвертирования готовых шрифтов, сколхозил свой шрифт. Потом понадобились разные шрифты для разных мест меню - ещё несколько давай рисовать. Потом для них понадобились жирные варианты.  Потом схемотехникам потребовалось поменять LCD на другой - ему пришлось перерисовывать все свои шрифты.  Потом заказчику что-то не понравилось - опять переделывал  Потом партию устройств купили казахи (с условием наличия казахского языка) - опять он их перерисовывал Вобщем он эти шрифты много раз перерисовывал и что-то корректировал по разным причинам, занимался почти только этим месяца 2 (вместо программирования), по вечерам оставался. В результате, когда он уволился, я удалил весь этот колхоз, написал конвертер и просто попросил заказчиков указать какие шрифты из готовых им нравятся. И всё. Хотя ведь ещё в самом начале я ему советовал не заниматься ерундой и подобрать (или написать) конвертер.
|
|
|
|
|
May 30 2017, 09:41
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(AlexandrY @ May 29 2017, 23:58)  А так я ttf тестировал на маленьких экранах и маленьких процессорах типа STM32 Ваши советы для ТС ну очень на будущее, больше похожи на саморекламу. Вы же прекрасно понимаете, что ttf шрифты нормально будут выглядеть только на экранах большого разрешения. Даже на разрешениях около 128 х 128 без антиалиасинга они будут выглядеть ужасно. На монохроме малого разрешения у фонтов нужно каждую точку ставить на свое место. Частенько изменил одну точку - все, символ стал уродливым. Цитата(ViKo @ May 30 2017, 07:57)  Я руками и головой "нарисовал" шрифт в матрице 10 х 8 .... (тетрадь и карандаш - мои основные инструменты, наравне с клавиатурой и мышью). Делать фонты в ручную это мазохизм. Я взял старенький IconEdit.4.3.90 - его найти не проблема - понравился тем, что в нем есть все для редактирования фонтов. (Не без глюков, но пользовать можно) Плюс есть вывод фонта в бинарный файл с описанным форматом. Плюс есть исходники консольной программы на Си для компа для конвертирования этого бинарного файла в текст программы на Си. То есть порядок действий: - берешь любой фонт из окон, втягиваешь в редактор - редактируешь попиксельно - сохраняешь в бинарном формате - правишь консольную программку для конвертации бин.файла в тот формат хранения фонтов, что применяешь в своем коде. - конвертируешь бин, получаешь файлы *.c и *.h - подключаешь их к своему проекту Первый раз времени уходит много, зато потом генерация нового фонта проходит быстро.
|
|
|
|
|
May 30 2017, 09:57
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 7-03-11
Из: Владимир
Пользователь №: 63 445

|
Я уже писал, что программист из меня в общем-то начинающий и написать конвертер для компа я не способен. Для конверсии в сишный код я конкретно использую готовую специально предназначенную программулину - GLCD Font Creator. Она особо не обновляется уже давно и на 7 вин работает нормально только в режиме совместимости с WinXP, но вполне функциональна для своих задач. Шрифт конвертит в код вполне пригодный для использования в программе, единственное - я пока не особо сообразил как использовать ширину символа, по этому просто выкидываю данные о ширине и считаю все символы моноширинными. p.s. кто может подсказать, как посмотреть шрифт, который используется по умолчанию в форме ввода текста здесь на форуме? Имеется в виду именно тот шрифт который выделен на скрине рамочкой.
upd. и как я сразу не догадался - Verdana и Tahoma - попробовал конвертить 8 размер - отлично получается, вполне читабельный. немного постаравшить можно впихнуть в 8 бит (изначально за счёт верхних и нижних чёрточек получается 10). Конвертировал криллицу.
Сообщение отредактировал Barcooler - May 30 2017, 10:05
|
|
|
|
|
May 30 2017, 10:07
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(jcxz @ May 30 2017, 12:20)  Гораздо полезнее это время рисования потратить на написание утилиты конвертирования шрифта из стандартного формата в свой. Вот Baser ответил, что при малом разрешении каждый пиксель надо ставить на свое место вручную. Программы конвертеров я отфутболил, не заглядывая в них. Еще сайты есть, где конвертируют шрифты. Туда же и их. Программу рисования шрифта по точкам подходящую я не нашел, правда, не сильно искал. Я еще попытался сделать субпиксельное сглаживание. Вот пример символа. Код // 0x41 A QUAD(00130000), QUAD(01313000), QUAD(03001200), QUAD(12000300), QUAD(12000300), QUAD(13333300), QUAD(12000300), QUAD(12000300), QUAD(00000000), QUAD(00000000), Есть идея, как сделать еще лучше сглаживание. В следующем проекте. Никакая программа мне не поможет. Сам! Выбрав шаблон, символы рисуются легко, один за другим. Скопировал "пустой" набор, и редактируй потом нужные цифры в текстовом редакторе режиме замены. Что мышкой точки рисовать, что в редакторе цифры плюхать - невеликая разница. Да, и символы у меня есть не только стандартные, но и свои, стрелочки всякие и т.п.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|