ตัวอักษรหน้าจอ BAYTEMAP รองรับ MINI MICRO
repo นี้มีรหัสเพื่ออ่านและแสดงฟอนต์บิตแมปในรูปแบบ "BATMAP 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 ) มันจะมองหาโฟลเดอร์แบบอักษรและวาดสตริงด้วยแต่ละอัน ตัวอักษรสุดท้ายจะถูกวาดที่ระดับ 3x ที่ด้านล่างของหน้าจอ ผลลัพธ์ควรมีลักษณะเช่นนี้:

คุณสามารถเปลี่ยนสีแบบอักษรได้โดยการเปลี่ยนจานสี สิ่งนี้ใช้งานได้ดีโดยเฉพาะอย่างยิ่งกับแบบอักษรสีเทาเช่น 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
โปรดทราบว่าสิ่งนี้จะต้องทำก่อนที่จะพิมพ์ด้วยตัวอักษรเนื่องจากภาพตัวละครถูกแคช คุณสามารถโหลดวัตถุฟอนต์สดเพื่อวาดสีใหม่ได้ตลอดเวลา
หรือคุณสามารถย้อมสีแบบอักษรในขณะที่คุณวาดเช่นเดียวกับการย้อมสีสไปรต์หรือใช้สีย้อมสีด้วย drawimage ในการทำเช่นนี้ให้จัดหา scale เสริมและพารามิเตอร์ color ให้กับ Font.print
รหัสนี้รองรับทั้งรูปแบบเวอร์ชัน 1.1 และเวอร์ชัน 1.2 ของรูปแบบ BMF เวอร์ชัน 1.2 เป็นการอัพเกรดล่าสุด แต่มีความสำคัญเพิ่มการสนับสนุนสำหรับอักขระ Unicode ที่ไม่ใช่ ASCII, kerning และช่องอัลฟ่าสำหรับแบบอักษรต่อต้านแอณพลิริด
repo นี้รวมถึงโฟลเดอร์ util ที่มีโปรแกรมยูทิลิตี้สองโปรแกรม สิ่งเหล่านี้ไม่จำเป็นในการรันไทม์ แต่อาจเป็นประโยชน์กับคุณในการเตรียมแบบอักษรของคุณเอง นี่คือ: