PicoPixel

fonts の使い方

LVGL fonts に変換が必要な理由、bundled または uploaded font から font を作成する方法、Arabic や Hebrew などの right-to-left scripts の設定、大きな CJK fonts の扱い、未使用 fonts の整理方法を学びます。

ED Ed
font picopixel lvgl
更新 2026-05-29
01 /07

概要

組み込みデバイス上の fonts は、コンピューター上の fonts とは少し違います。このガイドではその理由を説明し、PicoPixel で fonts を作成する流れを案内します。bundled font の選択や自分の font のアップロード、Arabic や Hebrew のような right-to-left languages の扱い、Chinese、Japanese、Korean で使われる非常に大きな fonts の管理まで扱います。最後に、試行錯誤のあとに便利な整理機能も紹介します。

PicoPixel エディターキャンバスに Cyrillic、Thai、Chinese、Greek、Korean、Japanese、Arabic scripts の多言語 label widgets が表示され、左側の fonts panel には 10 個の loaded fonts、右側には label properties が表示されている
▸ PicoPixel は幅広い scripts をサポートします — 各 label は異なる font と language を使っています。
02 /07

なぜ fonts は変換が必要?

ノート PC では、.ttf.otf のような font file は各文字を数学的な曲線として表現します。コンピューターには十分な処理能力とメモリがあるため、任意のサイズでその曲線を滑らかに描けます。

小さなデバイス(ESP32、smartwatch chip、小型 display controller)は通常それができません。曲線をその場で再描画するメモリや処理能力が足りません。そこで LVGL は別の方法を使います。曲線ではなく、固定サイズで事前に描いた小さな画像(bitmap)として各文字を保存します。これはデバイスにとってずっと軽い方法です。

PicoPixel はこの変換を行います。font を作成すると、元の font file を取得し、LVGL が必要とする bitmap format に変換します。必要な letters と sizes だけを選びます。

NOTE

各文字は固定サイズで事前描画されるため、変換済みの LVGL font は選んだサイズに固定されます。16px font を 32px に引き伸ばしてもシャープには見えません。2 つのサイズで文字が必要なら、両方のサイズで font を作成します(下の Creating a font では複数 sizes を一度に選べます)。

このため fonts にはデバイス上で実際のコストがあります。各文字、各サイズが少しずつメモリを使います。このガイドの多くは、そのコストを小さく保つこと、つまり実際に使う characters と sizes だけを含めることについてです。

03 /07

Bundled fonts と自分の fonts

font を作成するとき、開始点は 2 つあります。

  • Bundled、人気があり、よくテストされた fonts の厳選セットです。Noto Sans、Roboto、Open Sans、Montserrat、Poppins、Inter、Lato、Nunito、Source Sans 3 などがすぐ使えます。安全で良いデフォルトです。
  • Upload、自分の .ttf または .otf ファイルを持ち込みます。特定の brand font がある場合や、bundled fonts が対応しない言語を扱う場合に使います。
TIP

自分の font をアップロードする場合は、Roboto-VariableFont.ttf のような "variable" font file ではなく、Roboto-Regular.ttf のような static font file を使ってください。static files の方がはるかに安定して変換できます。通常の .ttf ファイルが最も扱いやすいです。

どちらを選んでも live preview があり、自分の文字を入力して作成前に見た目を確認できます。

04 /07

font を作成する

Create Font panel を開くと短いフォームがあります。各部分の役割は次の通りです。

PicoPixel Create Font panel で Bundled tab が active、Doto Regular font が選択され、live preview に Hello World Test!、sizes 16 と 48、Letters は Standard、Advanced section には Bits per Pixel 4 bpp、Ranges、Symbols fields が表示されている
▸ Create Font panel:bundled font を選び、文字を preview し、複数 sizes を一度に選択し、bits per pixel や character ranges など advanced settings を調整します。
  1. Pick your font、Bundled font(Regular や Bold などの weight も)を選ぶか、Upload tab に切り替えて自分のファイルを選択します。
  2. Font Name、プロジェクトの font list に表示される名前です。複数使うなら特に、覚えやすい名前を付けます。
  3. Size (px)、font の pixel size です。複数サイズを一度に選べます(16、22、32 などの便利な presets があります)。各 size は別々に生成されるので、本当に使うものだけ選びます。
  4. Letters、含める character set を選びます。Standard(basic English)、Latin、Greek、Cyrillic、Hebrew、Arabic、Thai などです。必要な言語の letters を PicoPixel に伝える場所です。
  5. Asian、Chinese、Japanese、Korean 用の別オプションです。特殊な扱いが必要で、下の its own section で説明します。

細かな調整用の Advanced エリアもあります。Bits per Pixel(各文字に使う灰色の階調数。高いほど滑らかですが容量を使います。4 が良いデフォルト)や、正確な character ranges または symbols を手入力する fields があります。ほとんどの人は触る必要がありません。

TIP

すべての font がすべての言語を含むわけではありません。non-Latin script を選んで preview に文字ではなく空の箱が表示される場合、その font は対応していません。その script 用に作られた Bundled font に切り替えるか、対応する font をアップロードしてください。すべての fonts が対応しない script を選ぶと、PicoPixel が警告します。

05 /07

Right-to-left scripts:Arabic & Hebrew

Arabic や Hebrew のような言語は右から左に読み、文字にも特殊な処理が必要です。幸い、Create Font panel で直接設定できます。手作業の設定は不要です。

  1. Letters dropdown で Arabic または Hebrew を選びます。これが重要な手順です。その script に必要な正しい character set を含めるよう PicoPixel に伝えます(basic English letters も一緒に含まれるため、numbers や Latin text も使えます)。
  2. PicoPixel はその script 向けに作られた font、たとえば Noto Sans Arabic を提案します。普通の Latin font では文字が含まれないため、提案されたもの(または script-aware font)を使ってください。
  3. live preview を確認します。そこで文字が正しく表示されれば問題ありません。箱が見える場合は、その font が script に対応していないので別のものを選びます。
NOTE

Arabic letters は単語内の位置によって形が変わり、行全体も右から左に流れます。プロジェクトを書き出すと、PicoPixel は Arabic、Persian、Hebrew text の使用を自動検出し、接続文字形に必要な LVGL 設定をオンにします。デバイスで正しく見せるために設定ファイルを掘る必要はありません。

WARNING

覚えておくべき重要点は、font 作成時に Letters dropdown で Arabic または Hebrew を選ぶことで、その characters が含まれるということです。先に plain font を作り、後から right-to-left text を追加しても文字は入りません。最初から正しい script を選んで font を作成してください。

06 /07

Chinese, Japanese & Korean

PicoPixel CJK Font Setup dialog が、CJK fonts には数千 characters が含まれ、指定した characters のみ含まれることを説明し、UI text を Symbols field に貼ること、互換 fonts の自動選択、Google Fonts からのダウンロード、追加 characters 用の fonts 作成 tips を表示している
▸ Asian language を選ぶと CJK Font Setup guide が表示され、font size を管理しやすくする重要手順を案内します。

CJK は Chinese、Japanese、Korean の略です。これらの言語は characters が非常に多いため特別です。Korean は約 11,000、Chinese は 20,000 を大きく超えます。各 character は事前に描画され、デバイスに保存されることを思い出してください。CJK font 全体を含めると数メガバイトになり、多くの組み込みデバイスには入りません。

解決策は、実際に使う characters だけを含めることです。一般的なインターフェースでは、表示する異なる characters は 100 個前後で済むことが多く、比較すると非常に小さくなります。

手順は次の通りです。

  1. Asian dropdown で KoreanChinese、または Japanese を選びます。
  2. Symbols field(Advanced エリア内)を見つけ、インターフェースに実際に表示される文字を貼り付けます。すべての label、button、message を含めてください。PicoPixel はそこに見つけた各 character だけに glyph を含めます。
    • 始めやすいように、PicoPixel は選択した言語の一般的な UI 用語("Settings"、"Confirm"、"Cancel" など)をこの field に事前入力します。自分の文字を追加してください。

これにより、数メガバイトになり得た font が、数百キロバイトで済むことがあります。

WARNING

Symbols に列挙した characters だけが含まれます。後でインターフェースが追加していない character を表示すると、空の箱になります。テキストが変わったら Symbols field を更新し、font を作り直してください。

TIP

CJK では、汎用 font に頼るより、使いたい specific font をアップロードすると最も制御できます。インターフェース全文の完成版を貼り付けると、漏れを防げます。

PicoPixel Advanced section で Korean が選択され、Symbols field に settings、confirm、cancel、edit、search などの Korean UI text が入力されており、それらの characters だけが font に含まれる
▸ インターフェースに表示されるすべての文字を Symbols field に貼り付けます — その characters だけが font に焼き込まれます。
07 /07

整理:未使用 fonts を削除する

Fonts は容量を使い、試しているうちに不要なものが溜まりがちです。たとえば 16px と 22px のどちらがよいか分からず両方作って試すことがあります。決めた後、もう一方は余分な重みです。

PicoPixel ではこれが簡単です。assets の Fonts エリアに Delete Unused Fonts ボタンがあります。プロジェクト内のすべての widget をスキャンし、実際に何も使っていない fonts を見つけて、ワンクリックで削除します。不要なものを片付け、必要な fonts のための容量を空けられます。

TIP

サイズを試す簡単な方法です。いくつか sizes を作り、デザインに合うものを確認し、Delete Unused Fonts を押して残りを整理します。リストの各 font には size と quality settings が表示されるので、何があるか一目で分かります。

NOTE

"Delete Unused Fonts" はどの widget からも参照されていない fonts だけを削除するため、デザインは変わりません。リストで単一の font を右クリックして自分で削除することもできます。誤って削除しても undo ですぐ戻せます。

次に読む

続けて学ぶ。

PicoPixelでペットを使う方法 thumbnail
PICOPIXEL

PicoPixelでペットを使う方法

ペットは、任意の条件でトリガーできる複数のモードを持つ既成のアニメーションスプライトです。ディレクトリから選んでプロジェクトに追加し、デバイスの動作(データ取得、オーバーヒート、コードレビューなど)に反応するように接続しましょう。

pets · sprites · picopixel
PicoPixel templates、UI kits、full apps の使い方 thumbnail
PICOPIXEL

PicoPixel templates、UI kits、full apps の使い方

PicoPixel templates、UI kits、examples、sprites、widgets、full app files を見つけ、開き、ダウンロードし、インポートし、カスタマイズし、デバイス用の LVGL C code として書き出します。

templates · ui-kits · full-apps
sprite とは? thumbnail
PICOPIXEL

sprite とは?

sprite とは何か、複数状態を持つ animated widgets の作り方、プロジェクト間での再利用方法を学びます。

sprite · picopixel