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.
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.
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.
Eine eigene Frage?
Dieser Thread ist über 11 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.