TlwgTypo Font
แนวคิดหนึ่งที่เกิดขึ้นระหว่างร่วมทำสุริยัน คือการปรับฟอนต์ monospace ของไทย จากที่เคยแยกเป็น monospace แท้ (เช่น TlwgMono) ที่ทุก glyph กว้างเท่ากันหมด ไม่เว้นแม้แต่สระบน-ล่าง กับ monospace เทียม (เช่น TlwgTypewriter และ TlwgTypist) ที่ให้ glyph ของสระบน-ล่างกว้างเท่ากับศูนย์ นอกนั้นกว้างเท่ากันหมด มาเป็นฟอนต์ monospace ชุดเดียว ที่วาดได้ทั้งสองแบบ
แนวคิด ได้มาจาก DejaVu ที่เขาทำ glyph เป็น monospace แท้ แต่ใช้ OpenType feature ในการปรับแก้ความกว้างของ combining mark ให้เป็นศูนย์ ซึ่งจะทำให้ฟอนต์มีคุณสมบัติเป็น monospace ในขณะที่ยังวาดเครื่องหมายบน-ล่างได้อย่างถูกต้อง
เพื่อเป็นการทดลองแนวคิด ผมได้สร้างฟอนต์ใหม่ต่างหาก ตั้งชื่อเล่น ๆ ก่อน ว่า TlwgTypo โดยดัดแปลงจาก TlwgTypist โดยทำใน TLWG CVS แล้วใช้ในโครงการสุริยัน ผลคือ โปรแกรมเทอร์มินัลอย่าง konsole ที่มีการแพตช์ให้วาดภาษาไทยจัดระดับ สามารถวาดได้โดยไม่ต้องมีกรณีพิเศษ และความแตกต่างอีกอย่างคือ สำหรับเทอร์มินัลที่ยังไม่รองรับภาษาไทยแบบจัดระดับ เช่น gnome-terminal ก็วาดภาษาไทยแบบ monospace จริง ๆ
gnome-terminal ที่ใช้ TlwgTypist จะจัดระดับแค่บางส่วน แล้วมีช่องว่างคั่น เพราะเครื่องหมายบน-ล่างถูกเลื่อนไปที่เซลล์ก่อน:
แต่ถ้าใช้ TlwgTypo จะเป็น monospace ล้วน ในลักษณะเดียวกับฟอนต์ monospace แท้อย่าง TlwgMono:
จะให้ดี ก็ควรแก้ gnome-terminal (โดยทำที่ vte widget) เพื่อให้แสดงภาษาไทยแบบจัดระดับ แต่ในระหว่างที่ยังไม่แก้ ก็เป็นตัวอย่างให้เห็นได้ ว่าฟอนต์ monospace แท้กับเทียม ทำงานต่างกัน
ทีนี้ มาถึงประเด็นสำคัญ ว่ามันยังวาดภาษาไทยแบบจัดระดับเหมือน TlwgTypist ในโปรแกรมทั่วไปได้หรือเปล่า ต่อไปนี้คือภาพหน้าจอของ TlwgTypo เมื่อใช้ leafpad (GtkTextView) และ epiphany (Gecko):
ใน CVS snapshot ปัจจุบัน TlwgTypo ยังเป็นฟอนต์แยกต่างหากจาก TlwgTypist อยู่ เพื่อประโยชน์ในการทดลอง แต่เพื่อไม่ให้มีฟอนต์ซ้ำซ้อนกันมากเกินไป ผมกำลังคิดว่าจะแทนที่เนื้อหาของ TlwgTypist ด้วย TlwgTypo เสีย ให้เหลือแต่ TlwgTypist ที่ใช้เทคนิคใหม่อย่างเดียว รวมทั้งอาจจะทำอย่างเดียวกันกับ TlwgMono/TlwgTypewriter ด้วย แต่คงต้องทดสอบให้แน่ใจอีกนิด
บางที thaifonts-scalable รุ่นหน้า อาจ merge แค่ TlwgTypist ก่อน แล้วทิ้ง TlwgMono + TlwgTypewriter ไว้เป็นตัวเลือกสำรองสำหรับผู้ใช้ ในกรณีที่มีปัญหากับซอฟต์แวร์ตัวไหน
Update: พบโปรแกรมที่มีปัญหาแล้วครับ OO.o เจ้าเก่า ดูเหมือนจะมีปัญหากับฟอนต์พื้น ๆ อย่าง TlwgMono ด้วย T_T
ส่วนชุด GNOME Office ไม่มีปัญหา ทั้ง AbiWord (2.6) และ Gnumeric
ป้ายกำกับ: thaifonts-scalable, typography