แนวคิดการทำอักษรคู่ในอักษรไทย

เริ่มโพสต์โดย uvSOV, 18 ส.ค. 2024, 12:58 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

uvSOV



"ฟอนต์ส้มสด ในรูปทำยังไง ??"
การทำอักษรคู่(ให้เชื่อมกัน)จากรูปด้านบน คิดง่ายๆ ก็คือวาดอักษรขึ้นมาใหม่ แล้วทำ ligature ตามรูปด้านล่าง



กำหนดว่า เมื่อพิมพ์ AB ให้แสดงอักษรคู่ "AB" ที่มีเส้นเชื่อม
กรณีอักษรไทย เมื่อพิมพ์ คม ให้แสดงอักษรคู่ "คม" ที่มีเส้นเชื่อม

แต่ถ้าเปลี่ยนเป็นคำว่า คุม หรือ คุ้ม เราก็ต้องสร้างอักษรคู่ "คุม" ที่มีเส้นเชื่อม และ "คุ้ม" ที่มีเส้นเชื่อม ขึ้นมาเพิ่ม



แล้วคำว่า คูม คัม คิม คิ้ม คีม ฯลฯ อีกล่ะ?? เราจะไม่สามารถสร้างทุกตัวไหวเน้อ!

---------------------

ถ้างั้นลองเปลี่ยนวิธีคิด เป็น "อย่าเชื่อเพียงสิ่งที่เห็นด้วยตา" เพราะว่า เรามีอักษรที่มองไม่เห็น เช่น space อยู่ด้วยนะ

วิธีคิดเป็นดังนี้ .. ให้เขียนเงื่อนไขในฟอนต์
1. อักษรตัวหน้า แปลงเป็นอักษรคู่ มีความกว้างเท่ากับตัวปรกติ (เพื่อปล่อยให้ส่วนที่เหลือล้นไปทับตัวอักษรด้านหลัง)
2. อักษรตัวตาม แปลงเป็น space ความกว้างเท่ากับอักษรตัวตาม
เมื่อเราพิมพ์ คม จะได้อักษรคู่ "คม" ที่มีเส้นเชื่อม ตามด้วย space (คล้ายการทำด้วย ligature)



แต่ข้อดีคือ เมื่อจะพิมพ์คำว่า คุม หรือ คุ้ม  สามารถพิมพ์ได้เลย เพราะ สระอุ และไม้โท ไม่มีความกว้าง ดังนั้นตำแหน่งของ สระอุ ไม้โท จะแสดงถูกต้อง



นอกจากนี้ การใช้งานตอนพิมพ์ เราสามารถเลื่อน cursor ไปแก้ไข พยัญชนะตัวแรก หรือสระได้ เหมือนตอนที่ไม่ได้ใช้อักษรคู่เลย

หมายเหตุ
การเขียนเงื่อนไขให้ใช้ single substitution และ contextual chain substitution (ccmp) เหมือนการแปลงอักษรทั่วๆไปเลยครับ
- single ใช้ map อักษรตัวแรกเป็น อักษรคู่  และ อักษรตัวหลังเป็น space ความกว้างเท่ากับอักษรตัวตาม
- ccmp ใช้กำหนดเงื่อนไข ว่าเมื่อไรจะเปลี่ยนอักษรเดี่ยว เป็นอักษรคู่

จบ.

หวังว่าจะสนุกกับการออกแบบ อักษรคู่ แบบใหม่ๆกันนะครับ  ..ติดปัญหาตรงไหนสอบถามได้

iannnnn

:25: ไม่เคยนึกมาก่อนว่าทำงี้ได้ ขอบคุณครับ

SMF 2.1.7 © 2026, Simple Machines