Theppitak's blog

My personal blog.

30 กรกฎาคม 2553

ThaiFonts-Scalable 0.4.14

ออก thaifonts-scalable 0.4.14 ไปแล้ววันนี้ หลังจากที่ตกค้างอยู่ใน SVN มาเป็นเวลา 1 ปีเต็ม

การเปลี่ยนแปลงที่สะสมมาก็มี 3 เรื่องหลัก

เรื่องแรกคือ การคัดลอก glyph ของ TlwgTypo ที่ได้ ปรับความหนาด้วยมือไว้ตั้งแต่รุ่นที่แล้ว เข้ามาใน TlwgTypist โดยได้นำมาใช้ใน ThaiLaTeX 0.4.4 ไปก่อนหน้านี้แล้ว รุ่นนี้ก็นำมาแทนที่บนเดสก์ท็อปทั่วไปด้วย

เรื่องที่สอง คือแก้กฎ fontconfig ที่ทำ fallback ให้กับเว็บไทยที่ใช้ฟอนต์ Tahoma และ MS Sans Serif ให้มาใช้ Waree และ Loma ตามลำดับบน GNU/Linux ในกรณีที่ไม่มีฟอนต์ดังกล่าวติดตั้งไว้ แต่กฎดังกล่าวได้ไปมีผลกับเว็บภาษาอังกฤษด้วย ดังที่มีผู้รายงานมาใน LP #434054 สำหรับ Tahoma และ LP #539008 สำหรับ MS Sans Serif โดยในบั๊กแรกได้แก้ไขไปใน Debian/Ubuntu ด้วยการตัดกฎออก แต่สำหรับบั๊กหลังได้พบวิธีที่ไม่ต้องตัดกฎออก เพียงแค่ตรวจสอบภาษาว่าเป็นภาษาไทยหรือไม่ก่อนใช้กฎ ก็เลยใช้วิธีเดียวกันกับทั้งสองบั๊ก

เรื่องที่สาม เป็นการอาศัยช่วงเวลาว่างสั้น ๆ ของผมมาปรับฟอนต์ Garuda ซึ่งพอได้สำรวจ glyph ดูก็พบความไม่สม่ำเสมอของเส้นโค้งต่าง ๆ ราวกับไม่ใช่ดีไซน์เดียวกัน โดยเฉพาะตัวหนา ซึ่งจะเห็นได้ชัดสำหรับอักขระพิเศษของละติน:

ก่อนปรับ: Garuda ละตินตัวหนา ก่อนปรับ

หลังปรับ: Garuda ละตินตัวหนา หลังปรับ

ซึ่งความหนาของเส้นจะกลมกลืนมากขึ้น ตรงนี้มีคำอธิบายว่า เมื่อเริ่มแก้ไขฟอนต์แรก ๆ นั้น ฟอนต์ในชุด ฟช เป็นชุดที่ผมไม่กล้าแตะต้องเท่าไร เนื่องจากเป็นแบบอักษรที่ละเอียดอ่อน ด้วยความรู้ในขณะนั้นจึงไม่กล้าแตะต้องเพราะกลัวทำแบบของเขาเสีย จึงเน้นไปทำในชุด tlwg แทนเสียมากกว่า ตอนนี้เริ่มคิดว่ามีประสบการณ์มากพอแล้วจึงกลับมาดูชุด ฟช มากขึ้น ครั้งนี้จึงลุยปรับเส้นต่าง ๆ ให้สม่ำเสมอกันทั้งฟอนต์ ก็ใช้เวลาไปหลายอาทิตย์เหมือนกัน ฟอนต์สวยปรับยากหน่อยครับ

ผลจากการปรับ ทำให้ฟอนต์ในรูปแบบ OTF (ซึ่งใช้เส้นโค้งแบบ Type 1 ซึ่งเป็น cubic) ดูดีขึ้น:

ก่อนปรับ:
Garuda ตัวหนา OTF ก่อนปรับ

หลังปรับ:
Garuda ตัวหนา OTF หลังปรับ

ส่วน TTF นั้น ไม่ได้ต่างจากเดิมมากนัก:

ก่อนปรับ:
Garuda ตัวหนา OTF ก่อนปรับ

หลังปรับ:
Garuda ตัวหนา OTF หลังปรับ

แต่ก็ขอให้สังเกตที่เครื่องหมายพิเศษ เช่น * [ ] { } เส้นจะดูกลมกลืนกับตัวอักษรอื่นมากขึ้น

อัปโหลดเข้า Debian sid แล้วครับ ส่วน Ubuntu Maverick นั้น เดี๋ยวต้อง request sync จาก Debian อีกที เนื่องจากเลยกำหนด DebianImportantFreeze มาแล้ว

ป้ายกำกับ: ,

3 ความเห็น:

  • 9 สิงหาคม 2553 เวลา 10:40 , Blogger ezybzy แถลง…

    รู้สึกว่าฟอนต์ Garuda ในรุ่นนี้มีปัญหาการแสดงผลใน Mac ครับ ตำแหน่งวรรณยุกต์บนเคลื่อนผิดตำแหน่งจนพาลให้นึกว่าคุณพิมพ์ภาษาไทยผิดทั้ง blog เลยทีเดียว (ต้องลอง disable ตัวอักษรดูแล้วถึงทราบว่า คุณก็พิมพ์ปกติดี)

    ผมไม่ทราบว่านี่เป็นปัญหาดั้งเดิมหรือไม่เพราะเพิ่งลองเอา 0.4.14 มาติดตั้งอีกครั้งหลังจากไม่ได้ติดตั้งมานานพอสมควร

     
  • 9 สิงหาคม 2553 เวลา 11:19 , Blogger Thep แถลง…

    เป็น known issue สำหรับ Mac ครับ การรองรับ OpenType สำหรับภาษาไทยบน Mac จะเพี้ยน ๆ นิดหน่อย ดูเหมือน Mac ทำตาม spec ของ Microsoft/Adobe ไม่ครบ ฟอนต์ OpenType ไทยทั่วไปก็เลยเลี่ยงไปใช้ ligature hack กัน (ซึ่งปกติ ligature จะใช้กับการเชื่อมตัวอักษรแบบเข้าด้วยกันแบบ "fi" ในหนังสือ ไม่ใช่ใช้จัดสระบน-ล่างแบบของไทยโดยเฉพาะ) แต่ปัญหาของ Mac นี้เพิ่งได้รับรายงานทีหลัง หลังจากที่เรา implement ทุกอย่างบนลินุกซ์เรียบร้อยไปแล้ว ไกลเกินกว่าจะย้อนกลับไปได้ครับ ก็คงต้องรอให้ Mac แก้ปัญหานี้ให้ครับ

     
  • 9 สิงหาคม 2553 เวลา 14:49 , Blogger ezybzy แถลง…

    อยากทราบว่าต้อง file bug อะไรไปกับ Apple ครับ จริงๆ บน Mac ก็มีปัญหาภาษาไทยหลายๆ เรื่องครับ ส่งไปก็ค่อนข้างเงียบหายไม่ได้รับการตอบสนองเท่าไร (น่าน้อยใจจริงๆ)

     

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

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

hacker emblem