LEDマトリックスクロックおよびその他のLEDマトリックスプロジェクトで使用するフォント
これらのフォントは、LEDマトリックスクロック、特にEspHoMaTriXv2またはEspHome-Led-PixelClockを使用するユニットを念頭に置いて設計されています。それらはBDFおよびTTFフォントであるため、Esphome(およびおそらくArduino)で直接実装できます。
これらはビットマップフォントであるため、これらのフォントのサイズはピクセル固定されています。それらは復活できません。これは良いことです。
ほとんどの文字は幅3ピクセルですが、GやMや&&のような特定の文字は幅が広くなります。句読点文字は、一般に1ピクセル幅です。すべての文字は、正確に2ピクセルのスペース、特定のユニコードハイフン、およびおそらくOgnokアクセントのラテン文字を除き、右側に1つの空の列を持っています。
時間があるので、フォントに文字を追加し続けます。あなたの言語が優先事項であることを望む場合、または特定のキャラクターが追加される必要がある場合は、問題を開き、私にできることを確認します。
8列マトリックスの完全な高さを使用する場合に適しています
すべてが大きくてブロック状態 - タイムスクリーンとして見栄えがします

[BDFダウンロード| TTFダウンロード]
ベースラインの下には通常、テール用に予約されていますが、「X」フォントを使用すると、ベースラインはありません。

[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ピローの欠陥があるため(以下を参照)、ラテン語でいくつかの「役に立たない」キャラクターを作成しました。これらの特殊文字をGlyphsリストおよびホームアシスタントで使用する場合でも、BDFファイルを使用できます。
¨¬¯¸¼½¾
| キャラクター | として表示されます |
|---|---|
¨ | ₿ビットコイン |
¸ | ξイーサリアム |
¬ | ℃学位c |
¯ | ℉度f |
¼ | ユーロ |
½ | won won |
¾ | hryvnia |
ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſ
АаБбВвГ㥴ДдЕеЄєЖжЗзИиІіЇїЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЮюЯя
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΤΥΦΧΨΩΆΈΉΊΌΎΏΪΫαβγδεζηθικλμνξοπρςστυφχψωάέήίϊϋόύώ
これらは実際のギリシャ人によって目がテストされていないことに注意してください。彼らが大丈夫かどうか教えてください!
ベトナム人はこれらのキャラクターを使用しており、すでに基本的なラテン語と拡張セットに存在します。
ABCDEGHIKLMNOPQRSTUVXYabcdeghiklmnopqrstuvxyÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚÝàáâãèéêìíòóôõùúýĂăĐđĨĩŨũ
これらと同様に:
ƠơƯưẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặẸẹẺẻẼẽẾếỀềỂểỄễỆệỈỉỊịỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợỤụỦủỨứỪừỬửỮữỰựỲỳỴỵỶỷỸỹ
これらは、実際のベトナム人によって目がテストされていないことに注意してください。彼らが大丈夫かどうか教えてください! Chunky8(およびLight8の一部)の多くのキャラクターをベースラインの下に押して、アクセントを可能にする必要がありました。 8倍のフォントはおそらく大丈夫です。角やドットのある母音が実際に読みやすいのかどうか疑問に思います(oは位置7896〜7907のOは)。
テール、スタッフ、曲線がIPAにとって非常に重要であるため、これらのキャラクターは標準キャラクターよりもはるかに広いことに注意してください。それらは主にLight8スタイルに基づいており、8シリーズのすべてのフォントで同一です。
IPAは主にこれらの文字を使用しています。
ɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɪɫɬɭɮɯɰɱɲɳɴɵɶɸɹɺɻɼɽɾɿʀʁʂʃʄʅʈʉʊʋʌʍʎʏʐʑʒʔʕʘʙʚʛʜʝʟʡʢ
ニーズに応じて、すべてのキャラクターを表示できない場合は、時代遅れの文字を追加してみてください。
ɩɷʆʇʓʖʗʞʠʣʤʥʦʧʨ
おそらく障害のある音声キャラクター:
ʩʪʫʬʭ
そして最後に、シノロジーの追加:
ʮʯ
오후전일월화수목금토요
一二三四五六天七八九十星期月上下午
上下午&下午の表示をより簡単に表示できるように、上下午は少し押しつぶされていることに注意してください。
通常のスペース(ほとんどのキーボードで利用可能)は、幅2ピクセルです。他のいくつかの利用可能なスペースがあります。
| 空間 | 名前 | Unicode | 幅 |
|---|---|---|---|
| 薄いスペース | U+2009 | 1ピクセル |
| スペース | U+2002 | 3ピクセル |
| emスペース | 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ピクセル |
⑥ | 丸6 | U+2465 | 6ピクセル |
⑦ | 丸7 | U+2466 | 7ピクセル |
⑧ | 丸めた8 | U+2467 | 8ピクセル |
⑨ | 丸9 | U+2468 | 9ピクセル |
⑩ | 丸10 | U+2469 | 10ピクセル |
通常のhypen-minus(ほとんどのキーボードで利用可能)は、幅3ピクセルとスペースです。他に利用可能な句読点をいくつか紹介します。
‐–—―•
| マーク | 名前 | Unicode | 幅 |
|---|---|---|---|
‐ | ハイペン | U+2010 | 幅1ピクセル、スペースなし |
– | hypen | U+2013 | 幅2ピクセル +スペース |
— | EMハイフン | U+2014 | 幅4ピクセル +スペース |
― | 水平バー | U+2015 | 幅4ピクセル、スペースなし |
• | 弾丸 | U+2022 | 1ピクセル幅 +スペース |
₡₢₦₩₪₫€₭₮₱₲₴₵₸₹₺₼₽₾₿
℃℉
これらのキャラクターの1つが、あなたが求めるキャラクターが利用できない場合に表示される場合があります。
| 外観 | 名前 | Unicode |
|---|---|---|
![]() | ヌル | u+0000 |
![]() | 白い箱 | U+25A1 |
![]() | 未知のキャラクター | u+fffd |
EsphomeのGlyphsリストにそれらを追加することは、実際に不明なキャラクターを表示しようとする場合は役に立たないように思えます(私の時計は広いブロックをペイントするだけです)が、後者の2つはとにかく(この方法でnullは使用できません):
□�
実際にはフォントにないGlyphsリストに含まれる文字は、コンパイル時にEsphomeがエラーを発生させます。グリフリストに含まれていない要求されたキャラクターは、時計によってエラーやブロックまたは空白が表示されるようにする必要があります。
また、使用できる256文字の制限があることに注意してください。これは、枕によって設定された厳しい制限です。これは、フォントをESPhomeが使用できるビットマップに変換するPython依存関係です。グリフリストが長い場合、その制限を超える文字は単に表示されません。
UnicodeEncodeError: 'latin-1' codec can't encode character 'u0416' in position 0: ordinal not in range(256)
このエラーは、文字リストが予想されるものと一致しない場合、枕がBDFフォントファイルをラテン-1コードページにあると解釈する方法に関係しています。枕のその部分は非常に古いので、UTF標準に合わせてそれを修正することに興味がないようです。したがって、Unicode文字(ラテン語のベーシックおよび拡張Aの外側)を使用する場合は、代わりにTTFファイルを使用する必要があります。
これらのTTFファイルは、ビットマップのみが含まれるため、Windowsで使用できません。また、フォントを編集する場合、それらはあまり役に立ちません。したがって、BDFファイルは常にマスターファイルと見なされます。
Esphomatrixを使用する場合、これが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キリル語のキャラクターを大いに助けてくれました。
もともと、私はトムサムをベースとして使用しました。まだいくつかの類似性があるかもしれませんが、それはあなたがそのような限られたピクセルでできることだけがあるからです。それにもかかわらず、4x6(3x5の使用可能な)モノスパースフォントに興味がある場合は、ここをクリックできます。
また、韓国のキャラクターのインスピレーションは、非常に素晴らしいハングルピクセルフォントであるダルモアリフォントから借りました。
漢字は、中国のピクセルフォントであるブティックビットマップ7x7フォントからほぼ100%コピーされ、Xシリーズで少し伸びました。