字节屏幕字体支持迷你微型
此存储库提供了“ bytemap font”(BMF)格式中读取和渲染位图字体的代码,如下所述:https://bmf.php5.cz/?page=format
它还包括一些我认为在公共领域中的示例字体文件。您可以在上面的网站上找到数千个。
使用Mini Micro使用此代码。 Mini Micro是基于Miniscript的有趣,免费,复古风格的虚拟计算机,它本身就是一种简洁,简单,现代的脚本语言。
将bmffonts.ms文件放在导入路径中的某个位置(当前的工作目录将执行; /usr /lib也是一个好地方)。然后,使用import "bmfFonts"加载bmffonts模块,然后bmfFonts.Font.load加载字体。
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
Font.print方法还采用可选的scale参数(默认为1.0),使您可以打印大于默认值的大或更小。
如果您运行bmfFonts.demo (或直接加载并运行模块而不是使用import ),它将查找字体文件夹,并在每个文件夹中绘制一个字符串。最终字体将在屏幕底部以3倍比例绘制。结果应该看起来像这样:

您可以通过更改调色板来重新着色字体。这与灰度字体特别效果,例如fonts/ari14b.bmf 14pt Bold)。例子:
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
请注意,这必须在使用字体打印之前完成,因为字符图像被缓存。您随时可以加载一个新鲜的字体对象来绘制新颜色。
或者,您可以在绘制绘制字体时进行色彩色彩,就像涂色精灵或使用绘画颜色的颜色一样。为此,请为Font.print提供可选的scale和color参数。
该代码支持BMF格式的1.1版和1.2版。 1.2版是最近但重大升级,增加了对非ASCII Unicode字符,Kerning和Alpha通道的支持。
该存储库包括一个带有几个实用程序程序的util文件夹。在运行时不需要这些,但可能会对您准备自己的字体有帮助。这些都是: