Forum: Mikrocontroller und Digitale Elektronik Fontgenerator für LED-Matrix 8x16 gesucht


von Gerhard (Gast)


Lesenswert?

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 ?

von Karl H. (kbuchegg)


Lesenswert?

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
von Karl H. (kbuchegg)


Lesenswert?


von Georg (Gast)


Lesenswert?

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

von W.S. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Dot (Gast)


Angehängte Dateien:

Lesenswert?

Anbei mal was, das helfen könnte. Habe ich mal auf der Arbeit 
gebraucht..

Grüsse

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.