Dukungan Font Layar Bytemap untuk Mini Micro
Repo ini menyediakan kode untuk membaca dan membuat font bitmap dalam format "bytemap font" (BMF), seperti yang dijelaskan di sini: https://bmf.php5.cz/?page=format
Ini juga termasuk beberapa file font sampel yang saya yakini berada di domain publik. Anda dapat menemukan ribuan lagi di situs web di atas.
Gunakan kode ini dengan Mini Micro. Mini Micro adalah komputer virtual bergaya retro yang menyenangkan, berdasarkan pada Miniscript, yang merupakan bahasa skrip yang bersih, sederhana, dan modern.
Tempatkan file bmffonts.ms di suatu tempat di jalur impor Anda (direktori kerja saat ini akan lakukan; /usr /lib juga merupakan tempat yang baik). Kemudian gunakan import "bmfFonts" untuk memuat modul bmffonts, dan bmfFonts.Font.load untuk memuat font.
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
Metode Font.print juga mengambil parameter scale opsional (default ke 1.0), memungkinkan Anda untuk mencetak lebih besar atau lebih kecil dari default.
Jika Anda menjalankan bmfFonts.demo (atau memuat dan menjalankan modul secara langsung alih -alih menggunakan import ), itu akan mencari folder font, dan menggambar string dengan masing -masing. Font akhir akan ditarik pada skala 3x di bagian bawah layar. Hasilnya seharusnya terlihat seperti ini:

Anda dapat mengulangi font dengan mengubah paletnya. Ini bekerja sangat baik dengan font grayscale, seperti fonts/ari14b.bmf (Arial 14pt tebal). Contoh:
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
Perhatikan bahwa ini harus dilakukan sebelum dicetak dengan font, karena gambar karakter di -cache. Anda selalu dapat memuat objek font segar untuk menggambar warna baru.
Atau, Anda dapat mewarnai font saat menggambarnya, seperti menyisir sprite atau menggunakan warna warna dengan drawImage. Untuk melakukan ini, berikan scale opsional dan parameter color ke Font.print .
Kode ini mendukung versi 1.1 dan versi 1.2 dari format BMF. Versi 1.2 adalah upgrade terbaru namun signifikan, menambahkan dukungan untuk karakter unicode non-ASCII, kerning, dan saluran alfa untuk font anti-alias.
Repo ini termasuk folder util dengan beberapa program utilitas. Ini tidak diperlukan saat runtime, tetapi mungkin membantu Anda dalam menyiapkan font Anda sendiri. Ini adalah: