Skip to content

Generator czcionek LCD i OLED (bitmapa na tablicę C)

Zamiana tekstu i obrazów na tablice C dla SSD1306, SH1106, ST7920 i Adafruit GFX. Ostre czcionki pikselowe 12×12 i 16×16, wszystkie cztery tryby skanowania PCtoLCD2002 i dekoder nieznanych tablic.

Bez śledzenia Działa w przeglądarce Bezpłatne
Wszystko działa w przeglądarce – tekst i obrazy nie opuszczają tego urządzenia.

Pasuje do pamięci stronowej SSD1306 / SSD1309 / SH1106 / ST7565 i do MicroPython framebuf.MONO_VLSB – bajty można zapisać prosto do wyświetlacza.

Podgląd

Kliknij piksel, aby przełączyć jego stan.
    Glify: 5 · bajty: 80
    Wzorzec: znak 中 (16 × 16) w każdym kierunku skanowania

    Zapalony piksel = 1, glif z GNU Unifont. Porównanie tych bajtów z własną tablicą pozwala ustalić, z jakimi ustawieniami ją wygenerowano.

    Kierunek skanowania Kolejność bitów Bajty (hex)
    Wierszami (bajty poziome) Najpierw MSB — pierwszy piksel w bicie 7 01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00
    Wierszami (bajty poziome) Najpierw LSB — pierwszy piksel w bicie 0 80 00 80 00 80 00 80 00 FC 1F 84 10 84 10 84 10 84 10 84 10 FC 1F 84 10 80 00 80 00 80 00 80 00
    Kolumnami (bajty pionowe) Najpierw MSB — pierwszy piksel w bicie 7 00 00 00 00 0F F0 08 20 08 20 08 20 08 20 FF FF 08 20 08 20 08 20 08 20 0F F0 00 00 00 00 00 00
    Kolumnami (bajty pionowe) Najpierw LSB — pierwszy piksel w bicie 0 00 00 00 00 F0 0F 10 04 10 04 10 04 10 04 FF FF 10 04 10 04 10 04 10 04 F0 0F 00 00 00 00 00 00
    Kolumny w stronach (bajty pionowe, kolejność stron SSD1306) Najpierw MSB — pierwszy piksel w bicie 7 00 00 0F 08 08 08 08 FF 08 08 08 08 0F 00 00 00 00 00 F0 20 20 20 20 FF 20 20 20 20 F0 00 00 00
    Kolumny w stronach (bajty pionowe, kolejność stron SSD1306) Najpierw LSB — pierwszy piksel w bicie 0 00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00
    Wiersze w paskach (bajty poziome, paski po 8 pikseli) Najpierw MSB — pierwszy piksel w bicie 7 01 01 01 01 3F 21 21 21 21 21 3F 21 01 01 01 01 00 00 00 00 F8 08 08 08 08 08 F8 08 00 00 00 00
    Wiersze w paskach (bajty poziome, paski po 8 pikseli) Najpierw LSB — pierwszy piksel w bicie 0 80 80 80 80 FC 84 84 84 84 84 FC 84 80 80 80 80 00 00 00 00 1F 10 10 10 10 10 1F 10 00 00 00 00

    Czcionki pikselowe: GNU Unifont (16 px) i Fusion Pixel Font (12 px), obie na licencji SIL Open Font License 1.1. Teksty licencji

    Wszystkie osiem kombinacji kierunku skanowania i kolejności bitów jest sprawdzanych bajt po bajcie z niezależną implementacją referencyjną, a gotowe ustawienia – z notami katalogowymi SSD1306, SH1106 i ST7565 oraz kodem źródłowym Adafruit GFX, U8g2, LVGL i MicroPythona. — Zespół Go Tools · Oct 3, 2026

    Zbudowane i zweryfikowane przez zespół inżynierski Go Tools.

    Szybkie odpowiedzi

    Jakich ustawień wymaga OLED SSD1306?

    Kolumny w stronach · najpierw LSB Kolumny w stronach, najpierw LSB, zapalony piksel = 1 – gdy bajty trafiają prosto do pamięci wyświetlacza.

    Jakich ustawień wymaga Adafruit GFX drawBitmap()?

    Wierszami · najpierw MSB Wierszami, najpierw MSB, zapalony piksel = 1, każdy wiersz dopełniony do pełnych bajtów.

    Ile bajtów zajmuje znak 16 × 16?

    32 bajty 32 bajty w każdym kierunku skanowania. 12 × 12 to 24 bajty, znak ASCII 8 × 16 – 16.

    Co oznaczają 顺向 i 逆向 w PCtoLCD2002?

    逆向 = najpierw LSB 顺向 = najpierw MSB (pierwszy piksel w bicie 7); 逆向 = najpierw LSB (pierwszy piksel w bicie 0).

    Czym jest bitmapa czcionki (取模)?

    Większość graficznych sterowników OLED i LCD – w tym SSD1306, SH1106 i ST7565 – nie ma wbudowanej czcionki. Aby pokazać znak, firmware kopiuje do pamięci wyświetlacza małą siatkę pikseli (zapalony/zgaszony): jeden bit na piksel, osiem pikseli na bajt. Zamianę glifu na te bajty chińskie poradniki embedded nazywają 取模 – to zadanie, które windowsowy program PCtoLCD2002 wykonuje od lat.

    Same bajty to jednak za mało. Ten sam znak 16 × 16 można spakować na cztery sposoby (wierszami, kolumnami, kolumny w stronach, wiersze w paskach), a każdy z nich może umieścić pierwszy piksel w bicie 7 albo w bicie 0. Osiem ciągów bajtów opisuje ten sam glif, a wyświetlacz poprawnie narysuje tylko jeden z nich. Dlatego czcionka skopiowana z poradnika tak często pojawia się w lustrzanym odbiciu, przecięta na pół albo obrócona.

    // 中 (16x16), pages of columns, LSB first, lit = 1 — SSD1306 page order
    const unsigned char zhong[32] = {
      0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,
      0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00
    };
    // First 16 bytes = page 0 (rows 0-7), one byte per column, bit 0 = top row

    Co potrafi ten generator

    Chińskie znaki 12 × 12 i 16 × 16 co do piksela

    Czcionki przeglądarki to wygładzane kontury; po progowaniu przy 12 px w kroju Song poziome kreski znaku 中 po prostu znikają. Dlatego to narzędzie ma prawdziwe czcionki bitmapowe: czcionka 16 × 16 obejmuje wszystkie 6 763 znaki GB2312, a w czcionce 12 × 12 brakuje 143 rzadkich znaków – te są rysowane czcionką systemową i oznaczane.

    Wszystkie cztery tryby skanowania PCtoLCD2002, obie kolejności bitów

    Wierszami, kolumnami, kolumny w stronach i wiersze w paskach, każdy z opcją najpierw MSB lub najpierw LSB, zapalony piksel = 1 lub 0. Nazwy opcji odpowiadają PCtoLCD2002, a ich znaczenie sprawdzono z notą katalogową SSD1306 i popularnymi przykładowymi projektami OLED, więc możesz wybrać te same ustawienia, których używa istniejący projekt.

    Gotowe ustawienia, które mówią, do czego pasują

    Po wybraniu SSD1306, Adafruit GFX lub XBM opcje ustawiają się same. Po ręcznej zmianie dowolnej opcji narzędzie podaje, które wyświetlacze i biblioteki czytają taką kolejność bajtów – albo że nie czyta jej żadna.

    Dekodowanie istniejącej tablicy

    Po wklejeniu tablicy czcionki nieznanego pochodzenia wszystkie osiem odczytów (kierunek skanowania × kolejność bitów) pojawia się obok siebie. Czytelny wskazuje ustawienia; jedno kliknięcie je przenosi.

    Obraz na bitmapę z prawdziwym ditheringiem

    Logo, ikony i zdjęcia są skalowane do rozmiaru wyświetlacza i konwertowane progiem, ditheringiem Floyd–Steinberg lub Atkinson. Obszary przezroczyste liczą się jako tło, a próg działa w każdym trybie.

    Wynik gotowy do wklejenia w projekt

    Tablice 2D w stylu C51 z komentarzami /*"中",0*/, Arduino PROGMEM z przesunięciami, słowniki bytearray dla MicroPythona, wiersze DB dla A51 lub czysty hex. Wygenerowany kod C kompiluje się bez ostrzeżeń z -Wall -Wextra -pedantic.

    Przykłady krok po kroku

    中 dla OLED SSD1306 (16 × 16, kolumny w stronach, najpierw LSB)

    中
    00 00 F0 10 10 10 10 FF 10 10 10 10 F0 00 00 00 00 00 0F 04 04 04 04 FF 04 04 04 04 0F 00 00 00

    32 bajty: 16 kolumn strony 0 (wiersze 0–7), potem 16 kolumn strony 1 (wiersze 8–15). W bajcie 0xFF w kolumnie 7 ustawiony jest każdy bit: pionowa kreska przechodzi przez wszystkie osiem wierszy obu stron.

    To samo 中 dla Adafruit GFX drawBitmap (wierszami, najpierw MSB)

    中
    01 00 01 00 01 00 01 00 3F F8 21 08 21 08 21 08 21 08 21 08 3F F8 21 08 01 00 01 00 01 00 01 00

    Dwa bajty na wiersz, 16 wierszy. 0x01 0x00 to sama środkowa kreska: skrajny lewy piksel to bit 7 pierwszego bajtu, więc piksel w kolumnie 7 trafia do bitu 0. Te same bajty wysłane do SSD1306 zapisem stronowym dają śmieci – ten sam glif, inaczej spakowany.

    A o połowie szerokości w czcionce 16-pikselowej (8 × 16)

    A
    00 00 00 00 18 24 24 42 42 7E 42 42 42 42 00 00

    Znaki ASCII mają połowę szerokości: 8 × 16 to 16 bajtów, przy skanowaniu wierszami jeden bajt na wiersz. Jeśli sterownik oczekuje, że każdy glif ma 16 × 16, należy zaznaczyć „Pełna szerokość komórki dla znaków połówkowych (A–Z, 0–9)”.

    Dlaczego 12 × 12 to 24 bajty, a nie 18

    中 (12 × 12, wierszami, najpierw MSB)
    00 00 04 00 04 00 FF E0 84 20 84 20 84 20 FF E0 04 00 04 00 04 00 04 00

    Każdy 12-pikselowy wiersz wymaga dwóch bajtów; ostatnie cztery bity drugiego bajtu to dopełnienie. 12 wierszy × 2 bajty = 24. Każda biblioteka wyświetlaczy adresuje wiersze jako (width + 7) / 8 bajtów, więc ciaśniejsze upakowanie bitów rozłożyłoby je wszystkie.

    Jak wygenerować dane czcionki dla LCD lub OLED

    1. 1

      Wpisz tekst lub upuść obraz

      Tekst powstaje z prawdziwej czcionki pikselowej: 12 × 12 (Fusion Pixel) lub 16 × 16 (GNU Unifont), z ASCII o połowie szerokości. Do logo i ikon służy karta „Obraz” – tam ustawia się rozmiar docelowy, np. 128 × 64.

    2. 2

      Wybierz docelowy wyświetlacz lub bibliotekę

      SSD1306 / SH1106 / ST7565 wymagają bajtów pionowych w kolejności stron, z górnym pikselem w bicie 0. Adafruit GFX, TFT_eSPI, U8g2 drawBitmap i LVGL wymagają bajtów poziomych z lewym pikselem w bicie 7. XBM / U8g2 drawXBM – to samo, ale z lewym pikselem w bicie 0.

    3. 3

      Sprawdź podgląd i w razie potrzeby popraw piksele

      Podgląd pokazuje dokładnie tę bitmapę, która trafia do danych. Kliknięcie piksela przełącza jego stan, a pola przesunięcia pozwalają przesunąć glif.

    4. 4

      Skopiuj lub pobierz

      Do wyboru: C (styl C51 z PCtoLCD2002), Arduino PROGMEM, MicroPython bytearray, asembler A51 lub czysty hex. Pierwszy wiersz wyniku zapisuje kierunek skanowania, kolejność bitów i rozmiar glifu, więc tablica sama się dokumentuje.

    Krzaki na ekranie: objaw → błędne ustawienie

    Każda grupa 8 pikseli jest odbita w poziomie

    Bajty poziome z błędną kolejnością bitów. Adafruit GFX drawBitmap() wymaga najpierw MSB; XBM i U8g2 drawXBM() wymagają najpierw LSB.

    ✗ Niepoprawne
    U8g2 drawXBM() dostaje bajty z najpierw MSB
    ✓ Poprawne
    drawXBM() → ustawienie XBM (wierszami, najpierw LSB)

    Co 8 wierszy obraz jest do góry nogami

    Bajty pionowe z błędną kolejnością bitów. Kontrolery typu SSD1306 umieszczają D0 w górnym wierszu, więc wymagają najpierw LSB.

    ✗ Niepoprawne
    Kolumny w stronach, najpierw MSB → SSD1306
    ✓ Poprawne
    Kolumny w stronach, najpierw LSB → SSD1306

    Górna i dolna połowa przemieszane

    Pomylone tryby „kolumnami” i „kolumny w stronach”. Dają te same bajty tylko dla glifów o wysokości do 8 pikseli; przy 16 pikselach kolejność bajtów jest inna.

    ✗ Niepoprawne
    Kolumnami → zapis stronowy do SSD1306
    ✓ Poprawne
    Kolumny w stronach → zapis stronowy do SSD1306

    Glif odbity wzdłuż przekątnej albo w negatywie

    Odbicie wzdłuż przekątnej oznacza, że bajty poziome zostały odczytane jako pionowe (lub odwrotnie). Ciemny tekst na jasnym tle oznacza, że wybrano zapalony = 0 tam, gdzie wyświetlacz oczekuje zapalony = 1.

    ✗ Niepoprawne
    Bajty „wierszami” wysłane do strony SSD1306
    ✓ Poprawne
    Wklej tablicę w karcie dekodera i wybierz czytelny podgląd

    Kiedy się przydaje

    Chiński tekst na OLED SSD1306 0,96"
    Odczyt temperatury, menu albo wiersz stanu po chińsku na płytce STM32 lub z 51. Wystarczy czcionka 16 × 16 z ustawieniem SSD1306 i wklejenie tablicy do pliku oled_font.h, który projekt przykładowy już zawiera.
    Logo startowe na wyświetlaczu Arduino lub ESP32
    Upuść logo PNG, ustaw 128 × 64, wybierz ustawienie Adafruit GFX i wywołaj display.drawBitmap(0, 0, logo, 128, 64, WHITE).
    Ikony i jednostki do interfejsu w LVGL lub U8g2
    Symbole baterii, Wi-Fi i °C jako obrazy 1-bitowe. Ustawienie Adafruit GFX / LVGL daje bajty poziome z najpierw MSB, ustawienie XBM pasuje do U8g2 drawXBM().
    Praca na Macu lub Linuksie
    PCtoLCD2002 i klasyczne narzędzia 字模提取 to programy na Windows. To narzędzie działa w każdej nowoczesnej przeglądarce i nie wymaga instalacji.
    Analiza odziedziczonego projektu
    Poprzedni programista zostawił tablicę Hzk[][32] i żadnych notatek. Po wklejeniu jej do dekodera widać, jak została wygenerowana – zanim doda się nowe znaki w tym samym formacie.

    Jak działają cztery kierunki skanowania

    Wierszami (bajty poziome)
    Wiersze są pobierane od góry do dołu; w obrębie wiersza każdy bajt zawiera osiem sąsiednich pikseli od lewej do prawej. Wiersz 16-pikselowy to dwa bajty. Taki układ mają Adafruit GFX drawBitmap(), U8g2 drawBitmap(), pliki XBM, GDRAM w ST7920 i obrazy 1-bitowe w LVGL.
    Kolumny w stronach (bajty pionowe) – kolejność SSD1306
    Glif jest dzielony na strony o wysokości ośmiu wierszy. W każdej stronie kolumny są pobierane od lewej do prawej, a każdy bajt zawiera osiem pikseli danej kolumny. Odpowiada to pamięci GDDRAM w SSD1306, SH1106 i ST7565, gdzie według noty katalogowej bit danych D0 trafia do górnego wiersza – pasująca kolejność bitów to więc najpierw LSB.
    Kolumnami oraz wiersze w paskach
    Tryb „kolumnami” pobiera każdą kolumnę od góry do dołu przez wszystkie strony, zanim przejdzie w prawo; odpowiada to pionowemu trybowi adresowania SSD1306. Tryb „wiersze w paskach” bierze pasek o szerokości 8 pikseli ze wszystkimi jego wierszami, potem następny pasek; nie używa go żadna popularna biblioteka, ale starsze projekty z PCtoLCD2002 owszem. Każdy z nich wygląda identycznie jak jego odpowiednik tylko wtedy, gdy glif ma najwyżej 8 pikseli wysokości (lub szerokości) – dlatego pomyłka nie wychodzi na jaw w testach 8 × 8.
    Kolejność bitów i wartość zapalonego piksela
    Najpierw MSB umieszcza pierwszy pobrany piksel (skrajny lewy lub górny) w bicie 7; najpierw LSB – w bicie 0. PCtoLCD2002 nazywa je 顺向 (najpierw MSB) i 逆向 (najpierw LSB). Zapalony = 1 (阴码) to wartość oczekiwana przez OLED-y, TFT drawBitmap() i LVGL A1; zapalony = 0 (阳码) tylko dla sterowników, w których 0 oznacza „włączony”.
    Dopełnienie, gdy rozmiar nie jest wielokrotnością 8
    Każdy wiersz (bajty poziome) lub każda strona (bajty pionowe) jest osobno dopełniana do pełnych bajtów, a bity dopełnienia mają wartość 0. Przy kolumnach w stronach i glifie 12-pikselowym druga strona niesie 4 wiersze dopełnienia; sterownik zapisujący całe strony czyści te 4 wiersze pod glifem. Narzędzie ostrzega, gdy to ma zastosowanie.

    Dobre praktyki

    Ustawienie wybiera się według funkcji rysującej, nie według ekranu
    SSD1306 obsługiwany przez Adafruit_SSD1306 rysuje przez drawBitmap(), więc potrzebuje bajtów poziomych z najpierw MSB, choć sama pamięć kontrolera jest pionowa. Warto wybrać ustawienie pasujące do funkcji, którą wywołuje kod.
    Dla 12 i 16 px czcionki pikselowe
    Czcionki konturowe poniżej ok. 20 px tracą kreski po progowaniu. Fusion Pixel 12 i Unifont 16 są narysowane na siatce pikseli, a opcje 2× dają czyste 24 × 24 i 32 × 32.
    Komentarz nagłówkowy zostawić
    Pierwszy wiersz wyniku zapisuje kierunek skanowania, kolejność bitów i rozmiar. Po pół roku to jedyny ślad tego, jak tablica powstała.
    Test na niesymetrycznym znaku
    Symetryczne glify, takie jak 中, 田 czy H, ukrywają błędy lustrzanego odbicia. Najpierw warto spróbować F, 7 albo 乙: jeśli dają się poprawnie odczytać, wszystkie opcje są dobre.
    Odbicie całego ekranu poprawia się w sterowniku
    Jeśli w lustrzanym odbiciu lub do góry nogami jest wszystko na ekranie, a nie tylko czcionka, należy zmienić remapowanie segmentów (A0h/A1h) i kierunek skanowania COM (C0h/C8h) w sekwencji inicjalizacji. Zmiana ustawień czcionki zepsułaby tylko inny kod.

    Najczęściej zadawane pytania

    Jakie ustawienia wybrać dla OLED SSD1306 lub SH1106?
    Jeśli kod zapisuje bajty czcionki prosto do wyświetlacza (większość przykładów dla 51 i STM32): kolumny w stronach, najpierw LSB, zapalony = 1 – czyli ustawienie SSD1306. Jeśli rysuje przez Adafruit_SSD1306 albo U8g2 drawBitmap(), należy wybrać ustawienie Adafruit GFX, bo te funkcje czytają bajty poziome z najpierw MSB i same je przeliczają.
    Znaki wyświetlają się odbite, do góry nogami albo pomieszane. Co jest nie tak?
    Każdy objaw wskazuje na jedno ustawienie. Co 8 pikseli odbicie w poziomie: błędna kolejność bitów przy bajtach poziomych. Co 8 wierszy do góry nogami: błędna kolejność bitów przy bajtach pionowych. Górna i dolna połowa przemieszane: pomylone „kolumnami” i „kolumny w stronach”. Odbicie wzdłuż przekątnej: pomylone bajty poziome i pionowe. Odwrócone kolory: zamienione zapalony = 1 i zapalony = 0. Jeśli odbity jest cały ekran, a nie tylko tekst, poprawić trzeba sekwencję inicjalizacji sterownika.
    Dlaczego 12 × 12 zajmuje 24 bajty, a nie 18?
    Każdy wiersz (lub każda 8-wierszowa strona) jest osobno dopełniany do pełnych bajtów: 12 pikseli wymaga 2 bajtów, a 12 wierszy × 2 = 24. Biblioteki wyświetlaczy adresują wiersze jako (width + 7) / 8 bajtów, więc ciasno upakowany glif 18-bajtowy każda z nich odczytałaby błędnie.
    Dlaczego 12-pikselowy tekst kasuje na OLED-zie wiersz pod spodem?
    Przy kolumnach w stronach glif 12-pikselowy wypełnia jedną całą stronę i połowę następnej; pozostałe 4 bity drugiej strony to zera dopełnienia. Sterownik zapisujący całe strony czyści te 4 wiersze. Rozwiązaniem jest rysowanie przez bufor ramki ustawiający pojedyncze piksele albo takie rozmieszczenie 12-pikselowego tekstu, by puste wiersze wypadały tam, gdzie nic innego nie jest rysowane.
    Czy na Macu można używać tego zamiast PCtoLCD2002?
    Tak. Narzędzie działa w każdej nowoczesnej przeglądarce, oferuje te same cztery tryby skanowania, obie kolejności bitów oraz zapalony = 1 / zapalony = 0, a wynik w C ma styl C51 z PCtoLCD2002 z komentarzami /*"字",0*/, więc da się go wkleić do projektów opartych na tablicach w stylu Hzk[][32]. Nie generuje pełnych plików bibliotek czcionek ani indeksów. Kształty glifów pochodzą z GNU Unifont i Fusion Pixel, a nie z windowsowego SimSun, więc bajty nie będą znak w znak zgodne z tablicą wygenerowaną w PCtoLCD2002 – wygeneruj tu całą tabelę od nowa zamiast mieszać oba źródła. Ta strona nie jest powiązana z PCtoLCD2002 ani z jego autorem, nie jest oficjalną wersją webową i nie udostępnia programu do pobrania.
    Po co czcionka pikselowa zamiast systemowej?
    Czcionki systemowe to kontury rysowane z antyaliasingiem, którego przeglądarka nie potrafi wyłączyć. Przy 12 lub 16 pikselach progowanie tej szarej krawędzi gubi cienkie kreski – poziome belki znaku 中 w 12-pikselowym kroju Song znikają całkowicie. GNU Unifont (16 px) i Fusion Pixel (12 px) są projektowane na siatce pikseli, więc nic nie ginie. Czcionki systemowe pozostają dostępne dla większych rozmiarów: krój bezszeryfowy (Hei) sprawdza się od ok. 24 px, natomiast kroje Song przy tym rozmiarze nadal mogą gubić kreski.
    Jakie znaki obejmują czcionki pikselowe?
    Cały GB2312 – 6 763 uproszczone znaki chińskie plus interpunkcję o pełnej szerokości – oraz drukowalne ASCII, litery łacińskie ze znakami diakrytycznymi (é, ß, ł, ş, ő), alfabet grecki, cyrylicę, japońskie kana i popularne symbole, takie jak ℃, strzałki czy znaki ramek. W Fusion Pixel 12 px brakuje części rzadkich znaków i symboli. Koreański hangul i znaki chińskie spoza GB2312 (formy tradycyjne, wiele japońskich kanji) są rysowane czcionką systemową i wymieniane pod podglądem, żeby było widać, które glify sprawdzić.
    Jak zamienić logo lub ikonę na tablicę C?
    Wystarczy otworzyć kartę „Obraz”, upuścić plik, ustawić rozmiar wyświetlacza (128 × 64 dla OLED 0,96") i zostawić opcję „Dopasuj z zachowaniem proporcji”. Ciemne piksele stają się zapalonymi; dla jasnej grafiki na ciemnym tle należy zaznaczyć odwrócenie. Do logo i tekstu – bez ditheringu, do zdjęć – Floyd–Steinberg lub Atkinson.
    Jak sprawdzić, w jaki sposób wygenerowano istniejącą tablicę czcionki?
    Wkleić ją w karcie „Podgląd istniejącej tablicy”. Komentarze są pomijane, akceptowana jest składnia C, Arduino, A51 i MicroPythona. Rozmiar glifu jest szacowany na podstawie liczby bajtów, a wszystkie osiem kombinacji kierunku skanowania i kolejności bitów zostaje narysowanych. Ta, którą da się poprawnie odczytać, to szukane ustawienie, a przycisk „Użyj tych ustawień” przenosi je do generatora.
    Czy tekst lub obraz jest gdzieś wysyłany?
    Nie. Glify są renderowane i kodowane w przeglądarce. Czcionki pikselowe pobierane są raz z tej strony, a nic, co zostanie wpisane lub upuszczone, nie trafia nigdzie dalej.

    Powiązane narzędzia

    Zobacz wszystkie narzędzia →

    Konwerter systemów liczbowych — binary, hex, decimal i octal

    Narzędzia konwersji

    Konwertuj między systemami binarnym, szesnastkowym, dziesiętnym i ósemkowym (2–36) w czasie rzeczywistym. Bezpłatnie i prywatnie — w przeglądarce.

    Kalkulator kodu uzupełnień do dwóch (U2)

    Narzędzia konwersji

    Wpisz liczbę całkowitą ze znakiem i otrzymaj naraz kod znak-moduł, U1, U2 oraz kod z nadmiarem, od 4 do 64 bitów. Możesz też wkleić ciąg bitów albo bajt szesnastkowy i zobaczyć wszystkie pięć odczytów obok siebie.

    Kalkulator chmod — uprawnienia plików Linux

    Narzędzia konwersji

    Konwertuj uprawnienia plików Linux między zapisem ósemkowym (755, 644) a symbolami rwx. Gotowe polecenia chmod i ostrzeżenia przed ryzykownymi trybami takimi jak 777 — za darmo, w całości w przeglądarce.

    Konwerter kolorów — HEX, RGB, HSL i OKLCH

    Narzędzia konwersji

    Konwertuj HEX na RGB, HSL, OKLCH, OKLAB i CMYK w przeglądarce — skopiuj dowolny format jednym kliknięciem. Darmowy, bez rejestracji, kolory nigdy nie opuszczają strony.

    Konwerter współrzędnych: lat/long, DMS, UTM i GCJ-02

    Narzędzia konwersji

    Przelicznik współrzędnych GPS w dowolnym formacie — stopnie dziesiętne, stopnie minuty sekundy (DMS) — na UTM, Web Mercator, GCJ-02 (AMap) i BD-09 (Baidu). Rozpoznaje lat,lng i lng,lat, odwraca GCJ-02 z błędem < 1 mm, eksport CSV.

    Konwerter HEX na CMYK

    Narzędzia konwersji

    Konwertuj kolory HEX na CMYK w przeglądarce. Naiwne przybliżenie oparte na sRGB do podglądu druku. Bezpłatny, bez rejestracji, kolory zostają lokalnie.