Hallo, ich soll im Rahmen einer Seminararbeit eine 8x16 LED-Matrix ansteuern. Der Font, den ich aktuell verwende (Tabelle im Internet gefunden), sieht recht bescheiden aus, daher wäre es mir am liebsten, wenn ich die Zeichen selbst definieren könnte. Programmiersprache ist C. Habe bereits mehrere Stunden im Netz nach einem geeigneten Programm gesucht, jedoch ohne Erfolg. Kann mir jemand einen Tipp geben ?
Gerhard schrieb: > Hallo, > ich soll im Rahmen einer Seminararbeit eine 8x16 LED-Matrix ansteuern. > Der Font, den ich aktuell verwende (Tabelle im Internet gefunden), sieht > recht bescheiden aus, daher wäre es mir am liebsten, wenn ich die > Zeichen selbst definieren könnte. Programmiersprache ist C. > > Habe bereits mehrere Stunden im Netz nach einem geeigneten Programm > gesucht, jedoch ohne Erfolg. Mehrere Stunden? kariertes Papier. Raster mit 8 mal 16 Kästchen und mit Stift reinmalen. Hab ich vor Jahren mal für einen Eigenbaudrucker gemacht. Ging eigentlich recht flott und Spass hat es auch noch gemacht. Heute würd ich mir wohl eine Excel Tabelle mit den Zeichen machen (großer Font), ausdrucken und über den Ausdruck mit Bleistift ein Raster zeichnen. Merke: Wenn man Stunden in Internetsuche investiert, ist es manchmal sinnvoller die Suche abzubrechen und auch mal eine händische Lösung in Betracht zu ziehen. Man glaubt gar nicht, wie mächtig Papier und Bleistift sein können. Im übrigen glaub ich dir nicht, dass du schon 'seit Stunden' gesucht hast. Mit den naheliegenden Stichworten 'Font Generator Windows' liefert Google bereits auf der ersten Seite mehrere Treffer. https://71squared.com/gdx Und wenn da nichts dabei ist, dann eben noch ein paar Suchbegriffe dazugeben. zb 'Bitmap' könnte weiter helfen. Auch ein zusätzliches 'Download' ist oft recht hilfreich, wenn man nach einem Programm sucht.
:
Bearbeitet durch User
Gerhard schrieb: > Programmiersprache ist C. Einen Fontgenerator brauchst du für Postscript- oder Truetype-Schriften. Solche einfachen Bitmaps wie 8x16 sind normalerweise ganz einfach binär gespeichert, in dem Fall wahrscheinlich je 16 Bytes für jeden Char. Da kannst du die Zeichen ganz einfach in Assembler, C oder sonstwas als Binary-Konstanten definieren, und das ist sogar lesbar, z.B.
1 | ; char A |
2 | db b00000000 |
3 | db b00000000 |
4 | db b00111000 |
5 | db b00101000 |
6 | db b01000100 |
7 | db b01000100 |
8 | db b10000010 |
9 | db b10000010 |
10 | db b11111110 |
11 | db b10000010 |
12 | db b10000010 |
13 | db b10000010 |
14 | db b10000010 |
15 | db b00000000 |
16 | db b00000000 |
17 | db b00000000 |
18 | ; |
8x16 ist ein seltsames Format, wenn die Pixel quadratisch sind. Georg
Karl Heinz schrieb: > ist auch nichts dabei? Es ist schon komisch. Wieder mal jemand, der nix findet. Eben noch hatte ich nen Thread, wo diskutiert wird, wie man Audio per PWM ausgibt. Hätte jemand in der Lernbetty nachgeschaut, hätte er ne fertige Soft dafür dort gefunden. Alles schon mal vorgeturnt, aber offenbar kraft Begrifsstutzigkeit der Leute vergeblich. Soll man den Leuten raten, sich ein Pfund Raspberries und ne Tüte Arduinos stattdessen zu kaufen? Und hier weiß der TO nicht, wie man sich nen simplen Font selber macht. Mal abgesehen davon, daß genau SOWAS eigentlich eine nette Fingerübung ist für angehende Programmierer und eigentlich nur ein bißchen logisches Denkvermögen braucht, hätte der TO nach Suchen "bereits mehrere Stunden im Netz" fündig werden müssen. Jaja, auch dafür ist was bei der Lernbetty dabei. Ich hab das seinerzeit so gemacht, daß ich deine Idee vom Karo-Papier auf elektronisch übertragen hab, so daß man sich seine Zeichen mit nem simplen Editor eigenre Wahl als simplen Text zusammentippen kann (spart Radiergummi) und anschließend durch nen primitiven Compiler jagt, der dann fertigen C-Code ausgibt. So: FACE_NAME "Simple6x13" Height= 13 CapHeight=0, Ascent= 11, Descent= 2 Ch_50: { "P" } ....... ....... MMMM... M...M.. M...M.. M...M.. MMMM... M...... M...... M...... M...... -- ....... ....... ; Ich frag mich immer öfter, ob so eine Hilfestellung letztendlich genau das Gegenteil dessen bewirkt, was man sich gedacht hat: anstatt zu helfen, daß die jungen Leute schneller klüger werden und besser logisch zu denken lernen, macht es selbige nur noch unfähiger. Die gebratenen Bits fliegen ihnen ja ohnehin von selbst in den PC. W.S.
Georg schrieb: > 8x16 ist ein seltsames Format, wenn die Pixel quadratisch sind. Das BIOS jeder VGA-Karte enthält einen Font in diesem Format. Im echten Textmodus wird noch eine 9. Spalte dazugelogen, so daß 9x16 resultiert.
Anbei mal was, das helfen könnte. Habe ich mal auf der Arbeit gebraucht.. Grüsse
Gerhard, ich weiss ja nicht, wass Du suchst. Ich wollte damals Anti-Aliasing. Nur so als Idee! Ich kenne die o.g. Fontgeneratoren nicht, vielleicht ist einer dabei, der Anti-Aliasing macht. Ich war zu faul zum Suchen und habe zu diesem Zweck mal fix mit Visual Studio einen Fontgenerator gebaut, der auch direkt C-Dateien erzeugt: https://github.com/TorstenC/A137_TouchTFT_320x240/blob/master/Mikrocontroller/Atmel%20Studio/TimeTimer/LCD_SansSerif24a.cpp Im o.g. Beispiel ist die Codierung ein recht spelzielles RLE, daher vielleicht nicht von allgemeinem Interesse. Deshalb wurde der Generator nie veröffentlicht.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.