สุดล้ำ! ฟอนต์ Z80 Sans แปลง Opcode เป็นภาษา Assembly อัตโนมัติด้วยเทคนิค OpenType

สุดล้ำ! ฟอนต์ Z80 Sans แปลง Opcode เป็นภาษา Assembly อัตโนมัติด้วยเทคนิค OpenType

ฟอนต์ Z80 Sans ใช้ประโยชน์จากความสามารถที่ซ่อนอยู่ในมาตรฐาน OpenType โดยเฉพาะ Glyph Substitution Table และ Glyph Positioning Table ซึ่งเป็นองค์ประกอบสำคัญในการกำหนดวิธีการแสดงผลกราฟิกของตัวอักษร หรือที่เรียกว่า 'Glyph' ให้สอดคล้องกับ 'Character' หรือรหัสอักขระที่คอมพิวเตอร์ใช้ภายใน เช่น Unicode

ปกติแล้ว ฟอนต์จะกำหนดความสัมพันธ์แบบตรงไปตรงมาระหว่างตัวอักษรกับกราฟิกที่แสดง แต่ในบางกรณี เช่น ตัวอักษรภาษาอาหรับหรือการเชื่อมคำแบบ Ligature ในภาษาอังกฤษ การแสดงผลกราฟิกอาจต้องเปลี่ยนไปตามตำแหน่งหรือตัวอักษรข้างเคียง Z80 Sans จึงใช้หลักการนี้ในการทำงาน โดยกำหนด Glyph ที่เป็นไปได้ทั้งหมดสำหรับแต่ละ ‘nibble’ (4 บิต) ของ Opcode และใช้ ‘recursive descent parser’ เพื่อสร้างกฎการแทนที่ที่จะแสดงผล Glyph ที่ถูกต้องตามบริบท

การนำฟอนต์มาใช้ในลักษณะนี้เป็นการตอกย้ำถึงความซับซ้อนและความสามารถที่ซ่อนอยู่ในระบบการแสดงผลฟอนต์ ซึ่งหลายคนอาจไม่เคยคาดคิดว่ามันสามารถทำได้ถึงขนาดเป็นภาษา Turing-complete หรือใช้รัน WebAssembly ได้ และยังมีการนำฟอนต์ไปประยุกต์ใช้เพื่อเล่นเกม หรือแม้แต่สื่อสารกับโมเดลภาษาขนาดใหญ่ (LLM) ได้อีกด้วย


🏷️ หมวดหมู่: Software Hacks, font, fonts, glyph, ligature, rendering

🔗 อ่านบทความฉบับเต็ม: hackaday