Forum: Mikrocontroller und Digitale Elektronik GLCD Font Generator


von Mathias M. (aragorn)


Lesenswert?

hallo kennt jemand von euch einen font generator der schriftarten
erzeugen kann, bei denen die buchstaben gleich breit sind? so etwa wie
die courier schriftart in windows! würde auch einen kleinen beitrag
dafür abgeben..

habe bereits diese beiden font generatoren gefunden:

1.) http://dreamsware.info/fontgen/index.html

2.) http://www.apetech.de/article.php?artId=4&nnId=13


Da die Ansteuerung der GLCDs Spaltenweise erfolgt, nützt es mir leider
recht wenig, dass der erstgenannte die fonts zeilenweise ausgibt:

/* 'A' 0x0041 charwidth: 13 */
    0x3F, 0x00,   /*  [  ******     ]  */
    0x07, 0x00,   /*  [     ***     ]  */
    0x0D, 0x80,   /*  [    ** **    ]  */
    0x09, 0x80,   /*  [    *  **    ]  */
    0x08, 0x80,   /*  [           ]  */
    0x18, 0xC0,   /*  [   **   **   ]  */
    0x10, 0xC0,   /*  [   *    **   ]  */
    0x1F, 0xC0,   /*  [   *******   ]  */
    0x30, 0x60,   /*  [  **     **  ]  */
    0x20, 0x20,   /*  [           ]  */
    0x20, 0x20,   /*  [           ]  */
    0xFD, 0xF8,   /*  [****** ******]  */


der zweite font gen gibt sie zwar spaltenweise aus, mann kann aber
keine schriftarten mit gleich breiten buchstaben einbinden!

mfg, Mathias

von Andreas Lang (Gast)


Lesenswert?

Wenn es nur ein einfacher 5x7 oder 10x14er Font sein soll (wie beim
TextLCD bzw. 2x so groß) dann kann man ihn bei www.noritake-itron.com
fertig downloaden. Irgendwo unter "Software".
Ansonsten mal sagen, was das das für ein Font sein soll. Ich habe zwar
kein konkretes Programm aber das eine oder andere Skript, das man dafür
verwursten könnte (leider alle in VisualBasic (=>kann damit jetzt nicht
mehr viel anfangen, weil ich Linux verwende und Windows hochfahren nur
mal eben für nen Font zu lange dauert.)).
Wenn es was hilft, dann kann ich vielleicht mal nen Perlskript
zusammenhacken und hochladen, bei dem man nur nen Font und das
Ausgabefprmat wählen braucht.
Falls das ganze unter Windoof passieren soll, kann man einfach mit z.B.
VB alle Zeichen in eine Picturebox printen und dann Pixelweise samplen.
Ausgabeformat ist dann beliebig.

Wenn's was nützt habe ich auch noch eine Routine, mit der man bei dem
normalen LCD-Font zweichen wie ".", "i" oder "j" in ihrer Breite
anpassen kann, ohne, dass der originalfont modifiziert werden müsste.

von Mathias (Gast)


Lesenswert?

Hallo Andreas!

Erstmal danke für deine Antwort! Da ich ein Display mit 128x32
Auflösung verwende, und acht Zeichen darstellen möchte, darf jedes
zeichen max. 16 Breit und 32 hoch sein!

Sowas in der Art würde recht gut passen:

    /* 'A' 0x0041 charwidth: 16 */
    0x00, 0xC0,   /*  [        **      ]  */
    0x00, 0xC0,   /*  [        **      ]  */
    0x00, 0xC0,   /*  [        **      ]  */
    0x00, 0xC0,   /*  [        **      ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x03, 0x30,   /*  [      **  **    ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0C, 0x0C,   /*  [    **      **  ]  */
    0x0F, 0xFC,   /*  [    **********  ]  */
    0x0F, 0xFC,   /*  [    **********  ]  */
    0x30, 0x03,   /*  [  **          **]  */
    0x30, 0x03,   /*  [  **          **]  */
    0x30, 0x03,   /*  [  **          **]  */
    0x30, 0x03,   /*  [  **          **]  */
    0x30, 0x03,   /*  [  **          **]  */
    0x30, 0x03,   /*  [  **          **]  */

Bei dem Font handelt es sich um Terminal, in der Schriftgröße 28! Wenn
du ein Programm bzw. Routinen hättest, dann würden mir diese sehr
weiterhelfen wenn sie für Windows wären.

Vielen Dank, Mathias

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.