|
| Font på lille LCD display Fra : Kim Voss Schrader |
Dato : 13-06-08 15:09 |
|
Hej!
Sidder og roder med et 0.8" display med en SSD1788 controller. Skal have
defineret et par ekstra fonte (har allerede sakset 8x6, 8x8 og 8x16
fonte fra et andet projekt). Hvordan laver jeg nemmest custom fonte med
samme grundprincip som det flg. array? Det viser en 8x8 font hvor
bitmønsteret tegnes pr. linje:
static unsigned char code FONT8x8[97][8] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, // !
0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, // "
....
0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00 // #
....
}
Kunne godt bruge fonte som er 20x35 og 15x26 (specielle størrelser, ved
det). Kunne selvfølgelig tegne dem selv, men der må da være lavet
programmer som kan give mig bitmønstrene uden at jeg skal tegne dem selv?
XFUT dk.edb.programmering.c
--
Mvh, Kim Voss Schrader
| |
Flemming Frandsen (13-06-2008)
| Kommentar Fra : Flemming Frandsen |
Dato : 13-06-08 15:27 |
|
Kim Voss Schrader wrote:
> static unsigned char code FONT8x8[97][8] = {
> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
Hvis du er så heldig at du har en true type font der ser godt ud i den
rigtige størrelse så skal der bare skrives et lille program der renderer
hver glyph og sprøjter et passende array ud.
Hvis du kan Perl så prøv at kigge på GD modulet og stringFT rutinen:
http://search.cpan.org/~lds/GD-2.11/GD.pm
Hvis du ikke kan Perl, så er det på tide du lærer det:)
Hvis det skal se godt ud så lav fonten propertional (mao. lad m være
bredere end i), det er nemt nok, bare gem hver glyph som du har lagt op
til, blot med en bredde-byte for hver glyph, hvis du mangler plads i din
flash kan det også spare en anelse plads da ikke alle tegn er så brede
som m.
| |
Kim Voss Schrader (13-06-2008)
| Kommentar Fra : Kim Voss Schrader |
Dato : 13-06-08 21:13 |
| | |
Ole Geisler (14-06-2008)
| Kommentar Fra : Ole Geisler |
Dato : 14-06-08 13:42 |
|
On Fri, 13 Jun 2008 16:09:19 +0200, Kim Voss Schrader
<usenet1@mumbojumbo.dk> wrote:
>Hej!
>
>Sidder og roder med et 0.8" display med en SSD1788 controller. Skal have
>defineret et par ekstra fonte (har allerede sakset 8x6, 8x8 og 8x16
>fonte fra et andet projekt). Hvordan laver jeg nemmest custom fonte med
>samme grundprincip som det flg. array? Det viser en 8x8 font hvor
>bitmønsteret tegnes pr. linje:
>
>static unsigned char code FONT8x8[97][8] = {
>0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
>0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, // !
>0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, // "
>...
>0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00 // #
>...
>}
>
>Kunne godt bruge fonte som er 20x35 og 15x26 (specielle størrelser, ved
>det). Kunne selvfølgelig tegne dem selv, men der må da være lavet
>programmer som kan give mig bitmønstrene uden at jeg skal tegne dem selv?
>
>
>XFUT dk.edb.programmering.c
Vi bruger http://www.easygui.com/ - kan anbefales
| |
|
|