Datum:
Angehängte Dateien:Da ich auf die Schnelle keine fertige Schriftart gefunden hatte die auf mein LCD gepasst hat, habe ich ein paar erstellt. Insgesamt sind hier 14 verschiedene Schriftgrößen von 4x6 Pixel bis 12x16 Pixel enthalten, jeweils als Assembler und C Header mit verschiedenen Ausrichtungen (Vertikal, Horizontal, gespiegelt, link/rechts ausgerichtet usw.) Der Zeichensatz ist die Codepage 850.
Datum:
Hallo Benedikt, vielen Dank fuer die Fonts. Sie haben mir bei einem Problem mit Screenkey (Schalter mit eingebauten Display) sehr geholfen.
Datum:
können diese ASM Fonts auch in BASCOM verwendet werden? und wenn ja wie?
Datum:
LCD schriften sind relativ einfach mit einem PC erstellbar. Dort, ein kleines Prograemmchen schreiben, das einen drop down selektierbaren Font auf einen Canvas klatscht. Diesen Canvas kann man dann als Bitmap pixel fuer pixel auslesen. Gewisse AVR und PIC Compiler koennen das schon von selbst. Z
Datum:
@Zurr: Könntest Du vielleicht das "kleine Progrämmchen" schreiben, vielleicht in der Mittagspause ?
Datum:
Jaja der Zurr cannwas Leinwand heißt das Wort auf deutsch, hilft mir auch nicht weiter Bitte erklären
Datum:
Angehängte Dateien:ich hatte auch mal länger nach fertigen Fonts gesucht aber nicht so das richtige gefunden. Brauchbar waren einige Tools die einen Zeichensatz in einer Bitmap dargestellt haben und das liess sich dann speichern. Ich habe dann ein kleines Tool gebastelt das die Bitmap einliest und C-Defines generiert die ich dann in eine C Quelle includen kann. Das Ganze ist in C# geschrieben und so minimalistisch wie ich es brauchte.
Datum:
Ein fertiges Progrämmchen gibt es doch schon lange bei apetetch.de oder hier im Forum im Thread zur k10108 library. Allerdings stellt man dann doch schnell fest, daß all die schönen Windows-True-Type-Fonts in den für LCD's typischen Größe von 6-10 Pixeln ziemlich gruselig aussehen. Die echten Pixelfonts hier gewinnen zwar auch keinen Schönheitspreis, sind aber wenigstens lesbar. Oliver
Datum:
Hallo, dieses Thema ist zwar schon etwas älter, aber der Vollständigkeit halber wollte ich noch dazuschreiben, dass wir ins KontrollerLab aus gegebenem Anlass einen Font-Wizard reingebastelt haben. Nähere Infos findet Ihr hier: http://www.cadmaniac.org/projectMain.php?projectNa... Der Font-Wizard "grabbt" PC-Schriftarten, wie oben beschrieben, hat eine GUI, in der man einiges einstellen und editieren kann, kann die Schriftarten für verschiedene Displays (zeilen oder spaltenorientiert) aufbereiten, kann RLE-Kompression... Code zum Anzeigen der damit generierten Schriftarten sowie ein YouTube-Video, das dieses Beispiel zeigt, findet ihr unter: http://www.cadmaniac.org/projectMain.php?projectNa... viele Grüße, cadManiac
Datum:
Vielen Dank Benedikt, deine Fonts waren gerade sehr nützlich :)
Datum:
Angehängte Dateien:Hier ist eine neue, etwas korrigierte Version, da einige der Anordnungen der Schriftarten bei der obigen Version etwas zerstückelt waren.
Datum:
Vielen Dank, das neue Display kann jetzt was anzeigen :)
Datum:
@ Benedikt K. (benedikt) Erstmal vielen Dank für die Weitergabe der Fonts. Die helfen beim Einstieg in die GLCDs ungemein. Jetzt habe ich mal den 32x53-Pixel-Font probiert und dabei das Problem, dass die angezeigten Ziffern unvollständig dargestellt werden. Links fehlt immer ein Teil. Da die kleineren Font spielen, denke ich mal, dass mein Code halbwegs läuft. Deshalb meine Frage, ob es bei den gro0en Fonts irgendwas besonderes zu beachten ist oder ob vielleicht beim konvertieren der Fehlerteufel zugeschlagen hat? Danke und Gruß
Datum:
Sag mir mal genau welchen du verwendest hast, dann prüf ich das mal.
Datum:
Ich habe den Font 32x53_horizontal_MSB_1.asm genommen. Danke und Gruß, Jens
Datum:
Angehängte Dateien:Ich habe den Fehler gefunden. Ich hatte einen Schreibfehler in meiner Erstellungssoftware die um 27 statt 24bit in einem Byte geschoben hat. Dadurch waren die Daten ein wenig verschoben.
Datum:
Danke für die schnelle Antwort, werde ich heute abend gleich mal testen.
Datum:
Hallo Benedikt, erstmal danke für deine Fonts.Sie habe mir sehr weiter geholfen. Leider habe ich eine kleines Problemchen: Für mein Projekt brauche ich 2 verschiedene Fontgrößen. 12x16 und 22x36 sind hierfür perfekt. Doch leider passen die Schriftarten nicht überein. OK, ich weiß das 12x20 und 22x36 die gleiche Schrift haben, aber ich finde die Schriftart von 12x16 einfach wesentlich besser und schneller lesbar. Und auf Geschwindigkeit kommt es an... Könntest du bitte zu deinem Fontpack noch die Font 22x36, oder wie dann das Verhältnis auch immer ist, mit der Schriftart wie in 12x16 erstellen? Nur eine Breite von 22 (oder 21 wäre auch OK) ist wichtig. Oder kannst du die Quellen der Fonttools offen legen und uns mitteilen was du für Schriftarten verwendet hast? Besten Dank Jürgen
Datum:
Diese andere Schriftart steht mir leider nur bis max 12x16 oder 10x18 zur Verfügung, daher kann ich nichts größeres erstellen. Falls du aber irgendeine passende Schriftart hast, und ein Bild in der Art wie die Bilder in dem Paket erstellen kannst, dann kann ich die gerne in das passende Format umwandeln.
Datum:
Hallo Benedikt, danke für deine schnelle Antwort. Das mit der Schrift ist echt schade. Vor allem die 0 finde ich ist durch die eckigere Art einfach wesentlich besser und schneller lesbar. Naja gut ich werde das schon irgendwie hinfrickeln. Dank Jürgen
Datum:
Hallo, kann mal einer kurz erläutern wie man die Font Dateien verwendet? Einfach mal als ganz simples Beispiel auf meinem Startbildschirm soll nur ein einzelner Buchstabe dargestellt werde. Wie gehe ich vor um den Buchstaben "auf zurufen". Danke schon mal im vorweg!
Datum:
Buchstabe -> zugehörige Pixeldaten aus dem Font -> auf's Display zeichnen Zeichenkette (monospaced) Buchstaben mit Fontbreite Versatz (proportional) Buchstaben mit festem Abstand Versatz, leere Zeichenspalten/reihen erkennen und überspringen (=weglassen)
Datum:
War das jetzt ein Deppenapostroph oder nicht?
Datum:
Hier mal ein ganz einfaches Beispiel für eine 6x8 Schriftart:
#include "6x8_horizontal_LSB_1.h" void writechar(unsigned char c) { unsigned char x,y,w; for (y=0; y<8; y++) { w=font[c][y]; for (x=0; x<6; x++) { if (w&1) setpixel(x,y); else clrpixel(x,y); w=w>>1; } } } |
Die Schriften sind ein 2 Dimensionales Array mit 256 Einträge (da 256 Zeichen) zu je einer von der Größe des Zeichens abhängigen Größe.
Datum:
Hallo, @ Benedikt: danke für deine tollen Schriften. Ich habe ein kleines Verständnisproblem: das Beispielprogramm mit einer 6x8 Schrift ist mir klar und funktioniert auch. Aber ich möchte gerne eine 22x36 Schriftart verwenden. Bei dieser Schrift ist mir der Aufbau der Datei aber noch nicht ganz klar. Da bei dieser Schrift mehrere Elemete einer Array Zeile übereinander angezeigt werden müssen um die höhe des Zeichens zu erreichen. Aber welche Elemente liegen übereinander? Jeweils ein Viererblock? Christian
Datum:
Hallo, vielleicht ist der Font and Bitmap Generator unter www.muGUI.de für Euch interessant. Es gibt auch einige Beispiele wie man die Schriften auf ein Display bekommt. Viele Grüße muGUI
Datum:
Hallo Ich möchte auf einem Grafik OLED die in der font.h gespeicherten Zeichen darstellen. Das ganze funktioniert ja wenn ich das richtig sehe über ein zweidimensionales Array. Ich würde jetzt gerne wissen woher ich weiß, welches Zeichen in welchem Array-Feld steht!? Hilft da nur einmal auslesen und sich dann merken? Oder wie macht ihr das? Vielen Dank schonmal! Grüße Bean
Datum:
Hallo, ich habe mir ein PC-Programm geschrieben, mit dem ich das Auslesen der Datei solange probiert habe. Bin also auch nur durch Try&Error weiter gekommen. Hier mal meine Funktion für die 22x36 Schrift, bei der ich aber am Anfang und Ende jeder Zeile die Leeren Elemente gelöscht habe, um das Array kleiner zu bekommen:
void g_draw_char_large(unsigned short x1, unsigned short y1, unsigned char c) { unsigned char x,y,w,n=0,x2=0,y2=0; for (y=0; y<76; y+=3) { for(n=0; n<3; n++) { w=font22x36[c][y+n]; for (x=14; x<22; x++) { if (w&1) lcd_graphics_plot_pixel(x1+x2, y1+y2, PIXEL_ON); else lcd_graphics_plot_pixel(x1+x2, y1+y2, PIXEL_OFF); w=w>>1; x2++; } } y2++; x2=0; } } |
Zur Position der Zeichen in der Datei: In jeder Zeile steht ein Zeichen. Die Zeichen sind nach ihrem ASCII Code sortiert. Als Beispiel: Die Ziffer "0" ist 0x30h oder Dez. 48, dh, sie steht in dem Array in der Zeile 48 (0x30h) Das Zeichen "a" steht in Zeile. 97 (0x61h) MfG Christian
Datum:
@ Benedik Danke für die tolle Bibliothek! Welche Fonts und Toolchain nutzt du für die kleinen Schriftarten? Gruß Sam
Datum:
Angehängte Dateien:Hallo, ich habe mir vor kurzem mal die Mühe gemacht, die 'normalen' Zeichen der 8x8 Font vom C64 LCD-gerecht zu codieren. Die Werte sind spaltenweise im Array eingetragen, also erstes Zeichen, erster Wert, Bit 0 entspricht dem linken oberen Pixel des 8x8 Blocks. Bit 1 ist dann das Pixel da drunter, zweiter Wert vom ersten Zeichen, Bit 0, ist das Pixel daneben und so weiter. Hat den Hintergrund, dass ich so immer gleich das gesamte Byte an den LCD Kontroller schicke und das ganze nicht mit 64 Pixeln machen muss. Falls also jemand ein bißchen Retro-Look möchte und sein LCD ausreichen groß ist - bei 8x8 großen Zeichen braucht man schon etwas mehr Breite - kann er das gerne mal ausprobieren. Ich freue mich über Rückmeldungen, weil ich es bis jetzt noch nicht geschafft habe, die Font zu testen ;) Gruß, Timo.
Datum:
Angehängte Dateien:Hallo allerseits, @Timo: Dein C64 - Font hat was, siehe Anhang. Ich hatte seinerzeit nen Amstrad CPC464, mal sehen ob ich den aus Linux rauskrieg, dort gibt's nen emu. Gruß, Christoph.
Datum:
Ups, da war bei mir der Fehlerteufel am Werk, der Zeichensatz stimmt, meine Darstellung ist falsch. Die letzte Pixelreihe wird nicht dargestellt. Sorry. Gruß, Christoph
Datum:
Hallo, super - Danke, spart mir eine Menge Arbeit. Frage: Wie ist das lizenzrechtlich? Momentan will ich einen Font noch privat einsetzen, es könnte aber mehr daraus werden. Ich habe leider keine Angaben über die Lizenz gefunden...? Gruß, Marvin.
Datum:
danqe göh wor recht supper vu dia benedikt Kanntesch du bittschia zu deinem Fontpack nou die Font 22x36, oder wie nocha deis Verhältnis hold ou allaweil isch, mit der Schriftart wia in 12x16 erstella? Lei in einer Breite fu 22 (oder 21 war ou suppr) isch iatz schua bärig danqe ga. Schiana griaß fum zomser, servas ga.
Datum:
Etwas älter aber mein Lob. Mit welcher Software wurden diese Fonts erstellt? Brauche einen Font vertikal MSB mit einer höhe von 32Pixeln. Habe zwar bei Google massig Programme gefunden wie FontCreator, GLCD_Env, eadog, fonwiz ... aber irgenwie komme ich mit den Programmen nicht klar (ausser GLCD) da ich entweder die Windows Schriftarten nicht öffnen kann oder ich das speichern nicht hinbekomme. Bei GLCD geht es soweit, nur das ich das einstellen den Größe etwas verwirrend finde und dann alles abschreiben um ggf. noch MSB umrechnen muss. Vielleicht hat ja auch schon jemand einen Font mit 32Bit Höhe erstellt.

