Поддержка шрифта на экране Bytemap
Этот репо предоставляет код для чтения и отображения растровых шрифтов в формате «Bytemap Font» (BMF), как описано здесь: https://bmf.php5.cz/?page=format
Он также включает в себя некоторые образцы файлов шрифтов, которые, как я считаю, находятся в открытом доступе. Вы можете найти еще тысячи на веб -сайте выше.
Используйте этот код с Mini Micro. Mini Micro-это веселый, бесплатный виртуальный компьютер в стиле ретро, основанный на мини-мышке, который сам по себе является чистым, простым, современным языком сценариев.
Поместите файл 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 (Arial 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
Обратите внимание, что это должно быть сделано, прежде чем печать с шрифтом, так как изображения символов кэшируются. Вы всегда можете загрузить свежий объект шрифта, чтобы нарисовать новый цвет.
Или вы можете подкрасить шрифты, когда вы нарисуете их, точно так же, как тонирование спрайта или использование цвета оттенка с помощью Drawmage. Для этого предоставьте дополнительные параметры scale и color в Font.print .
Этот код поддерживает как версию 1.1, так и версию 1.2 формата BMF. Версия 1.2-это недавнее, но значительное обновление, добавляющее поддержку символов Unicode, не являющихся ASCII, кернина и альфа-канала для сэлиасных шрифтов.
Этот репо включает в себя папку util с парой коммунальных программ. Они не нужны во время выполнения, но могут быть полезны для вас при подготовке собственных шрифтов. Это: