Forum: Mikrocontroller und Digitale Elektronik 5x8 Pixel Font für LCD (auch kyrillisch/griechisch)


von Flohh (Gast)


Lesenswert?

Hallo.
Ich suche einen 5x8 Pixel Font für ein LCD.
Es sollen jedoch auch kyrillische, griechische, osteuropäische Zeichen 
usw. unterstützt werden. Also ISO-8859-1 bis -15.

Bei den Windows Schriftarten ist das ja fast immer so. Aber wo finde ich 
eine Schriftart für ein LCD ?
Im Prinzip ginge auch ein Pixel Font (TTF). Das dann in ein *.h File 
konvertieren bekomme ich hin.

*** Flohh ***

von Karl H. (kbuchegg)


Lesenswert?

Hmm. Kram mal in der Codesammlung.
Kann mich dunkel an ein Programm (oder einen Link) erinnern, das 
LCD-Zeichensätze aus Windows-Fonts generieren konnte.

von Karl H. (kbuchegg)


Lesenswert?

Vielleicht kannst du damit was anfangen

http://www.mikrocontroller.net/articles/AVR_Softwarepool#LCD_und_VFD
Beitrag "Programm zum Erstellen eigener Schriftarten (LCD)"
Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen )"

Im letzten Artikel könnte vor allem der letzte Beitrag für dich 
interessant sein

von Flohh (Gast)


Lesenswert?

Hallo Karl heinz,
vielen Dank für die Antwort. Ich suche aber vor allem eine LCD 
Schriftart. Ein TTF Font, oder ähnliches. Oder auch ein BMP.
Also eher "Futter" für die von Dir erwähnten Tools.

*** Flohh ***

von Karl H. (kbuchegg)


Lesenswert?

Flohh wrote:
> Hallo Karl heinz,
> vielen Dank für die Antwort. Ich suche aber vor allem eine LCD
> Schriftart. Ein TTF Font, oder ähnliches. Oder auch ein BMP.
> Also eher "Futter" für die von Dir erwähnten Tools.

Hast du doch auf deinem Windows PC haufenweise zur Verfügung :-)
Such dir aus dem Windows/Fonts Verzeichnis aus was dir gefällt.

von Flohh (Gast)


Lesenswert?

Ja. Aber leider sehen die bei 5x8 immer so schlecht aus.

Aber ich habe eben hier:
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html

welche im BDF Format gefunden. Jetzt muss ich mir nur noch ein 
Progrämmchen schreiben, das das BDF Format lesen kann. BDF scheint genau 
das richtige für LCDs zu sein.

*** Flohh ***

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

TTF ist kein Pixelfontformat, sondern ein Outlineformat ähnlich zu 
Type1. Zwar gibt es Programme, die das in Pixelfonts umrechnen können, 
bei einer "Auflösung" von 5x8 ist das aber komplett witzlos. Damit dort 
die Zeichen überhaupt noch erkennbar sind, müssen die gezielt gezeichnet 
werden. Verschiedene Schriftarten oder -Schnitte sind bei dieser 
"Auflösung" erst recht nicht denkbar.

von Flohh (Gast)


Lesenswert?

... deshalb scheint BDF genau das Richtige zu sein ...

von Sergey (Gast)


Angehängte Dateien:

Lesenswert?

Hier ein 256 Zeichen Design (CHARGEN.BIN). Gedacht war es, um es in ein 
2716 EPROM zu brennen als CG-ROM eines Video-Generators.

Das Format ist 6x8 (meistens 5x7 + Zwischenraum, aber manche Zeichen wie 
das kyrillsche D ("Д") gehen in den Zwischenraum hinein.

Es sind enthalten:
- ASCII-konformer Zeichensatz
- Box-Draw Zeichen, Pfeile, Balken, ... (nicht standardkonform)
- Diverse Symbole (Winkel, Grad, Integral, Wurzel, Glocke, Alpha, Beta, 
Gamma, My, Euro, Yen/Yuan)
- Kyrillsche Zeichen Russisch + Serbisch (nicht standardkonform wie 
KOI-8, sondern nur jene Zeichen, die nicht genauso aussehen wie die 
lateinischen)
- Umlaute (Deutsch + Türkisch)

Alle Zeichen wurden von mir selbst gezeichnet, damit sie gut aussehen :)

Inhalt CHARGEN.TGZ (Tar+GZip):
chargen.bin => ROM-Image
chargen.gif => Vorschau-Bild

von Sergey (Gast)


Angehängte Dateien:

Lesenswert?

Hier die Vorschau als GIF extra

von Chris (Gast)


Lesenswert?

Hallo,

ich bin auf der Suche nach einem 5x8 Zeichensatz mit kyrillischen 
Zeichen und wollte mal fragen ob

a) Flohh eventuell etwas gefunden hat inzwischen
b) Sergey seinen Satz eventuell auch als C kompatible Datei hier 
reinstellen könnte.

Ansonsten bin ich für Tipps dankbar, bevor ich alle Zeichen selber 
zeichne.

Chris

von Sergey (Gast)


Lesenswert?

Hallo, ich konvertiere das irgendwann vielleicht, aber bis dahin sollte 
es eigentlich ganz einfach mit einer Routine so wie dieser hier 
funktionieren:

So in etwa wie das:
  for(int i=0;i<16;i++)
  printf(hex+i*2,"%02x", frame[i]);

sprintf oder printf, je nachdem. Einfach printf und dann in eine Datei 
umleiten.

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.