PicoPixel

Praca z czcionkami

Dowiedz się, dlaczego czcionki LVGL wymagają konwersji, jak stworzyć czcionkę z dołączonego lub przesłanego pliku, skonfigurować pisma od prawej do lewej, takie jak arabski i hebrajski, obsługiwać duże czcionki CJK oraz usuwać te, których już nie używasz.

EDEd
fontpicopixellvgl
ZAKTUALIZOWANO2026-05-29
01/07

Przegląd

Czcionki na urządzeniu wbudowanym działają nieco inaczej niż czcionki na Twoim komputerze. Ten poradnik wyjaśnia dlaczego, a następnie przeprowadza przez tworzenie czcionek w PicoPixel — od wyboru dołączonej czcionki lub przesłania własnej, przez obsługę języków pisanych od prawej do lewej, takich jak arabski i hebrajski, aż po radzenie sobie z bardzo dużymi czcionkami używanymi dla języka chińskiego, japońskiego i koreańskiego. Na koniec pokażemy, jak usunąć czcionki, które pozostały po eksperymentach z projektem.

Edytor PicoPixel z etykietami w cyrylicy oraz po tajsku, chińsku, grecku, koreańsku, japońsku i arabsku. Po lewej panel z dziesięcioma czcionkami, po prawej właściwości etykiety.
▸ PicoPixel obsługuje szeroką gamę pism — każda etykieta używa innej czcionki i języka.
02/07

Dlaczego czcionki wymagają konwersji?

Na laptopie plik czcionki (np. .ttf lub .otf) opisuje każdą literę jako zestaw krzywych matematycznych. Twój komputer ma wystarczająco dużo mocy i pamięci, aby rysować te krzywe płynnie w dowolnym rozmiarze.

Małe urządzenie (ESP32, chip smartwatcha, mały kontroler wyświetlacza) zazwyczaj nie jest w stanie tego zrobić. Brakuje mu pamięci i mocy obliczeniowej do przerysowywania krzywych w locie. Dlatego LVGL przyjmuje inne podejście: zamiast krzywych przechowuje każdą literę jako mały, wcześniej przygotowany obraz (bitmapę) o stałym rozmiarze. To znacznie lżejsze rozwiązanie dla urządzenia.

PicoPixel wykonuje tę konwersję za Ciebie. Kiedy tworzysz czcionkę, bierzemy oryginalny plik czcionki i zamieniamy go na format bitmapowy wymagany przez LVGL — uwzględniając tylko potrzebne znaki i rozmiary.

NOTE

Ponieważ każda litera jest wstępnie narysowana w stałym rozmiarze, przekonwertowana czcionka LVGL ma stały rozmiar wybrany podczas tworzenia. Powiększenie czcionki z 16px do 32px spowoduje utratę ostrości. Jeśli potrzebujesz tekstu w dwóch różnych rozmiarach, tworzysz czcionkę w obu rozmiarach (patrz Tworzenie czcionki poniżej, gdzie możesz wybrać kilka rozmiarów naraz).

To również dlatego czcionki zajmują pamięć urządzenia: każda litera, w każdym rozmiarze, zajmuje trochę miejsca w pamięci. Większość tego poradnika dotyczy ograniczania zużycia pamięci — poprzez uwzględnianie tylko tych znaków i rozmiarów, których faktycznie używasz.

03/07

Dołączone czcionki i własne czcionki

Kiedy tworzysz czcionkę, masz dwa punkty wyjścia:

  • Bundled (dołączone czcionki) — wyselekcjonowany zestaw popularnych, dobrze przetestowanych czcionek gotowych do użycia: Noto Sans, Roboto, Open Sans, Montserrat, Poppins, Inter, Lato, Nunito, Source Sans 3 i więcej. To bezpieczny wybór i dobry punkt wyjścia.
  • Upload (przesyłanie pliku) — wybierz własny plik .ttf lub .otf. Użyj tego, gdy masz określoną czcionkę marki lub czcionkę obejmującą język, którego dołączone czcionki nie obsługują.
TIP

Jeśli przesyłasz własną czcionkę, używaj statycznego pliku czcionki (np. Roboto-Regular.ttf) zamiast pliku czcionki zmiennej (variable font) (jak Roboto-VariableFont.ttf). Pliki statyczne konwertują się znacznie bardziej niezawodnie. Zwykłe pliki .ttf działają najlepiej ze wszystkich.

Niezależnie od wyboru dostępny jest podgląd na żywo, dzięki któremu możesz wpisać własny tekst i zobaczyć dokładnie jak będzie wyglądał, zanim go utworzysz.

04/07

Tworzenie czcionki

Otwórz panel Create Font i zobaczysz krótki formularz. Oto co robi każda część:

Panel Create Font z aktywną kartą Bundled i czcionką Doto Regular. Podgląd Hello World Test!, wybrane rozmiary 16 i 48, zestaw Standard oraz rozwinięte ustawienia Advanced: 4 bpp, Ranges i Symbols.
▸ Panel Create Font: wybierz dołączoną czcionkę, podejrzyj swój tekst, wybierz kilka rozmiarów naraz i dostosuj zaawansowane ustawienia, takie jak bity na piksel i zakresy znaków.
  1. Select font (wybór czcionki) — wybierz czcionkę z karty Bundled (i jej grubość, jak Regular lub Bold) lub przejdź do karty Upload i wybierz własny plik.
  2. Font name (nazwa czcionki) — nazwa, którą zobaczysz na liście czcionek projektu. Nadaj coś łatwego do zapamiętania, zwłaszcza jeśli będziesz mieć ich kilka.
  3. Size (px) (rozmiar w pikselach) — rozmiar czcionki w pikselach. Możesz wybrać więcej niż jeden rozmiar naraz (poręczne ustawienia wstępne, takie jak 16, 22 i 32 są dostępne jednym dotknięciem). Pamiętaj, że każdy rozmiar jest generowany osobno, więc wybieraj tylko te, których naprawdę użyjesz.
  4. Letters (zestaw znaków) — wybierz zestaw znaków do uwzględnienia: Standard (podstawowe znaki angielskie), Latin, Greek, Cyrillic, Hebrew, Arabic, Thai i inne. W ten sposób informujesz PicoPixel, których liter języka potrzebujesz.
  5. Asian (języki azjatyckie) — osobna opcja dla języka chińskiego, japońskiego i koreańskiego. Wymagają specjalnej obsługi, omówionej w osobnej sekcji poniżej.

Jest też obszar Advanced (ustawienia zaawansowane) do doprecyzowania ustawień, w tym Bits per Pixel (bity na piksel) (ile odcieni szarości używa każda litera; wyższa wartość wygląda gładziej, ale zajmuje więcej miejsca; 4 to dobry punkt wyjścia) oraz pola do ręcznego określania dokładnych zakresów znaków lub symboli. Zwykle nie trzeba zmieniać tych ustawień.

TIP

Nie każda czcionka zawiera każdy język. Jeśli wybierzesz niełacińskie pismo i Twój podgląd pokazuje puste kwadraty zamiast liter, ta czcionka go nie obsługuje — przełącz się na czcionkę z karty Bundled zaprojektowaną dla tego pisma lub prześlij taką, która to robi. PicoPixel ostrzeże Cię, gdy wybierzesz pismo, którego nie obsługują wszystkie czcionki.

05/07

Pisma od prawej do lewej: arabski i hebrajski

Języki takie jak arabski i hebrajski czyta się od prawej do lewej, a ich prawidłowe wyświetlanie wymaga odpowiedniej obsługi. Dobra wiadomość jest taka, że konfigurujesz to bezpośrednio w panelu Create Font — nic nie trzeba konfigurować ręcznie.

  1. W menu rozwijanym Letters (zestaw znaków) wybierz Arabic lub Hebrew. To ważny krok: informuje PicoPixel, aby uwzględnił właściwy zestaw znaków dla tego pisma (podstawowe litery angielskie też są dołączone, więc cyfry i tekst łaciński nadal działają).
  2. PicoPixel zasugeruje czcionkę zbudowaną dla tego pisma, na przykład Noto Sans Arabic. Skorzystaj z sugestii (lub innej czcionki wspierającej dane pismo) zamiast zwykłej czcionki łacińskiej, która nie będzie zawierać tych liter.
  3. Sprawdź podgląd na żywo. Jeśli litery renderują się tam poprawnie, jesteś gotowy. Jeśli widzisz kwadraty, wybrana czcionka nie obsługuje pisma — wybierz inną.
NOTE

Litery arabskie zmieniają kształt w zależności od miejsca w słowie, a cały wiersz biegnie od prawej do lewej. Kiedy eksportujesz projekt, PicoPixel automatycznie wykrywa, że użyłeś tekstu arabskiego, perskiego lub hebrajskiego i włącza odpowiednie ustawienie LVGL dla połączonych kształtów liter — dzięki czemu nie musisz przeszukiwać plików konfiguracyjnych, aby wyglądało to dobrze na urządzeniu.

WARNING

Kluczowa sprawa do zapamiętania: wybór Arabic lub Hebrew w menu rozwijanym Letters (zestaw znaków) podczas tworzenia czcionki to właśnie to, co dołącza te znaki. Jeśli najpierw stworzysz zwykłą czcionkę, a dopiero później dodasz tekst pisany od prawej do lewej, liter tam nie będzie — twórz czcionkę z właściwym pismem wybranym od samego początku.

06/07

Chiński, japoński i koreański

Okno CJK Font Setup wyjaśnia, jak ograniczyć rozmiar czcionek chińskich, japońskich i koreańskich: wkleić tekst interfejsu w polu Symbols, wybrać zgodną czcionkę i dodać kolejne znaki w razie potrzeby.
▸ Okno dialogowe CJK Font Setup pojawia się po wybraniu języka azjatyckiego i przeprowadza przez kluczowe kroki, aby czcionka nie zajmowała zbyt dużo pamięci.

CJK to skrót od angielskich nazw języków chińskiego, japońskiego i koreańskiego. Te języki są wyjątkowe, ponieważ mają bardzo dużo znaków — koreański ma ich około 11 000, a chiński znacznie ponad 20 000. Pamiętaj, że każdy znak jest wstępnie narysowany i przechowywany na urządzeniu. Dołączenie całej czcionki CJK mogłoby dodać megabajty, które po prostu nie zmieszczą się na większości urządzeń wbudowanych.

Rozwiązaniem jest uwzględnienie tylko tych znaków, których faktycznie używasz. Typowy interfejs może wyświetlać zaledwie sto lub kilkadziesiąt różnych znaków — czyli niewielki ułamek całego zestawu.

Oto jak to zrobić:

  1. W menu rozwijanym Asian (języki azjatyckie) wybierz Korean, Chinese lub Japanese.
  2. Znajdź pole Symbols (w sekcji Advanced) i wklej rzeczywisty tekst, który będzie wyświetlał Twój interfejs — każdą etykietę, przycisk i komunikat. PicoPixel uwzględnia glif tylko dla każdego znaku, który tam znajdzie.
    • Aby ułatwić Ci start, PicoPixel wstępnie wypełnia to pole popularnymi słowami interfejsu (jak „Ustawienia”, „Potwierdź”, „Anuluj” i tym podobne) w wybranym przez Ciebie języku. Dodaj własny tekst.

W ten sposób czcionka, która mogłaby mieć kilka megabajtów, zajmuje zaledwie kilkaset kilobajtów.

WARNING

Uwzględniane są tylko znaki, które wymienisz w polu Symbols. Jeśli Twój interfejs później wyświetli znak, którego nie dodałeś, pojawi się jako pusty kwadrat. Kiedy Twój tekst się zmieni, wróć i zaktualizuj pole Symbole, a następnie utwórz czcionkę ponownie.

TIP

W przypadku CJK przesłanie konkretnej czcionki, którą chcesz (zamiast polegania na czcionce ogólnej), daje Ci największą kontrolę — a wklejenie pełnego, ostatecznego tekstu interfejsu oznacza, że nic nie zostanie pominięte.

Sekcja Advanced z wybranym językiem koreańskim i polem Symbols zawierającym koreańskie napisy interfejsu, takie jak ustawienia, potwierdź, anuluj, edytuj i szukaj.
▸ Wklej każdy fragment tekstu wyświetlanego przez Twój interfejs do pola Symbols — tylko te znaki zostaną uwzględnione w czcionce.
07/07

Porządkowanie: usuwanie nieużywanych czcionek

Czcionki zajmują miejsce i łatwo zgromadzić takie, których już nie potrzebujesz — zwłaszcza podczas eksperymentowania. Na przykład możesz nie być pewien, czy lepiej wygląda 16px czy 22px, więc tworzysz obie i sprawdzasz. Kiedy już zdecydujesz, ta druga to tylko zbędny balast.

PicoPixel ułatwia porządki. W obszarze Czcionki w zasobach znajduje się przycisk Remove unused fonts. Skanuje każdy widżet w projekcie, znajduje czcionki, których nic faktycznie nie używa, i usuwa je jednym kliknięciem — dzięki czemu możesz wyczyścić pozostałości i zwolnić miejsce dla czcionek, których naprawdę potrzebujesz.

TIP

To łatwy sposób na eksperymentowanie z rozmiarami. Utwórz kilka rozmiarów, sprawdź który dobrze wygląda w Twoim projekcie, a następnie kliknij Remove unused fonts, aby posprzątać resztę. Każda czcionka na liście pokazuje swoje ustawienia rozmiaru i jakości, więc łatwo zobaczyć jednym rzutem oka, co masz.

NOTE

„Remove unused fonts” usuwa tylko czcionki, do których żaden widżet się nie odwołuje, więc Twój projekt się nie zmieni. Możesz też samodzielnie usunąć pojedynczą czcionkę, klikając ją prawym przyciskiem myszy na liście. Jeśli usuniesz coś przez pomyłkę, możesz od razu cofnąć tę operację.

CZYTAJ DALEJ

Kolejne poradniki

Jak używać pupili w PicoPixel thumbnail
PICOPIXEL

Jak używać pupili w PicoPixel

Pupil to gotowy animowany sprite z wieloma trybami, które możesz wyzwalać przy dowolnym warunku. Wybierz go z katalogu, dodaj do projektu i podłącz tak, aby reagował na to, co robi urządzenie: pobieranie danych, przegrzewanie, przegląd kodu, cokolwiek.

pets · sprites · picopixel
Jak używać szablonów PicoPixel, zestawów UI i pełnych aplikacji thumbnail
PICOPIXEL

Jak używać szablonów PicoPixel, zestawów UI i pełnych aplikacji

Znajdź szablony PicoPixel, zestawy UI, przykłady, sprite'y, widżety i pliki pełnych aplikacji, a potem otwieraj, pobieraj, importuj, dostosowuj i eksportuj je jako kod C dla LVGL dla swojego urządzenia.

templates · ui-kits · full-apps
PicoPixel LVGL MCP Server Setup Guide thumbnail
PICOPIXEL

PicoPixel LVGL MCP Server Setup Guide

Set up the PicoPixel LVGL MCP server for Claude, ChatGPT, Codex, or Cursor. Learn agent settings, reusable components, colors, fonts, and assets.

LVGL MCP · MCP server setup · AI UI design