Paso 5: Fuente personalizada
Flash de 8K no tiene suficiente espacio para almacenar todos los caracteres en tamaño de fuente grande. (como la altura de la fuente de 24 pixeles)
Como el reloj sólo requiere 10 caracteres digitales, podemos adaptar-hacer un tipo de letra seleccionado binario para caber en un espacio limitado.
Voy a utilizar herramientas de línea de comandos imagicmagick para mostrar cómo convertir caracteres de fuente personalizado a un archivo de encabezado de c.
Este programa necesita 10 dígitos en 2 tamaños de letra, uno con los pixeles de altura 8 font para mostrar fecha dígitos y una altura de fuente 24 píxeles a mostrar tiempo dígitos:
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 y Cooper negro son el tipo de letra en Windows 7, puede usar el tipo de letra seleccionado en su sistema operativo.
El corp, flip y opción girar ayudan a ajustar los datos binarios en posición correcta y la dirección. Puede cambiar el formato de salida de xbm a png para la vista previa del mapa de bits de salida.
Después de exportar los archivos xbm, podemos copiar el código binario de la fuente para el archivo de origen 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.: