Größere Schrift auf S65 Shield

Gibt es eine möglichkeit Text auf dem S65 Shield größer auszugeben. Dabei ist nur eine 12x8 Schriftart. Suche jetzt was in ~ doppelter Größe.

Jemand ne Idee, wo ich sowas bekomme ohne das Pixel für Pixel selbst erstellen zu müssen?

Danke :slight_smile:

Schau mal da glcd fontcreator aktuell - Mikrocontroller.net
Der GLCD Fontcreator kann fonts aus Windows / Linux importieren.

Wenn Du auf 24x16 hochgehst, dann koennte es sogar fast schon funktionieren Fonts mit Metafont zu rendern und dann umzurechnen. Ein Programm dafür kenne ich nicht, wäre aber auch nicht so schwer zu schreiben.

Und hier http://websitetips.com/fonts/pixel/ gibt's jede Menge Links auf Pixelfonts.

Schreibe mal auf wie Du dann Dein Ergebnis hinbekommen hast. Bei mir steht das Problem demnächst auch mal an. D.h. ich habe schon ein bischen mit dem Font Creator gespielt, aber immer noch keinen Font gefunden der mir so richtig zusagt.

Gruß, Udo

Hallo,

Man könnte den vorhanden Font per Software auch in der Größe verdoppeln. Sieht dann aber etwas pixelig aus.

Falls Interesse besteht, dann kann ich das gerne mit in die S65-Software-Lib aufnehmen bzw. programmieren.

(Eine extra Schritfart nimmt auch ziemlich viel Platz im Flash ein.)

Gruß
Andreas

Die normale Schriftart verdoppelt reicht vielleicht schon.
Kann man das evtl. sonst auf die SD-Karte auslagern?

Das wäre möglich. Aber das Zeichnen der Fonts wird daduch wahrscheinlich sehr langsam, weil man aufgrund der geringen RAM-Größe die Daten direkt von der Karte laden müsste.

Gruß
Andreas

Okay, noch langsamer wäre vielleicht nicht so gut.

Würde mich freuen wenn das aber mit dem doppelt-großem Font klappen würde :slight_smile:

Danke schonmal.

Hi,

Ich habe jetzt eine scale-up Option mit eingebaut - ist aber noch ungetestet. Wenn ich es schaffe dann teste ich den Code morgen abend.

drawText(x, y, "text", size, color, bg_color)
size 1 = normal
size 2 = doppelte Größe
size 3 = dreifache Größe
...

http://www.watterott.net/arduino/s65-shield_v009.zip

Gruß
Andreas

Wow, klasse Support, ich werds gleich testen. :slight_smile:

Aus:

lcd.drawText(0, 0, "text", 1, RGB(255,255,255),RGB(0,0,0));
lcd.drawText(0, 20, "text", 2, RGB(255,255,255),RGB(0,0,0));
lcd.drawText(0, 40, "text", 3, RGB(255,255,255),RGB(0,0,0));
lcd.drawText(0, 80, "text", 4, RGB(255,255,255),RGB(0,0,0));

wird:

die zeilen werden mit anderen Zeichen überschrieben wenn die oben genannten Zeilen im Loop laufen.

Wie man sieht werden auch die Buchstaben hochgezählt.
T, U, V, W..... an erster Stelle z.b.

Werde mir auch gleich nochmal die Modifikationen anschauen, mal sehen ob ich daraus schlau werde :slight_smile:

wenn ich im Programm die Buchstaben rückwärts rechne, klappt es aber hervorragend.

Vielen Dank nochmal an dieser Stelle ! :slight_smile:

Ich habe die Software gerade aktualisiert und jetzt sollte es funktionieren.

Gruß
Andreas

Jep, läuft :slight_smile:

Wo ich hier grad den Spezi im Board hab:
Wird es noch eine Funktion wie fillCircle geben?
Wenn ich jetzt nen gefüllten Kreis benötige, habe ich das mit ner Schleife gemacht, die den Radius hochzählt.
Dann gibts aber noch paar Pixel die ausgelassen werden.

Gibts da ne andere Möglichkeit?

Hi,

Ich habe eine fillCircle() Funktion noch mit in die v0.09 aufgenommen.

Gruß
Andreas

Hallo, leider funktioniert die Suche in dem Forum nicht (-> Internet Server Fehler), meine Frage passt aber recht gut hierher:

Ich möchte die Schrift ändern, genauer gesagt eine kleinere nutzen(z.B. 8x8 oder 8x9). Ich habe gesehen das es die font_8x12.c und font_8x12.h gibt. Ich gehe davon aus dass darin die fonts definiert sind.
Kann man die ersetzen? Wenn ja, was muss man tun.

Danke für die Hinweise.

PS: Das S65-Shield ist echt Klasse.

Hallo.

Ich möchte die Schrift ändern, genauer gesagt eine kleinere nutzen(z.B. 8x8 oder 8x9). Ich habe gesehen das es die font_8x12.c und font_8x12.h gibt. Ich gehe davon aus dass darin die fonts definiert sind.
Kann man die ersetzen? Wenn ja, was muss man tun.

Ja, die kann man auch ersetzen oder ändern. Dazu braucht man aber die entsprechenden Fontdaten.
In meinem WebRadio Projekt ist eine 8x8 Schrift [1] enhalten. Diese werde ich auch mit in die nächste Version der S65-Lib aufnehmen.
Das Problem ist nur der Speicherplatz. Auf einem Mega168 wird es wahrscheinlich sehr knapp...

[1] http://code.google.com/p/arm-webradio/source/browse/#svn/trunk/src/lcd

Gruß
Andreas

Danke für den Tipp.

Was ist denn mit der "Standart"-Schrift? Kann man die nicht ersetzen anstatt eine zweite hinzu zu fügen (wegen dem Speicher)? Oder ist die irgendwo fest einprogrammiert ( im Controller des Displays? )

Edit:
ich habe die Schrift ersetzt (und die paar wenigen Modifikationen durchgeführt die nötig sind) und die in die S65Display.cpp eingetragen anstatt der 8x12.
Das Programm wird auch kompiliert und gestartet, allerdings ist die Schrift zerhackt. Sieht so aus als wenn erst die Untere Hälfte des Zeichens und dann die obere Hälfte angezeigt. Ausserdem macht es immernoch den Eindruck einer 8x12 Schroft (von der Grösse her)

Man kann auch die Standardschrift ersetzen. Die Zeichendaten liegen in der font_8x12.c und die Größe der Schrift in font_8x12.h.

Ich werde es in die Lib so einbauen, dass man gegebenfalls nur eine Schriftart hat.

ich habe die Schrift ersetzt (und die paar wenigen Modifikationen durchgeführt die nötig sind) und die in die S65Display.cpp eingetragen anstatt der 8x12.
Das Programm wird auch kompiliert und gestartet, allerdings ist die Schrift zerhackt. Ausserdem macht es immer noch den Eindruck einer 8x12 Schrift (von der Grösse her).

Für den Fall dass du die neue lib sowieso demnächst veröffentlichst dann brauchst du dir jetzt gar nicht so viele Gedanken um mein Problem machen da ich noch ein paar Tage auf die kleinere Schrift verzichten kann, ist also nicht so dringend.

Hallo,

Ich habe die neue Lib jetzt hochgeladen:
http://www.watterott.net/projects/s65-shield

Gruß
Andreas

Großartig, Danke!

Funktioniert und sieht gut aus. Spart schon eine Menge Platz auf dem Display und auch einiges an der Binärdatei.

Womit erstellst du die Fonts?
Ich würde mich gerne selber daran versuchen eine Monotype Schrift zu bauen die möglichst noch kleiner ist (obwohl mir für mein Projekt die mitgelieferte 8x8 voll reicht).

von mir auch vielen Dank dafür ! :slight_smile:

kurze Anmerkung noch: Die Beispiele lassen sich aktuell nicht kompilieren, da der Int für die Schriftgröße dort noch fehlt.
Auch die fillCircle haut noch nicht so richtig hin. Wenn X=Y dann passts noch einigermaßen, sobald das ausseinander geht, ist der Kreis zerstückelt.