Шрифты, которые будут использоваться с часами светодиодной матрицы и другими проектами светодиодной матрицы
Эти шрифты разработаны с учетом часов светодиодных матриц, особенно единицы, в котором используется EspHoMaTriXv2 или EspHome-Led-PixelClock . Они представляют собой шрифты BDF и TTF, поэтому они могут быть непосредственно реализованы с помощью Esphome (и, возможно, Arduino).
Поскольку это растровые шрифты, размер этих шрифтов фиксирован. Они не являются изменяемыми. Это хорошая вещь.
Большинство символов будут иметь ширину 3 пикселя, но некоторые персонажи, такие как G и M и и будут шире. Символы препинания обычно имеют ширину 1 или 2 пикселя. Все символы имеют 1 пустой столбец с правой стороны, за исключением пространства, которое составляет ровно 2 пикселя, определенные дефисы Unicode и, возможно, некоторые латинские символы, связанные с Ognok.
Я буду продолжать добавлять персонажи в шрифты, так как у меня будет время. Если вы хотите, чтобы ваш язык был приоритетом или если вам нужны добавленные определенные персонажи, откройте проблему, и я посмотрю, что я могу сделать.
Подходит при использовании полной высоты 8-й рядовой матрицы
Все большое и блочное - отлично смотрится как экрани

[BDF скачать | TTF скачать]
Ниже базовая линия обычно зарезервирована для хвостов, но с шрифтами «X» нет базовой линии - все занимает полные 8 рядов пикселей

[BDF скачать | TTF скачать]
Большинство персонажей были освещены и стилизованы

[BDF скачать | TTF скачать]
Осветлено и стилизовано в 8 полных рядах - этот выглядит действительно хорошо на информационных экранах!

[BDF скачать | TTF скачать]
Подходит при использовании группы в будние дни под временем на 8-рядной матрице
Обратите внимание, что многие акцентированные персонажи в не-X шрифтах были подтолкнули ниже базовой линии, чтобы они выглядели немного менее ужасными.
Все большое и блочное

[BDF скачать | TTF скачать]
Большой и блочный в 6 полных рядах

[BDF скачать | TTF скачать]
Осветлен и стилизован

[BDF скачать | TTF скачать]
Осветлен и стилизован в 6 полных рядах

[BDF скачать | TTF скачать]
Чтобы уменьшить пространство, которое шрифт занимает во время компиляции, используйте код как таковой:
font:
- file: fonts/MatrixLight6.bdf
id: special_font
glyphs: |
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz°
При использовании файла TTF вы должны указать размер шрифта:
font:
- file: fonts/MatrixLight8.ttf
id: default_font
glyphs: |
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz°
size: 8
! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~
¡¢£¤¦§©ª«®°±²³´µ¶¥·¹º»¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
Из-за недостатка BDF-Pillow (см. Ниже), я сделал несколько «бесполезных» персонажей в латинском расширенном виде-a, похожее на что-то другое. Вы все еще можете использовать файл BDF, если вы используете эти специальные символы в списке Glyphs и в домашнем помощнике.
¨¬¯¸¼½¾
| Характер | Появляется как |
|---|---|
¨ | ₿ Биткойн |
¸ | Ξ Ethereum |
¬ | ℃ Степень c |
¯ | ℉ Степень ф |
¼ | Евро |
½ | ₩ выиграл |
¾ | ₴ Гривния |
ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ
АаБбВвГ㥴ДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΤΥΦΧΨΩΆΈΉΊΌΎΏΪΫαβγδεζηθικλμνξοπρςστυφχψωάέήίϊϋόύώ
Обратите внимание, что они не были проверены в глазах настоящим греческим человеком. Пожалуйста, дайте мне знать, если они в порядке!
Вьетнамцы используют эти персонажи, уже присутствующие в базовых латинских и расширенных наборах:
ABCDEGHIKLMNOPQRSTUVXYabcdeghiklmnopqrstuvxyÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚÝàáâãèéêìíòóôõùúýĂăĐđĨĩŨũ
А также это:
ƠơƯưẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ
Обратите внимание, что они не были проверены в глазах фактического вьетнамца. Пожалуйста, дайте мне знать, если они в порядке! Многие персонажи в Chunky8 (и некоторые в Light8) должны были быть подтолчены ниже базовой линии, чтобы сделать акцент возможным. 8 -кратные шрифты, вероятно, в порядке. Я действительно задаюсь вопросом, действительно ли гласные с рогами или точками действительно разборчивы (удивительно, что в положениях 7896 до 7907).
Обратите внимание, что эти персонажи намного шире, чем стандартные персонажи, потому что хвосты, персонал и кривые очень важны для IPA. Они в основном основаны на стиле Light8 и идентичны во всех шрифтах 8 серии.
IPA в основном использует эти символы:
ɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɪɫɬɭɮɯɰɱɲɳɴɵɶɸɹɺɻɼɽɾɿʀʁʂʃʄʅʈʉʊʋʌʍʎʏʐʑʒʔʕʘʙʚʛʜʝʟʡʢ
Если вы не можете отобразить все символы, в зависимости от ваших потребностей, вы можете попытаться добавить устаревшие символы:
ɩɷʆʇʓʖʗʞʠʣʤʥʦʧʨ
Возможно, неупорядоченные речевые персонажи:
ʩʪʫʬʭ
И, наконец, дополнения к синологии:
ʮʯ
오후전일월화수목금토요
一二三四五六天七八九十星期月上下午
Обратите внимание, что 上下午 немного разжигаются, чтобы легче отображать 上午 & 下午.
Регулярное пространство (как доступно на большинстве клавиатур) шириной 2 пикселей. Вот некоторые другие доступные пространства.
| Космос | Имя | Unicode | Ширина |
|---|---|---|---|
| Тонкое пространство | U+2009 | 1 пиксель |
| EN Space | U+2002 | 3 пикселя |
| EM Space | U+2003 | 4 пикселя |
В случае, если эти места не пользуются вам (они невидимы, и Esphome, вероятно, будут рассматривать их как пространства), вот некоторые другие доступные пространства, использующие набор окружных чисел Unicode.
⓪①②③④⑤⑥⑦⑧⑨⑩
| Космос | Имя | Unicode | Ширина пространства |
|---|---|---|---|
⓪ | Кружит 0 | U+24EA | 0 пикселей |
① | Кружит 1 | U+2460 | 1 пиксель |
② | Кружит 2 | U+2461 | 2 пикселя |
③ | Кружит 3 | U+2462 | 3 пикселя |
④ | Кружит 4 | U+2463 | 4 пикселя |
⑤ | Кружит 5 | U+2464 | 5 пикселей |
⑥ | Circled 6 | U+2465 | 6 пикселей |
⑦ | Circled 7 | U+2466 | 7 пикселей |
⑧ | Кружит 8 | U+2467 | 8 пикселей |
⑨ | Обернут 9 | U+2468 | 9 пикселей |
⑩ | Кружит 10 | U+2469 | 10 пикселей |
Обычный гипен-минус (как доступно на большинстве клавиатур) шириной 3 пикселей плюс пространство. Вот некоторые другие доступные пунктуации.
‐–—―•
| Отметка | Имя | Unicode | Ширина |
|---|---|---|---|
‐ | Гипен | U+2010 | 1 пиксель шириной, нет места |
– | EN Hypen | U+2013 | 2 пиксели шириной + пространство |
— | EM Dyphen | U+2014 | 4 пиксели шириной + пространство |
― | Горизонтальный батончик | U+2015 | 4 пикселя в ширину, нет места |
• | Пуля | U+2022 | 1 пиксель шириной + пространство |
₡₢₦₩₪₫€₭₮₱₲₴₵₸₹₺₼₽₾₿
℃℉
Один из этих символов может появиться, если персонаж, к которому вы призываете, недоступен.
| Появление | Имя | Unicode |
|---|---|---|
![]() | Нулевой | U+0000 |
![]() | Белая коробка | U+25A1 |
![]() | Неизвестный персонаж | U+fffd |
Обратите внимание, что добавление их в список глифов в эсфоме, кажется, не помогает при попытке показать фактически неизвестного персонажа (мои часы просто рисуют широкий блок), но вот последние два в любом случае (нулевой не может использоваться таким образом):
□�
Любые символы, включенные в список глифов, которые на самом деле не находятся в шрифте, приведут к ошибке Esphome при компиляции. Любой запрашиваемый символ, не включенный в список глифов, должен привести к ошибке и/или блоку или пустому, отображающему вашими часами.
Также обратите внимание, что существует предел 256 символов, которые можно использовать. Это жесткий ограничение, установленное подушкой, зависимостью от питона, которая преобразует шрифты в раси, используемые Esphome. Если ваш список глифов длиннее, любые символы, превышающие этот предел, просто не будут отображаться.
UnicodeEncodeError: 'latin-1' codec can't encode character 'u0416' in position 0: ordinal not in range(256)
Эта ошибка связана с тем, как подушка интерпретирует файл шрифта BDF как в коде Latin-1, если список символов не соответствует тому, что он ожидает. Поскольку эта часть подушки довольно старая, кажется, нет интереса исправить ее в соответствии с стандартами UTF. Таким образом, если вы хотите использовать символы Unicode (что-нибудь за пределами латинского базового и расширенного а), вы должны использовать файл TTF вместо этого.
Эти файлы TTF не используются Windows, поскольку они включают только растровые карты. Они также не очень полезны при редактировании шрифта. Таким образом, файлы BDF всегда будут рассматриваться как основные файлы.
При использовании Esshomatrix убедитесь, что это в вашем YAML (редактировать по мере необходимости):
ehmtxv2:
default_font_id: default_font
default_font_yoffset: 6
special_font_id: special_font
special_font_yoffset: 8
Обратите внимание, что Yoffset может быть сложным. Вы должны использовать число, которое соответствует базовой линии шрифта. Для этих шрифтов на самом деле нет ничего ниже базовой линии шрифта; Я спроектировал шрифты, поэтому шрифты без x фактически поднимаются на 1 пиксель над базовой линией, чтобы хвосты появлялись правильно.
Если вы хотите, чтобы набор персонажа был добавлен, откройте проблему, сделайте запрос! Пожалуйста, держите ваши линии общения открытыми, потому что я вряд ли знаком с вашим языком, и у меня возникнут вопросы!
Проверьте Fontforge: https://fontforge.org/en-us/
Andrew J.Swan за огромную помощь с кириллиными персонажами.
Первоначально я использовал Tom Thumb в качестве базы. Возможно, все еще будет какое -то сходство, но это просто потому, что вы можете сделать только с такими ограниченными пикселями. Тем не менее, если вы заинтересованы в моносипном шрифте 4x6 (3x5), который можно нажать здесь.
Кроме того, некоторое вдохновение для корейских персонажей было заимствовано у шрифта Dalmoori, очень хорошего шрифта Hangul Pixel.
Китайские иероглифы почти на 100% скопированы из бутик-растрового цвета 7x7, китайского шрифта пикселя и немного растянуты в серии X.