Dachte ich mir auch, nachdem ich mir in Netz nen Wolf gesucht habe.Mit dem Zeichensatz ist es ja so ene Sache, klar kriegt man im Netz Quellen für Zeichensätze, nur das Problem ist ja, die Bytes sind ja waagerecht angeordned, ich brauche die aber senkrecht, und das noch invertiert(Low aktiv).
Invertieren brauchst du die nicht. Das kannst du zur Laufzeit, ist nur ein ~ und schon kippen alle Bits.
Die Spalten lannst du den Preprozessor drehen lassen *quellen-rumwühl*
Ich find's grad nicht
was in der Richtung:
Das ganze gibt viel Code, der aber vom Compiler komplett zusammengefaltet wird! Die 8 Werte werden zu 5 Bytes, die man in einem Initializer verwenden kann.Code:#define FONTBITS(a,b,c,d,e,f,g) \ { FONTCOL (4, a,b,c,d,e,f,g), \ FONTCOL (3, a,b,c,d,e,f,g), \ FONTCOL (2, a,b,c,d,e,f,g), \ FONTCOL (1, a,b,c,d,e,f,g), \ FONTCOL (0, a,b,c,d,e,f,g) } #define FONTCOL(x,a,b,c,d,e,f,g) \ ( DOT (a,x,0) | \ DOT (b,x,1) | \ DOT (c,x,2) | \ DOT (d,x,3) | \ DOT (e,x,4) | \ DOT (f,x,5) | \ DOT (g,x,6) ) #define DOT(a,x,y) \ (a & (1 << x) ? (1 << y) : 0) // Hier ein 'A', muss natürlich noch in einen Initializer :-) FONTBITS (01110, 10001, 10001, 11111, 10001, 10001, 10001);
So hat man seine Zeichen in 0 und 1 codiert, wie sie später aussehen sollen.
Da ist auch schnell was geändert, wenn's nicht gefällt. Und Invertieren geht durch Anpasen von Dot, andere Rotationsrichtung durch Anpassen von ...
Aber du bist wohl eh schon fertig![]()
Lesezeichen