www.mikrocontroller.net

Forum: Compiler & IDEs GLCD LIB Holger Klabunde Zeichnsatz


Autor: Holger Gerwenat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste doch mal die Font *.c oder *.h Datei
vom Fontgenerator.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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.

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Holger,

probier mal den Anhang. Könnte klappen.
Is noch ganz warm ;)


Gruß
 Holger

PS: Kann jetzt nur noch die APE Fonts !

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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?

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>"//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 ;)

Autor: Oliver (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Holger Gerwenat (holli1195)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Zeroeightfifteen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: noeppkes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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 ...

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.