ผมโพสต์เรื่องเทมเพลตอื่นต่อในนี้ได้ใช่ไหมครับ?
ผมเสนอวิธีแบบเร็วและง่ายสุดเพื่อแก้ปัญหาทั่วไปของตัวไทยก่อนนะครับ "boontp-simple" ดาวน์โหลด ->
https://github.com/sungsit/boontp/archive/master.zip FontLab import .sfd หรือ .ufo ได้ไหมหนอ? ถ้าไม่ได้ก็เช็คจาก .otf ครับ เดี๋ยวจะทยอยเพิ่มวิธีอื่นๆ ให้ช่วยดูว่าแบบไหนใช้งานง่ายสุดสำหรับโปรแกรมทำฟอนต์อื่นๆ ที่ไม่ใช่ FontForge
คำว่า "ฟีเจอร์" ที่ผมจะใช้ต่อไปหมายถึง OpenType Features นะครับ อธิบายคร่าวๆ วิธีนี้ คือ ใช้ฟีเจอร์ 'mark' (mark to base) เพื่อกำหนดจุด (anchor) ระหว่างพยัญชนะกับวรรณยุกต์ นิคหิต สระบน และสระล่างทุกตัว และใช้ 'mkmk' (mark to mark) กำหนดจุดระหว่างนิคหิต, สระบนที่ตามด้วยวรรณยุกต์ นั่นหมายความว่าเราทำสระและวรรณยุกต์ชุดเดียวคือชุดปกติในยูนิโค้ด ไม่ต้องทำชุดเบี่ยงซ้ายหรือชุดต่ำแบบฟอนต์ไทยทั่วไปครับ แต่ข้อเสียคือวรรณยุกต์ต่ำกับสูงมีขนาดเท่ากัน อาจไม่เหมาะกับฟอนต์บางลักษณะ ถ้าเป็นฟอนต์ไทยแบบไม่เน้นอลังการงานสร้างมากมายก็น่าจะเหมาะกับการใช้วรรณยุกต์ชุดเดียวแบบนี้
ส่วนที่ซับซ้อนสุดคือการแก้ปัญหาวรรณยุกต์กับสระอำ ผมใช้ฟีเจอร์ 'ccmp' (glyph composition/decomposition) แยกสระอำออกเป็น นิคหิตกับสระอาก่อน และใช้ฟีเจอร์ 'liga' รวมวรรณยุกต์กับนิคหิต อันนี้ต้องเพิ่ม glyphs พิเศษ 4 ตัว เพื่อมาร์คตำแหน่งหลบหาง ป ฝ ฟ นอกจากนี้มีตัว ฐ ญ ไร้ฐาน รวมแล้วก็มีตัวพิเศษทั้งหมดแค่ 6 ตัว (ค่อยมาดูอีกทีว่าควรใส่ใน codepoint ไหน ปกติเขาใส่ตามธรรมเนียมของ Microsoft หรือ Apple (Coporate Use) ใครที่เคยกด Alt ตามด้วยตัวเลขคงนึกออก)
วิธีนี้จะใช้ฟีเจอร์และตัวพิเศษน้อยสุดเท่าที่ผมทำได้ (จะคล้ายๆ กับที่ทำในฟอนต์บุญโฮม แต่อันนั้นผมรวมไทยลาวในฟีเจอร์เดียวกัน มันเลยไม่เหมาะจะเป็นเทมเพลต) ไฟล์ฟอนต์ที่ได้จะขนาดเล็กด้วย คิดว่าน่าจะเหมาะกับมือใหม่ที่ไม่อยากรู้ว่าทำไมเราต้องทำสระและวรรณยุกต์หลายชุด ถ้าเรากำหนดสัดส่วนให้พอดีเขาก็คงแค่ลบตัวอย่างออกแล้วใส่ของตัวเองลงไปโดยไม่ต้องเลื่อนจุดมาร์คครับ (อันนี้ค่อยมาดูอีกทีว่าสัดส่วนควรกำหนดยังไง เพราะมันเป็นอีกเรื่องนึง ผมเคยอ่านหนังสือที่มีพูดเรื่องมาตรฐานสัดส่วนตัวอักษรไทยต่อ Em size อยู่ แต่ผมไม่ใช้ตามนั้นเพราะมันเอาใช้ในเว็บแล้วตัวเล็กมากเมื่อเทียบกับตัวละตินจากฟอนต์ของฝรั่ง ส่วนใหญ่ผมทำ สูง บ. เท่า x-height ไปเลย และเท่ากับ 50% ของ Em size)
เท่าที่ทดสอบฟอนต์ตัวอย่างกับเว็บบราวเซอร์ในลินุกซ์ผมไม่เจอปัญหา ใครลองกับ OS หรือโปรแกรมอื่นๆ แล้วเจอปัญหาก็แจ้งไว้นะครับ (ผมอาจแก้ปัญหาให้ไม่ได้ ผมแค่อยากรู้ว่ามีโปรแกรมไหนบ้างที่แสดงผลฟอนต์ไทยได้ห่วยกว่าเว็บบราวเซอร์! เพราะฟีเจอร์ที่ผมใส่ไว้เว็บบราวเซอร์รุ่นใหม่มันรองรับโดยอัตโนมัติครับ จะมีแค่ 'liga' ที่อาจต้องเรียกใช้ด้วย CSS)