Jump to content

    
Sign in to follow this  
Barcooler

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

Recommended Posts

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

Например имея экран 48x84 можем использовать шрифты высотой 8 точек - 6 строк, 16 точек - 3 строки и 24 точки - две строки (при ширине символа 16 точек уместится только 5 символов).

Потыкавшись и преобразовав несколько типовых шрифтов из операционки (Arial, Times New Roman, Verdana и пр.) понял что не так просто получить удобоваримый шрифт для LCD дисплея.

Конечно для экрана разрешением >120 точек эта проблема не так актуальна, но даже в таком случае логичнее использовать полезное пространство экрана для других целей, нежели вывод красивых больших букв, которых в любом случае поместится меньше.

 

Интересует опыт использования шрифтов, и может полезные советы.

Share this post


Link to post
Share on other sites
Здравствуйте!

Гуглите dot matrix font.

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

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

Получается вот такая лабуда:

Скрин конвертора

И это при размере шрифта 16, при меньшем размере просто получа.тся нечитаемые символы.

Share this post


Link to post
Share on other sites

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

Естественно, автоматом их без специального парсера не конвертируешь. Но он пишется за пару часов на питоне или в матлабе. Или на чем удобно.

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

Либо взять готовый. На форуме такие темы поднимались и вроде как даже выкладывались какие-то шрифты.

 

А досовские олдскульные шрифты вас не устраивают?

Share this post


Link to post
Share on other sites
Гугл выдает целую массу точечных шрифтов на любой вкус, размер которых тоже варьируется.

Естественно, автоматом их без специального парсера не конвертируешь. Но он пишется за пару часов на питоне или в матлабе. Или на чем удобно.

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

Либо взять готовый. На форуме такие темы поднимались и вроде как даже выкладывались какие-то шрифты.

 

А досовские олдскульные шрифты вас не устраивают?

Если-бы знать, как их можно использовать.

Теоретически наверно они-бы подошли.

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

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

Ну и хотелось сделать что-то скажем так, что радовало глаз.

Share this post


Link to post
Share on other sites
Интересует опыт использования шрифтов, и может полезные советы.

Graphics Services в Embedded расширении Altium-а содержит с десяток адаптированных фонтов и еще генератор для них.

 

Еще специально для часов с маленькими экранами есть проект HEXIWEAR в котором вот такие фонты: https://github.com/Indemsys/HEXIWEAR/blob/m...gui_resources.c

Share this post


Link to post
Share on other sites

Есть у меня ощущение, что на 48*84 дисплей (ну маленький он), шрифт как таковой не нужен, а будет достаточно "битмапчиков" с текстом и может быть даже, то что, хотелось написать, будет круче заменить пиктограммками.

Share this post


Link to post
Share on other sites
Есть у меня ощущение, что на 48*84 дисплей (ну маленький он), шрифт как таковой не нужен, а будет достаточно "битмапчиков" с текстом и может быть даже, то что, хотелось написать, будет круче заменить пиктограммками.

Ну на самом деле шрифтом 5x8 вполне себе текст помещается, да и пункты меню можно нормально отобразить.

Да и подписи к выводимым данным неплохо смотрятся.

Да конечно в шрифте в 16 точек по вертикали символов помещается немного, но те-же цифры надо как-то отображать, если не текст.

Но и размерность неплохо указать.

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

Так что не совсем соглашусь.

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

 

Graphics Services в Embedded расширении Altium-а содержит с десяток адаптированных фонтов и еще генератор для них.

 

Еще специально для часов с маленькими экранами есть проект HEXIWEAR в котором вот такие фонты: https://github.com/Indemsys/HEXIWEAR/blob/m...gui_resources.c

Спасибо за информацию, оч интересный проектик. А на счёт альтиума - поковыряюсь.

 

SG Bitmap Font Editor - вот такой программкой себе делал, все отлично ( из обычных шрифтов - в бинарник )

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

Share this post


Link to post
Share on other sites

Ну, 5*8 рисуется Paint-ом в обеденный перерыв… (;

У вас видеопамять дисплея адресуется точка-в-точку или по-байтово?

Edited by Obam

Share this post


Link to post
Share on other sites

Для LCD 101х64 я использовал для преобразования шрифтов прогу TheDotFactory. Шрифты брал растровые из винды, а также скачивал. Разные размером от 11 и меньше - вполне нормально смотрятся.

 

только начиная с размера 16 и больше. Ниже получаются кривизна на кривизне или просто смотрится убого.

Вам тут уже несколько раз посоветовали - не используйте векторные шрифты!. Используйте растровые и будет всё ок.

Share this post


Link to post
Share on other sites
Ну, 5*8 рисуется Paint-ом в обеденный перерыв… (;

У вас видеопамять дисплея адресуется точка-в-точку или по-байтово?

Побайтово. По этому получается что и шрифты кратно 8 имеет смысл только использовать, иначе бессмысленное пустое пространство остаётся.

Ну либо надо мудрить чтобы отрисовать например 10 или 12 шрифт, чтобы не затереть, что уже на той-же строке отрисовано в верхней/нижней части. То есть каким-то образом считывать состояние регистров видео памяти прежде чем писать.

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

 

 

Для LCD 101х64 я использовал для преобразования шрифтов прогу TheDotFactory. Шрифты брал растровые из винды, а также скачивал. Разные размером от 11 и меньше - вполне нормально смотрятся.

Вам тут уже несколько раз посоветовали - не используйте векторные шрифты!. Используйте растровые и будет всё ок.

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this