Guten Abend,
ich habe mich in der letzten Zeit mit der GLCD Lib von Holger
beschäftigt. Jetzt, da alles soweit klappt, wollte ich einen größeren
Zeichensatz verwenden. Ich habe dazu den Fontgenerator von Ape
verwendet. Leider passt die exportierte Datei nicht zur Lib von Holger.
Ich hab's versucht anzupassen, hat aber nicht funktioniert da ich den
Aufbau noch nicht so ganz verstanden habe. Hat schon mal einer von Euch
für o.g. Lib eine Windows Schriftart erzeugt? Frage auch @Holger: (falls
Du hier mitliest) Wie hast Du Deine Schriftarten erzeugt.
Meine Frage nochmal konkret: Wie bekomme ich z.B. Arial 24pt bold so
kodiert, dass sie als *.c in die Holger-Lib einzubinden ist?
P.S. das kleine Tool bmp2c funktioniert prima - Grafiken darstellen geht
Klasse - aber mit Schriftarten sehe ich nicht durch.
Danke!
Gruß Holger
Bei der ape-lib liegt das "unterste" Bit eines Buchstaben immer auf bit
0 des unteren bytes. Das Byte wird entsprechend verschoben - warum auch
immer. Wenn man die bits 1:1 auf die Displaypixel abbildet, wie es die
lib von Holger Klabunde macht, haben die Buchstaben eine Lücke. Das
funktioniert nicht zusammen.
Da aber sowohl die lib, als auch der Fontgenerator im sourcecode
vorliegen, kann man das alles anpassen.
Oliver
@ Holger
>Frage auch @Holger: (falls>Du hier mitliest) Wie hast Du Deine Schriftarten erzeugt.>Wie bekomme ich z.B. Arial 24pt bold
Das ist das Problem. Windows Fonts sind proportional Fonts.
Also Buchstaben mit variabler Breite. Das Programm kann im
Moment aber nur fixed Fonts. D.h. Buchstaben mit konstanter
Breite. Für proportional Fonts müsste fontsoft.c
komplett neu geschrieben werden.
Sieht doch schon fast gut aus...
Die ape-lib hängt an jeden Buchstaben immer noch eine Spalte Leerpixel
an. Dann kleben die Buchstaben nicht so aneinander.
Ausserdem hat der font-editor eine Macke bei der Ermittlung der Breite
des Leerzeichens. Da muß man schonmal von Hand nachbessern.
Oliver
@ Oliver
>Die ape-lib hängt an jeden Buchstaben immer noch eine Spalte Leerpixel>an. Dann kleben die Buchstaben nicht so aneinander.
Tu ich doch.
>Ausserdem hat der font-editor eine Macke bei der Ermittlung der Breite>des Leerzeichens. Da muß man schonmal von Hand nachbessern.
Bei meiner Version vom Fonteditor wird gar kein Leerzeichen
in den Font eingebaut! Da hab ich mich schon drüber geärgert.
Jetzt hab ich nen Font gefunden WO es drin ist. Das haut
mir doch glatt die Berechnungen durcheinander.
Gibts da was aktuelleres als GLCD FontCreator 2?
Sorry, ich hatte mich verzählt... Der ape-Font kam einen später.
Ist doch alles richtig.
Das Leerzeichen ist in den ape-Fonts drin (gleich das erste Zeichen,
wenn der Font defaultmässig mit 0x20/dez 32 anfängt), hat aber wegen
eines Fehlers im Fonteditor immer die Breite 0x00.
Das kann man von Hand in einen passenden Wert ändern, und muß dann unter
"//font data" eine Zeile mit entsprechenden vielen Nullen (Zeichenbreite
* Fonthöhe/8) hinzufügen.
Einen aktuelleren Fonteditor gibt es nicht, wohl aber die Javasourcen
dazu. Ich hab mir den mal etwas umgebaut, und dabei auch den
Leerzeichenfehler behoben. Da ich aber noch mehr Änderungen eingebaut
habe, ist der leider für jemand anders nicht so einfach zu gebrauchen.
Oliver
>"//font data" eine Zeile mit entsprechenden vielen Nullen (Zeichenbreite>* Fonthöhe/8) hinzufügen.
Das ist allerdings ne lästige Sache da noch mal Hand anlegen zu müssen.
>Einen aktuelleren Fonteditor gibt es nicht, wohl aber die Javasourcen>dazu. Ich hab mir den mal etwas umgebaut, und dabei auch den>Leerzeichenfehler behoben. Da ich aber noch mehr Änderungen eingebaut>habe, ist der leider für jemand anders nicht so einfach zu gebrauchen.
Zier dich nicht so. Her damit. Ich gewöhn mich an alles ;)
Na dann,
da meine Version die Fonts ohne das verschobene unterste Byte ausgibt
(ich hab mir auch die lib etwas umgebaut), hab ich mal eben die
relevanten Änderungen in die Version 2.0 übernommen, und da eine V 2.1
beta draus gemacht, passend zur Original-ape-lib.
Ist aber nur rudimentär getestet.
Leerzeichen sind jetzt mit der Breite drin, wie sie vom Windowsfont
vorgegeben werden. Ausserdem lässt sich per Edit der Fontnamen
nachträglich ändern, und die Berechnung der Fontgröße stimmt jetzt auch.
Falls was nicht funktioniert, bitte meckern, oder gleich verbessern.
Alle sourcen, auch die Originale von apetech, hab ich dazugepackt.
Oliver
holger wrote:
> Hi Holger,>> probier mal den Anhang. Könnte klappen.> Is noch ganz warm ;)
Das ist nicht warm, das ist total HEISS !!!!! geht prima.
> ...hab ich mal eben die> relevanten Änderungen in die Version 2.0 übernommen, und da eine V 2.1> beta draus gemacht, passend zur Original-ape-lib.
Also meine Bewunderung ist Euch beiden sicher!
Gruß Holger
P.S.
Eine kleine Bemerkung am Rande: ich habe mich mal ausgiebig mit dem
Busy Bit beschäftigt, weil ich es halt aus Interesse einfach wissen
wollte. Das Datenblatt ist da wirklich unklar. Nach Datenblatt Seite 11
RS=L, RW=H und nach Seite 12,Punkt 5 E=H...450ns...E=L, dann DB7 auf H
(= busy) testen. Geht aber auch nicht. Nach Seite 4 (Pinbeschreibung)
Pin E: "Daten können gelesen werden solange E=H" also so wie im
Originalentwurf von Holger. Ich hab auch noch probiert beide CS auf L zu
legen - nix. DB7 zieht nie nach L, habs mit Oszi getestet. Nur die
Bildunterschrift Seite 12 mit den Frequenzen versteh ich nicht.
Komisch... lassen wir es einfach weg, wie Holger schon geschrieben
hat...
Auf jeden Fall nochmal Danke für Eure Arbeit!
@ Oliver
Erstmal danke für deine Mühen den FontCreator zu reparieren !
Klappt prima.
@ Alle anderen
Hat es noch keiner gemerkt ?
>da meine Version die Fonts ohne das verschobene unterste Byte ausgibt
Genau das konnte mein altes Programm nicht richtig darstellen.
Das wurde jetzt behoben. Ich hab noch ein Circle.c ohne sin()
cos() hinzugefügt. Spart doch einiges an Flash.
Das hinzufügen von Fonts wurde etwas vereinfacht.
fontsoft.c wurde aufgeräumt.
Viel Spaß damit
holger
Hallo
Ich bin auch gerade dabei ein GLCD zum laufen zu bringen.
Was mich aber an der Lib von Holger stört, dass der Bildaufbau extrem
lange dauert, sodass man sieht wie jeder einzelne Buchstabe geschrieben
wird.
Habe ich da nur einen Fehler gemacht oder ist das immer so?
Mit der Lib von Apetech ist ein Bild sofort aufgebaut.
Sonst finde ich die Lib echt super.
Moin, probier mal diese Version. Wenn der Buchstabe
auf einer Y-Position wie 0,8,16,24... beginnt gehts nun
erheblich schneller. Das gleiche gilt für Bitmaps.
Ansonsten auch mal in ks108.h mit KS108_E_DELAY
rumspielen.
Viel Spaß
holger
Nachtrag:
Hast du das hier beachtet ?
//Note: 1. F_CPU im makefile definieren, 2. Optimization ein
#include <util/delay.h>
Also wenigstens ein -01 muss im makefile stehen.
Mit -O0 kanns gut sein das in Zeitlupe gepixelt wird.
@Oliver,
Hallo Olive (und alle anderen).
Habe FontCreator 2.1 runtergeladen.
Dabei ist mir aufgefallen, dass es keine Möglichkeit mehr gibt den
Export umzuschalten, wie es in der Version 1 war
(Export Font Bit/Byte)
/Exprt Font Byte/Bit)
Hast du das einfach weggelassen und festgesetzt, oder gibt es schon eine
neuere Version ?
noeppkes ...
>Dabei ist mir aufgefallen, dass es keine Möglichkeit mehr gibt den>Export umzuschalten, wie es in der Version 1 war
Falls sich das auf den Fonteditor von APE bezieht, dessen Version 1 habe
ich nie gesehen oder gehabt. Ich kenne nur die Version 2, und bei der
scheint es solch eine Funktion nicht zu geben.
Was hat die denn in der Version 1 genau gemacht?
Oliver
Nabend,
ich weiß das dieser Thread schon etwas älter ist..
Jedoch habe ich gerade massive Probleme bei der Benutzung dieser Art von
Fonts.
Das mit der Höhe der Zeichen verstehe ich noch nicht ganz...
Kann mir das nochmal jemand erklären?
Gibt es vielleicht einen Beispielkode, wo ich mir mal was abschauen
könnte?
Speziell geht es mir darum die Zeichen in einen "VRAM" zu schreiben.
Mfg
Jan
Jan H. schrieb:> Gibt es vielleicht einen Beispielkode, wo ich mir mal was abschauen> könnte?
Müssen es denn genau diese Fonts sein, die in diesem Uralt-Thread
gepostet wurden? Ich geb dir mal was zum Lesen, sowohl was Fonts
betrifft als auch artverwandt was Bilder betrifft.
Und nochwas: Die "Lernbetty" (hier im Forum zu finden) ist ja nun auch
schon 6 Jahre alt und seit dieser Zeit sollten die Leute hier endlich
gelernt haben, wie man Fonts und Grafikdisplays handhabt.
W.S.