PicoPixel

Praca z czcionkami

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

ED Ed
font picopixel lvgl
ZAKTUALIZOWANO 2026-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 omówimy przydatną funkcję czyszczenia na wypadek, gdy dużo eksperymentowałeś.

The PicoPixel editor canvas showing multilingual label widgets in Cyrillic, Thai, Chinese, Greek, Korean, Japanese, and Arabic scripts, with the fonts panel listing ten loaded fonts on the left and label properties on the right
▸ 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łą, wstępnie narysowaną obrazek (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 — wybierając tylko te litery, które chcesz, w rozmiarach, których chcesz.

NOTE

Ponieważ każda litera jest wstępnie narysowana w stałym rozmiarze, przekonwertowana czcionka LVGL jest zablokowana na wybranym rozmiarze. Czcionki 16px nie można rozciągnąć do 32px i nadal wyglądała ostro. 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 mają realny koszt na urządzeniu: każda litera, w każdym rozmiarze, zajmuje trochę miejsca w pamięci. Większość tego poradnika dotyczy utrzymania tego kosztu na niskim poziomie — 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:

  • Dołączone — 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.
  • Prześlij — przynieś 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 pokrywają.
TIP

Jeśli przesyłasz własną czcionkę, używaj statycznego pliku czcionki (np. Roboto-Regular.ttf) zamiast pliku czcionki „zmiennej" (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 Utwórz czcionkę i zobaczysz krótki formularz. Oto co robi każda część:

The PicoPixel Create Font panel with the Bundled tab active, showing the Doto Regular font selected, a live preview reading Hello World Test!, sizes 16 and 48 selected, Letters set to Standard, and the Advanced section expanded with Bits per Pixel at 4 bpp, Ranges, and Symbols fields
▸ Panel Utwórz czcionkę: 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. Wybierz czcionkę — wybierz czcionkę Dołączoną (i jej grubość, jak Regular lub Bold) lub przejdź do zakładki Prześlij i wybierz własny plik.
  2. 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. Rozmiar (px) — 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. Litery — wybierz zestaw znaków do uwzględnienia: Standard (podstawowy angielski), Łaciński, Grecki, Cyrylica, Hebrajski, Arabski, Tajski i kilka innych. W ten sposób informujesz PicoPixel, których liter języka potrzebujesz.
  5. 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 Zaawansowane do doprecyzowania ustawień, w tym 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 domyślny) oraz pola do ręcznego określania dokładnych zakresów znaków lub symboli. Większość ludzi nigdy nie musi ich dotykać.

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ę Dołączoną 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 litery wymagają specjalnego traktowania. Dobra wiadomość jest taka, że konfigurujesz to bezpośrednio w panelu Utwórz czcionkę — nic nie trzeba konfigurować ręcznie.

  1. W menu rozwijanym Litery wybierz Arabski lub Hebrajski. 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ła linia płynie 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 Arabski lub Hebrajski w menu rozwijanym Litery 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

The PicoPixel CJK Font Setup dialog explaining that CJK fonts contain thousands of characters and only specified characters will be included, with tips for pasting UI text into the Symbols field, auto-selecting compatible fonts, downloading from Google Fonts, and creating additional fonts for more characters
▸ Okno dialogowe CJK Font Setup pojawia się po wybraniu języka azjatyckiego i przeprowadza przez kluczowe kroki, aby rozmiar czcionki pozostał zarządzalny.

CJK to powszechny skrót od chiński, japoński i koreański. 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 — i to jest znikome w porównaniu.

Oto jak to zrobić:

  1. W menu rozwijanym Azjatyckie wybierz Koreański, Chiński lub Japoński.
  2. Znajdź pole Symbole (w obszarze Zaawansowane) 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, kończy na kilkuset kilobajtach.

WARNING

Uwzględniane są tylko znaki, które wymienisz w polu Symbole. 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łnej, ostatecznej kopii tekstu interfejsu oznacza, że nic nie zostanie pominięte.

The PicoPixel Advanced section with Korean selected, showing the Symbols field filled with Korean UI text such as settings, confirm, cancel, edit, search, and more, so only those characters are included in the font
▸ Wklej każdy fragment tekstu wyświetlanego przez Twój interfejs do pola Symbole — tylko te znaki zostaną wbudowane w czcionkę.
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 sprawia, że jest to bezbolesne. W obszarze Czcionki w zasobach znajduje się przycisk Usuń nieużywane czcionki. 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 Usuń nieużywane czcionki, 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

„Usuń nieużywane czcionki" 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 przypadkowo usuniesz coś przez pomyłkę, cofnięcie natychmiast przywróci to z powrotem.

CZYTAJ DALEJ

Idziemy dalej.

Jak używać zwierzaków w PicoPixel thumbnail
PICOPIXEL

Jak używać zwierzaków w PicoPixel

Zwierzak 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, UI kitów i pełnych aplikacji thumbnail
PICOPIXEL

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

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

templates · ui-kits · full-apps
Czym jest sprite? thumbnail
PICOPIXEL

Czym jest sprite?

Dowiedz się, czym są sprite'y, jak tworzyć wielostanowe animowane widgety i jak używać ich ponownie w projektach.

sprite · picopixel