Theppitak's blog

My personal blog.

08 ตุลาคม 2547

Pango for Mac Fonts

เมื่อวานนี้เน้นนอนพักเป็นหลัก ไม่ได้ไปหาหมอเพราะรู้สึกดีขึ้นบ้างแล้ว ประมาณว่าถ้าได้พักผ่อนเพียงพอก็น่าจะหาย แต่จะให้นอนทั้งวันมันก็ไม่ใช่เวลานอน เลยลุกขึ้นมาทำงานเบาๆ สลับบ้าง โดยทำแค่ลบโค้ดใน Pango ส่วนที่ไม่ได้ใช้แล้วออกเท่านั้น (ช่วยลดขนาดโค้ดลงนิดนึง) แต่ระหว่างนั้น ก็ทำให้คิดถึงตาราง tis620-1 ที่ไม่เคยได้ใช้เลย ก่อนคิดว่าจะลบทิ้งไปด้วย ก็ลองประกาศขอยืมฟอนต์แมคมาทดสอบเสียหน่อย โดยเข้าไปคุยในห้อง #TLWG ก็มีผู้ใจบุญให้ยืมฟอนต์มา และยังชี้ไปยังแหล่งฟอนต์ฟรีของแมคให้ด้วย คิดว่าน่าจะมีประโยชน์ถ้าจำเป็นต้องใช้เป็น test case ใน bugzilla

แต่ก็ขอฟอนต์มาเฉยๆ ยังไม่ลงมือแกะ เพราะกลัวไข้จะกลับมาอีก เลยวางทิ้งไว้แล้วไปนอนต่อ ปรากฏว่า ความที่ค้างคาไว้ เลยทำให้เมื่อคืนฝันแต่เรื่องฟอนต์กับโค้ดส่วน OpenType ดีที่ได้หลับแต่หัวค่ำมาก่อนแล้ว ไม่งั้นคงแย่ ตื่นขึ้นมาปรากฏว่าไข้หายแล้ว เลยจัดการนั่งแกะฟอนต์แต่เช้า แก้ไปแก้มาจน shape ฟอนต์แมคได้ และก็เลยได้แก้การตรวจสอบชนิดฟอนต์ให้ถูกต้องยิ่งขึ้นด้วย

ก่อนจะ commit ก็เกิดเอะใจว่า ฟอนต์ที่ทดสอบนี้เป็นฟอนต์ Unicode แล้ว แต่ยังอยากสร้างตาราง glyph ที่ใช้ภายในให้คล้ายกับฟอนต์ 8 บิตเดิม ก็เลยเข้าห้อง #TLWG มาขอฟอนต์แมค 8 บิตอีก คราวนี้ไม่ได้ฟอนต์ 8 บิต แต่ได้ฟอนต์บน Panther มาแทน เทียบกับฟอนต์ที่ได้เมื่อวานซึ่งเป็นของ Jaguar ก็ทำให้รู้ว่า แท้ที่จริงแล้ว การเพิ่ม glyph ที่ขาดในแมค คือ ญ ฐ ตัดเชิง, สระอุ อู และพินทุต่ำ นั้น น่าจะยังไม่มีการกำหนดเป็น PUA มาตรฐานของ Apple เพราะฟอนต์ใน Panther ไม่ได้ assign ค่า Unicode ให้กับ glyph เหล่านี้เลย ก็เลยจำต้องตัด PUA glyph ชุดนี้ออกจากตาราง glyph ใน Pango shaper ดังนั้น เมื่อบวกกับ glyph อื่นๆ ที่ขาดหายไปจากฟอนต์แมคแล้ว ก็เลยทำให้ฟอนต์แมคขาด feature เมื่อเทียบกับฟอนต์ Windows ดังนี้

  • ไม่มียามักการ (◌๎) ฟองมัน (๏) อังคั่นคู่ (๚) และโคมูตร (๛) เพราะไม่มีในฟอนต์แมคปกติ
  • ไม่ตัดเชิง ญ ฐ เมื่อประกอบกับสระล่าง เช่นในคำว่า กตัญญู ทิฏฐุชุกรรม
  • ไม่เลื่อนสระล่างลงต่ำเมื่ออยู่ใต้ ฎ ฏ เช่นในคำว่า กฎุมพี

ทั้งนี้ การ shape ทั้งหมดนี้ ตั้งอยู่บนข้อสมมุติของการใช้ PUA glyph ซึ่งยังใช้ใน Jaguar แต่สำหรับฟอนต์ของ Panther นั้น Pango ไม่สามารถเข้าถึง PUA glyph ได้ จึงไม่สามารถ shape ได้เลย จนกว่า Pango จะสนับสนุน AAT

จบวันนี้ commit เข้า Pango CVS แก้ไปสองเรื่อง คือการ shape ฟอนต์แมค (ด้วย PUA glyph) และการตรวจสอบชนิดของฟอนต์ที่ถูกต้องยิ่งขึ้น

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem