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

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

"Ну либо надо мудрить"

Не без этого…

Для того и есть команда R-M-W (к примеру у SED1520 или ST7565) и применять маски к считаным данным.

 

"А как определить, что шрифт растровый?"

Не заморачивайтесь, как только изображение на дисплее - всё, уже растровое. Берёте программу IrfanView, создаёте новое изображение требуемого размера, Edit->InsertText, вставляете текст любым шрифтом и копируете или сохраняете.

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


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

А как определить, что шрифт растровый? Я видимо в этом вопросе дилетант, но не нашёл признаков растровости в шрифтах операционки (Win).

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

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


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

Вопрос в том, какие именно шрифты и какого размера (кегля) конвертировать. Понятно что можно любой шрифт взять. Но большинство шрифтов нормально конвертятся (не в бинарник правда а в шестнадцатиричный код для программы) только начиная с размера 16 и больше. Ниже получаются кривизна на кривизне или просто смотрится убого.

 

или мы о разном ..

 

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

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


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

А как определить, что шрифт растровый? Я видимо в этом вопросе дилетант, но не нашёл признаков растровости в шрифтах операционки (Win).

Растровые шрифты уже не модно.

Нынче микроконтроллеры в легкую работают с ttf шрифтами.

Вот первый попавшийся пример GUI которая работает с ttf шрифтами напрямую - https://github.com/embox/nuklear/blob/master/nuklear.h

Да, вся GUI и дефолтные ttf шрифты помещается в одном .h файле!

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


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

Растровые шрифты уже не модно.

Нынче микроконтроллеры в легкую работают с ttf шрифтами.

Вот первый попавшийся пример GUI которая работает с ttf шрифтами напрямую - https://github.com/embox/nuklear/blob/master/nuklear.h

Да, вся GUI и дефолтные ttf шрифты помещается в одном .h файле!

Да как-то не логично в те-же часы/термометр/высотомер и проч на простенькой msp430 впихивать такое, да и не уверен, что это в результате будет хоть как-то смотреться на небольшом (небольшого разрешения) экранчике.

Это скорее применимо к каким-то серьёзным проектам, ну или как минимум на контроллерах пожирнее и экранчиках 120х160 как минимум.

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


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

на простенькой msp430 впихивать такое, да и не уверен, что это в результате будет хоть как-то смотреться на небольшом (небольшого разрешения) экранчике.

В msp430 очевидно не впихнете. Там только распаковка одного ttf требует 12 кБ стека.

 

А так я ttf тестировал на маленьких экранах и маленьких процессорах типа STM32

post-2050-1496092821_thumb.jpg

Так как эти фонты пропорциональные, то они по любому выглядят лучше чем моноширинные.

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


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

В msp430 очевидно не впихнете. Там только распаковка одного ttf требует 12 кБ стека.

В любом случае не логично "из пушки по воробьям".

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

 

На самом деле попедалировав получил что в общем-то можно из того-же Arial конвертнуть шрифт - паример 9 кегля. Приходится правда "дорабатывать напильником" т.к. спецсимволы и буквы с нижними/верхними "выносками" (не знаю правильное название этих элелементов) выходят прилично за пределы 8 точек по высоте.

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


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

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

В пропорциональный превращаю шрифт при выводе на экран, оставляя между столбцами пикселей, которые используются в символах, по 2 пустых столбца. Меня устраивает, а остальные понятия не имеют, как и что там сделано, воспринимают, как само разумеющееся.

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


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

В любом случае не логично "из пушки по воробьям".

Клиентам не надо "логично", надо быстро и качественно.

Вот еще лет 10 назад сделано на ucGUI:

post-2050-1496122033_thumb.jpg

И никто не спрашивал зачем тут аж целый uсGUI.

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


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

Любезный ТС, за то время, что мы тут надавали советов, вы, как честный человек, должны были бы уже нарисовать свой шрифт (: Покажете? (:

 

Вот еще лет 10 назад сделано на ucGUI

48*84. Это в чем-то даже хуже неудобоваримее чем 122*32.

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


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

Клиентам не надо "логично", надо быстро и качественно.

Вот еще лет 10 назад сделано на ucGUI:

post-2050-1496122033_thumb.jpg

И никто не спрашивал зачем тут аж целый uсGUI.

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

 

Кстати, что за экранчик такой симпатичный?

 

Любезный ТС, за то время, что мы тут надавали советов, вы, как честный человек, должны были бы уже нарисовать свой шрифт (: Покажете? (:

48*84. Это в чем-то даже хуже неудобоваримее чем 122*32.

Покажу - без проблем. Только пока я толком не определился какой всё-таки шрифт использовать.

Кстати, обратил внимание, что весьма неплохо смотрится шрифт, которым вводится текст здесь в редакторе сообщений.

 

Ну и вспомнив молодость выкопал из закромов некогда любимую Nokia 3310 - посмотреть таки на "интерфейс".

Шрифт там в общем-то вполне читабельный. Можно заморочиться и просто по точками перерисовать.

post-63445-1496135866_thumb.jpg

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


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

В пропорциональный превращаю шрифт при выводе на экран, оставляя между столбцами пикселей, которые используются в символах, по 2 пустых столбца. Меня устраивает, а остальные понятия не имеют, как и что там сделано, воспринимают, как само разумеющееся.

Гораздо полезнее это время рисования потратить на написание утилиты конвертирования шрифта из стандартного формата в свой. И получить сразу вагон шрифтов на выбор. Ведь у нас тут вроде не форум дизайнеров.

Был у меня товарищ на прошлой работе. Тоже, вместо конвертирования готовых шрифтов, сколхозил свой шрифт. Потом понадобились разные шрифты для разных мест меню - ещё несколько давай рисовать. Потом для них понадобились жирные варианты. :rolleyes: Потом схемотехникам потребовалось поменять LCD на другой - ему пришлось перерисовывать все свои шрифты. :crying: Потом заказчику что-то не понравилось - опять переделывал :rolleyes: Потом партию устройств купили казахи (с условием наличия казахского языка) - опять он их перерисовывал :biggrin::biggrin::biggrin:

Вобщем он эти шрифты много раз перерисовывал и что-то корректировал по разным причинам, занимался почти только этим месяца 2 (вместо программирования), по вечерам оставался. В результате, когда он уволился, я удалил весь этот колхоз, написал конвертер и просто попросил заказчиков указать какие шрифты из готовых им нравятся. И всё.

Хотя ведь ещё в самом начале я ему советовал не заниматься ерундой и подобрать (или написать) конвертер.

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


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

А так я ttf тестировал на маленьких экранах и маленьких процессорах типа STM32

Ваши советы для ТС ну очень на будущее, больше похожи на саморекламу.

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

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

На монохроме малого разрешения у фонтов нужно каждую точку ставить на свое место.

Частенько изменил одну точку - все, символ стал уродливым.

 

Я руками и головой "нарисовал" шрифт в матрице 10 х 8 ....

(тетрадь и карандаш - мои основные инструменты, наравне с клавиатурой и мышью).

Делать фонты в ручную это мазохизм.

Я взял старенький IconEdit.4.3.90 - его найти не проблема - понравился тем, что в нем есть все для редактирования фонтов.

(Не без глюков, но пользовать можно)

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

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

 

То есть порядок действий:

- берешь любой фонт из окон, втягиваешь в редактор

- редактируешь попиксельно

- сохраняешь в бинарном формате

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

- конвертируешь бин, получаешь файлы *.c и *.h - подключаешь их к своему проекту

 

Первый раз времени уходит много, зато потом генерация нового фонта проходит быстро.

 

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


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

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

Для конверсии в сишный код я конкретно использую готовую специально предназначенную программулину - GLCD Font Creator.

Она особо не обновляется уже давно и на 7 вин работает нормально только в режиме совместимости с WinXP, но вполне функциональна для своих задач. Шрифт конвертит в код вполне пригодный для использования в программе, единственное - я пока не особо сообразил как использовать ширину символа, по этому просто выкидываю данные о ширине и считаю все символы моноширинными.

 

p.s. кто может подсказать, как посмотреть шрифт, который используется по умолчанию в форме ввода текста здесь на форуме?

Имеется в виду именно тот шрифт который выделен на скрине рамочкой.

post-63445-1496138208_thumb.png

 

upd. и как я сразу не догадался - Verdana и Tahoma - попробовал конвертить 8 размер - отлично получается, вполне читабельный. немного постаравшить можно впихнуть в 8 бит (изначально за счёт верхних и нижних чёрточек получается 10). Конвертировал криллицу.

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

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


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

Гораздо полезнее это время рисования потратить на написание утилиты конвертирования шрифта из стандартного формата в свой.

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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