Stap 5: Aangepaste lettertype
8K flitser heeft niet genoeg ruimte voor het opslaan van alle tekens in groot lettertype grootte. (zoals 24 pixels letterhoogte)
Als horloge alleen vereisen 10 digitale tekens, we kunnen kleermaker-merk een geselecteerde lettertype binaire te passen in de beperkte ruimte.
Ik zal imagicmagick opdrachtregelprogramma's gebruiken om te laten zien hoe aangepaste om lettertypetekens te converteren naar een c headerbestand.
Dit programma moet 10 cijfers in 2 tekengrootten, één met lettertype hoogte 8 pixels om te laten zien van cijfers van de datum en één met letterhoogte 24 pixels tot tijd weergeven cijfers:
convert -depth 1 -font Lucida-Sans-Unicode -pointsize 11 label:00123456789 -crop 70x8+7+4 -flip -rotate 90 watch_digit.xbm convert -depth 1 -font Cooper-Black -pointsize 25 label:00123456789 -crop 150x24+14+4 -flip -rotate 90 watch_3x_digit.xbm
Lucida Sans Unicode en Cooper-zwart zijn het lettertype in Windows 7, mag u uw geselecteerde lettertype in uw OS.
De corp, flip en roteren optie ertoe de binaire gegevens in de juiste positie en richting aanpassen. U kunt de uitvoerindeling png om een voorbeeld van de uitvoer-bitmap van xbm veranderen.
Na de xbm-bestanden exporteren, we kunnen het lettertype binaire code kopiëren naar het bronbestand van de watchdigit.h:
#include <avr/pgmspace.h> #define FONTWIDTH 7#define FONT3XWIDTH 15 static const uint8_t watch_digit[] PROGMEM = {//watch_digit.xbm binary code}; static const uint8_t watch_3x_digit[] PROGMEM = {//watch_3x_digit.xbm binary code};
Ref.: