ผู้ใช้ GitHub บัญชี ading2210 เปิดโครงการ linuxpdf พอร์ตลินุกซ์ทั้งก้อนไปรันในไฟล์ PDF ซึ่งทำได้เพราะไฟล์ PDF มีฟีเจอร์จาวาสคริปต์ในตัว ทำให้สามารถคอมไพล์โค้ดภาษา C ไปรันเป็นจาวาสคริปต์ได้
แม้จาวาสคริปต์จะเป็นฟีเจอร์ของไฟล์ PDF แต่แต่ละอิมพลีเมนต์ก็มีฟีเจอร์ต่างกันมาก โดย Acrobat Reader มีฟีเจอร์จำนวนมาก สามารถเข้าถึง API 3 มิติหรือดึงข้อมูลจากอินเทอร์เน็ตได้ แต่เอนจินอื่นๆ ที่ใช้งานในเบราว์เซอร์มักอิมพลีเมนต์เพียงฟีเจอร์พื้นฐาน
การพอร์ตครั้งนี้อาศัยการคอมไพล์ลินุกซ์ให้เป็น asm.js โดยคอมไพล์โครงการ TinyEMU ที่จำลองการทำงานของชิป RISC-V ก่อน แล้วค่อยคอมไพล์ลินุกซ์ขึ้นมารัน คนทั่วไปสามารถทดลองได้ทันทีเพียงเปิดไฟล์ PDF ขึ้นมาใช้ดูในเบราว์เซอร์
ตัว ading2210 ทำโครงการน่าสนใจมาก่อนหน้านี้หลายโครงการ เช่น DoomPDF รันเกม Doom ใน PDF แบบเดียวกัน หรือ WISP protocol สำหรับการพรอกซี่ TCP/UDP ผ่าน WebSocket
ที่มา - LinuxPDF
![No Description No Description](https://www.bbimg.me/data/attachments/1/1094-95c16c2c084011e2739e2b38ba544eb3.jpg?hash=idVd3jthp6)
Topics:
Linux
PDF
Continue reading...
แม้จาวาสคริปต์จะเป็นฟีเจอร์ของไฟล์ PDF แต่แต่ละอิมพลีเมนต์ก็มีฟีเจอร์ต่างกันมาก โดย Acrobat Reader มีฟีเจอร์จำนวนมาก สามารถเข้าถึง API 3 มิติหรือดึงข้อมูลจากอินเทอร์เน็ตได้ แต่เอนจินอื่นๆ ที่ใช้งานในเบราว์เซอร์มักอิมพลีเมนต์เพียงฟีเจอร์พื้นฐาน
การพอร์ตครั้งนี้อาศัยการคอมไพล์ลินุกซ์ให้เป็น asm.js โดยคอมไพล์โครงการ TinyEMU ที่จำลองการทำงานของชิป RISC-V ก่อน แล้วค่อยคอมไพล์ลินุกซ์ขึ้นมารัน คนทั่วไปสามารถทดลองได้ทันทีเพียงเปิดไฟล์ PDF ขึ้นมาใช้ดูในเบราว์เซอร์
ตัว ading2210 ทำโครงการน่าสนใจมาก่อนหน้านี้หลายโครงการ เช่น DoomPDF รันเกม Doom ใน PDF แบบเดียวกัน หรือ WISP protocol สำหรับการพรอกซี่ TCP/UDP ผ่าน WebSocket
ที่มา - LinuxPDF
![No Description No Description](https://www.bbimg.me/data/attachments/1/1094-95c16c2c084011e2739e2b38ba544eb3.jpg?hash=idVd3jthp6)
Topics:
Linux
Continue reading...