Bytemap -Bildschirm -Schriftart für Mini -Micro
Dieses Repo bietet Code zum Lesen und Rendern von Bitmap -Schriftarten im Format "Bytemap Font" (BMF), wie hier beschrieben: https://bmf.php5.cz/?page=format
Es enthält auch einige Beispiel -Schriftdateien, die meiner Meinung nach gemeinfrei sind. Auf der obigen Website finden Sie Tausende weitere.
Verwenden Sie diesen Code mit Mini Micro. Mini Micro ist ein lustiger, kostenloser virtueller Computer im Retro-Stil, der auf Miniskript basiert, das selbst eine saubere, einfache, moderne Skriptsprache ist.
Platzieren Sie die BMFFONTS.MS -Datei irgendwo in Ihrem Importpfad (das aktuelle Arbeitsverzeichnis ist ebenfalls ein guter Ort). Verwenden Sie dann import "bmfFonts" , um das BMFFONTS -Modul zu laden, und bmfFonts.Font.load um eine Schriftart zu laden.
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
Die Methode Font.print nimmt auch einen optionalen scale (Standardeinstellungen auf 1.0) an, sodass Sie größer oder kleiner als die Standardeinstellung drucken können.
Wenn Sie bmfFonts.demo ausführen (oder das Modul direkt ausführen und direkt ausführen, anstatt import ), wird nach dem Ordner der Schriftarten gesucht und mit jedem eine Zeichenfolge zeichnen. Die endgültige Schriftart wird am unteren Rand des Bildschirms auf 3x -Skala gezogen. Das Ergebnis sollte ungefähr so aussehen:

Sie können eine Schriftart wiederholen, indem Sie ihre Palette ändern. Dies funktioniert besonders gut mit Graustufen -Schriftarten wie fonts/ari14b.bmf (Arial 14PT BOLD). Beispiel:
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
Beachten Sie, dass dies vor dem Drucken mit der Schriftart erfolgen muss, da die Zeichenbilder zwischengespeichert werden. Sie können jederzeit ein frisches Schriftobjekt laden, um eine neue Farbe zu zeichnen.
Oder Sie können Schriftarten während des Zeichnens tönt, genau wie ein Sprite oder eine Farbfarbe mit Drawage. Geben Sie dazu die optionale scale und color an Font.print an.
Dieser Code unterstützt sowohl Version 1.1 als auch Version 1.2 des BMF -Formats. Version 1.2 ist ein aktuelles, aber erhebliches Upgrade, das Unterstützung für Nicht-ASCII-Unicode-Zeichen, Kerning und einen Alpha-Kanal für anti-aliassed-Schriftarten hinzufügt.
Dieses Repo enthält einen util -Ordner mit einigen Dienstprogrammen. Diese werden zur Laufzeit nicht benötigt, können aber für Sie hilfreich sein, um Ihre eigenen Schriftarten vorzubereiten. Diese sind: