AdafruitGFXFontTool
Un creador de fuentes personalizado para microcontroladores que utilizan el formato de fuente Adafruit GFX
Cómo instalar o construir y ejecutar el proyecto
Requisitos de tiempo de ejecución:
- Cualquier computadora con Windows (escritorio/portátil)
- Marco .NET 4.8
Requisitos de construcción:
- Cualquier computadora con Windows (escritorio/portátil)
- Estudio visual 2022
- Marco .NET 4.8
Descargando y ejecutando el proyecto
- Descargue el proyecto prediseñado y listo para ejecutar en AdafruitGFXFontTool -Releases
- Descomprimir Release.zip
- Abra la carpeta Release y ejecute AdafruitGFXFont.exe
Construyendo y ejecutando el proyecto.
- Descargue y extraiga la carpeta del código fuente.
- Abra AdafruitGFXFont/AdafruitGFXFont.csproj en Visual Studio 2022
- En Visual Studio, seleccione Generar->Crear solución
- El proyecto se construirá en AdafruitGFXFontbinDebug o AdafruitGFXFontbinRelease (depuración por defecto)
- El ejecutable generado se llamará AdafruitGFXFont.exe
Usando el proyecto
Tienes dos opciones al comenzar con el proyecto. Ya sea creando su propia fuente personalizada con Establecer configuración de fuente o importando una fuente con Importar fuente
Al importar una fuente personalizada, todas las propiedades de la fuente: rango de caracteres, nombre y altura, también se importarán automáticamente
Al crear una nueva fuente, deberá elegir estas variables usted mismo
- El nombre de la fuente puede ser cualquier nombre de variable válido en las Reglas de C/C++ para nombrar variables
- La altura de la fuente debe ser un número (0-255) como uint8_t. Nota: la altura de la fuente solo se usa para determinar la distancia de la nueva línea (también conocido como yAdvance)
- El rango mínimo y máximo determina el rango de caracteres UTF-8 que se incluirán en la fuente. El rango se puede ingresar como un número (0-65535) o un número hexadecimal (0x00-0xfFF) como uint16_t.
- Cuando todas las variables hayan sido ingresadas como lo desea, presione Enviar
Debajo de la etiqueta "Elegir carácter" hay un menú desplegable con todos los caracteres disponibles en el rango de fuentes, enumerados en formato (int/hex = char). Elija uno para comenzar.
Después de elegir un personaje, puedes cambiar las propiedades del personaje:
- Ancho: El ancho (x tamaño de coordenadas) de tu personaje - un número (0-255) como uint8_t
- Altura: La altura (tamaño de la coordenada y) de tu personaje - un número (0-255) como uint8_t
- xAdvance: la cantidad de píxeles para mover el cursor (coordenada x) después de dibujar el personaje: un número (0-255) como uint8_t
- xOffset: la cantidad de movimiento aplicado al cursor (coordenada x) antes de dibujar el carácter (no afecta al cursor después de dibujar): un número (-128-127) como int8_t
- yOffset: la cantidad de movimiento aplicado al cursor (coordenada u) antes de dibujar el carácter (no afecta al cursor después de dibujar): un número (-128-127) como int8_t Después de elegir las variables deseadas, haga clic en Aplicar nuevas opciones de caracteres
Al aplicar nuevas propiedades de personaje, el personaje dibujado previamente se borrará, lo que deja una serie de cuadrados blancos en el punto más a la derecha de la pantalla.
¡Haz clic en los cuadrados para empezar a pintar! al hacer clic, los cuadrados cambiarán de blanco a negro, donde el negro son los píxeles que se dibujarán
Nota: Los cuadrados se crean a partir de una serie de elementos C# PictureBox, que son muy ineficientes para esta tarea, pero fáciles de depurar y desarrollar. Esto significa que habrá un retraso en la rapidez con la que puedes hacer clic en el mismo cuadrado varias veces.
Cuando haya terminado de pintar los caracteres deseados, haga clic en Crear fuente y elija una carpeta.
Esto generará un único archivo en la carpeta llamada "{fontname}GFXFONT.h".
Cuando este archivo de encabezado se importa a un proyecto, se puede hacer referencia al elemento GFXfont como el nombre de fuente establecido al principio.
Recursos
- Biblioteca de gráficos Adafruit GFX
- Biblioteca LED Matrix que utilicé para esta fuente: ESP32-HUB75-MatrixPanel