Arduino Adafruit GFX Fonts für OLED Displays erzeugen

OP #6207222
Lesenswert?

Hallo,

nur so weil ich selbst länger danach gesucht habe hier auch ein Posting 
damit es andere leichter haben es zu finden.

Daniel Eichhorn hat einen Online-Service mit dem man Adafruit GFX-Fonts 
erzeugen kann programmiert. Die von Adafruit mitgelieferten Fonts in der 
Bibliothek sind entweder FETT oder ultraklein.

Hier http://oleddisplay.squix.ch/#/home
kann man sich mit 5 Mausklicks seinen eigenen Font erzeugen lassen.

Dann Quellcode per Copy&Paste in eine Textdatei reinklatschen und im 
Unterverzeichnis "Fonts"
C:\Users\username\Documents\Arduino\libraries\Adafruit_GFX_Library\Fonts

mit Dateiendung .h speichern.

Wenn im Quellcode z.B. const uint8_t Dialog_plain_10Bitmaps[] PROGMEM
drin steht
Muss man als Dateinamen "Dialog_plain_10.h" eingeben.

Spendet Daniel wenigstens 1 Dollar für diesen großartigen Service 
https://www.paypal.me/squix78

viele Grüße

Stefan

Prost Daniel!
(Firma: Frickelhauptquartier) #6676900
Lesenswert?

OK, etwas spät.

Ich hab mal einen Font erstellt, und auch soweit geändert, siehe Anhang.
#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7735.h> // Hardware-specific library for ST7735
#define FONT FreeSans6pt7b
#include <Fonts/FreeSans6pt7b.h>
...
tft.setFont(FreeSans6pt7b);

ergibt folgenden Fehler:
'FreeSans6pt' was not declared in this scope // FreeSans6pt7b das Selbe

weiter oben in der Fehlermeldung steht:

C:\Users\TG\Documents\Arduino\libraries\Adafruit_GFX_Library/Fonts/FreeS 
ans6pt7b.h:197:15:  warning: 'FreeSans6pt7b' defined but not used 
[-Wunused-variable]
 const GFXfont FreeSans6pt7b PROGMEM = {(uint8_t *)FreeSans6pt7bBitmaps,

was ist hier los?
Angehängte Dateien:
Gast #6677233
Lesenswert?

das funktioniert ganz gut, hatte auch gerade meine Libs aktualisiert und 
diese Fonts in die Adafruit SSD1306 eingebaut, da sind schon ein paar 
schöne dabei. Den Generator wollte ich mal testen, hatte ich beim Update 
auch gefunden.
Angehängte Dateien:
Gast #7214164
Lesenswert?

Hallo, der Beitrag ist zwar schon etwas älter, aber vielleicht kann mir 
da jemand weiterhelfen.

Ich habe mir auch da einen Font erstellt, leider fehlen die für die 
deutsche Sprache nötigen Umlaute (ä,Ä, und so weiter)

Jetzt habe ich schon den halben Tag versucht herauszufinden, wie ich aus 
dem A

(0x04,0x00,0x40,0x0A,0x00,0xA0,0x11,0x01,0x10,0x20,0x82,0x08,0x3F,0x84,0 
x04,0x40,0x48,0x02,  // 'A')

ein Ä machen kann.

Aber ich komme mit dem Code nicht klar. Ich habe auf der Adafruit Seite 
ein Tutorial gefunden, wie einfach erklärt wird, wie man einfach solche 
Codes erzeugt. Aber hier scheint irgendwas anders aufgebaut zu sein.

https://learn.adafruit.com/creating-custom-symbol-font-for-adafruit-gfx-library

Ich habe die Font Family Dialog genommen, Style Plain und die Größe 16

Mir reicht eine Einfache Erklärung wie der Code für den Buchstaben A 
erzeugt wurde, den Rest möchte ich erstmal selber versuchen 
herauszufinden.

PS: Ich beschäftige mich erst seit Heute mit dem Thema, also bitte eine 
Einfache erklärung.


Vielen Dank schonmal!!!
#7214176
Lesenswert?

Der Dialog Font ist die komplexere Variante mit variabler Zeichengröße, 
da passt die Beschreibung nicht, die ist für Monospaced Fonts:
https://learn.adafruit.com/creating-custom-symbol-font-for-adafruit-gfx-library/creating-new-glyphs

Eventuell ist aber auch nur das Problem das die Codepages vom Editor und 
der Zeichen nicht zusammenpassen.

edit:
ok, Codepage ist es nicht, die Umlaute sind in Dialog nicht definiert.
im 'Fonts' Unterverzeichnis sind Konverter und eine Anleitung, Quelle 
sind die Freetype Fonts.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren