Pango ห่าฝน กระสุนปืน
เมื่อคืนตกใจตื่นขึ้นมากลางดึกกับฝนฟ้าคะนอง แสงฟ้าแลบลอดผ่านหน้าต่างเข้ามาไม่ขาดสาย ฝนเทกระหน่ำแรงมาก ตื่นเช้าขึ้นมา ไฟตก ก็เลยต้องนั่งทำงานมืดๆ ด้วยแบตเตอรีโน้ตบุ๊ก จนสายหน่อยไฟค่อยมาเป็นปกติ ลงมาดูข่าวทีวี ไอ๊หยา ภาคใต้ยิงต่อสู้ผู้ก่อการร้ายตายไป 70 ศพ วันนี้ช่างเริ่มต้นได้ยุ่งเหยิงดีแท้
งานวันนี้ยังคงเป็นเรื่อง OpenType โดยเริ่มทำ pango เป็นเรื่องเป็นราวมากขึ้น
- แกะ pango arab เพื่อดู opentype support เปรียบเทียบกับ indic อืมม์.. คราวนี้ดูรู้เรื่องขึ้น
- หลังจากนั่งคิดอยู่หลายตลบ ว่าจะเพิ่ม opentype ใน thai module ยังไงดี ให้สนับสนุน legacy font ด้วย ก็มีประเด็นดังนี้:
- clustering: ควรคงการจัดเซลล์ตามแบบ วทท ไว้ เพื่อจะได้จัดการลำดับอักขระที่ผิดได้ (เช่น ท + อี + อ่ ต้องแสดงผลต่างจาก ท + อ่ + อี) เมื่อพิจารณา วทท อีกครั้ง พบว่าเพียงพอต่อภาษาบาลีอยู่แล้ว แต่สำหรับภาษากุยนั้น ต้องเพิ่มให้ยอมรับลำดับพิเศษ คือ การประพินทุใต้สระหน้าและสระล่าง
- alternate glyphs: ถ้าในฟอนต์มีชุด glyph สำหรับสระ/วรรณยุกต์ ที่หลบหาง ป ฝ ฟ (ฬ) ก็ควรใช้ตามเดิม แต่ถ้ามีตาราง GSUB/GPOS ช่วย ก็ใช้ร่วมด้วย
- สรุป: ใช้ shaping algorithm เดิมก่อน ซึ่งจะแบ่ง cluster ให้ + เลือก alternate glyphs ให้ถ้ามี จากนั้นจึงใช้ GSUB ตามด้วย GPOS
- ลงมือโค้ด (ยังไม่แตะต้องส่วนของ วทท แค่ให้ใช้ opentype table ได้ก่อน)
- ปัญหาที่พบ:
- หาตาราง GPOS สำหรับสคริปต์ "thai" ไม่เจอ เนื่องจาก fontforge ไม่ยอมให้กำหนด script ใน achor --> แก้ pango ให้หาจาก "DFLT" ไปพลางก่อน
- "ปู่" ยังใช้วรรณยุกต์ตัวสูงอยู่ --> เพิ่ม chain contextual subs rule ในฟอนต์ก็ผ่าน
- "ป่ำ" ยังไม่วางวรรณยุกต์หลบซ้าย --> ปัญหาใน mkmk table?
- "ฎุ" ยังวางสระล่างทับหาง ฎ และ "มิ + อํ" จะวางนิคหิตไว้ใต้สระอิ รวมทั้งไม้ไต่คู้ทับสระบนก็วางผิด --> ยังหาสาเหตุไม่พบ
0 ความเห็น:
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก