Soporte de fuente de pantalla de BytEmap para Mini Micro
Este repositorio proporciona código para leer y renderizar fuentes de mapa de bits en el formato "Fuente ByTemap" (BMF), como se describe aquí: https://bmf.php5.cz/?page=format
También incluye algunos archivos de fuentes de muestra que creo que están en el dominio público. Puede encontrar miles más en el sitio web anterior.
Use este código con Mini Micro. Mini Micro es una computadora virtual divertida, gratuita y de estilo retro basada en Miniscript, que es en sí mismo un lenguaje de secuencias de comandos limpio, simple y moderno.
Coloque el archivo bmffonts.ms en algún lugar de su ruta de importación (el directorio de trabajo actual funcionará; /usr /lib también es un buen lugar). Luego use import "bmfFonts" para cargar el módulo bmffonts y bmfFonts.Font.load para cargar una fuente.
import "bmfFonts"
// Load a font
f = bmfFonts.Font.load("fonts/ming.bmf")
// Print a string in that font to gfx
f.print "Hello world!", 20, 500
// Get a character image, and make a Sprite out of it
spr = new Sprite
spr.image = f.getCharImage("R")
spr.x = 600
spr.y = 500
spr.scale = 3
spr.rotation = 30
display(4).sprites.push spr
El método Font.print también toma un parámetro scale opcional (predeterminado a 1.0), lo que le permite imprimir más grande o más pequeño que el predeterminado.
Si ejecuta bmfFonts.demo (o carga y ejecuta el módulo directamente en lugar de usar import ), buscará la carpeta de fuentes y dibujará una cadena con cada una. La fuente final se dibujará a una escala 3x en la parte inferior de la pantalla. El resultado debería verse algo así:

Puedes recolorar una fuente cambiando su paleta. Esto funciona especialmente bien con las fuentes en escala de grises, como fonts/ari14b.bmf (arial 14pt Bold). Ejemplo:
font = bmfFonts.Font.load("fonts/ari14b.bmf")
n = font.palette.len
for i in range(1,n)
f.palette[i-1] = color.lerp(color.black, color.lime, i/n)
end for
font.print "Hello world!", 100,100
Tenga en cuenta que esto debe hacerse antes de imprimir con la fuente, ya que las imágenes del personaje se almacenan en caché. Siempre puede cargar un objeto de fuente fresco para dibujar en un nuevo color.
O bien, puede tinte de las fuentes mientras las dibujas, al igual que teñir un sprite o usar un color de tinte con Drawimage. Para hacer esto, suministre los parámetros opcionales scale y color a Font.print .
Este código admite tanto la versión 1.1 como la versión 1.2 del formato BMF. La versión 1.2 es una actualización reciente pero significativa, que agrega soporte para caracteres Unicode no ASCII, kerning y un canal alfa para fuentes antialiasadas.
Este repositorio incluye una carpeta util con un par de programas de utilidad. Estos no son necesarios en tiempo de ejecución, pero pueden ser útiles para la preparación de sus propias fuentes. Estos son: