ธรรมดาสตูดิโอ

เทคนิคฟอนต์

เปลี่ยนตัวแรกของประโยคเป็นตัว Alternate

เขียน OpenType feature ให้ตัวอักษรที่ขึ้นต้นประโยคเปลี่ยนเป็นดีไซน์พิเศษ แบบที่ใช้ในฟอนต์แฮนดี้ไรท์

เปลี่ยนตัวแรกของประโยคเป็นตัว Alternate

โจทย์คืออยากให้ ม.ม้า ที่ขึ้นต้นประโยคเปลี่ยนเป็นตัวใหญ่ (Alternate Glyph)
สคริปต์ประมาณนี้ผมเคยใช้อยู่ในฟอนต์ แฮนดี้ไรท์

ตอนนั้นใช้ liga เพราะยังไม่รู้จักกับ ccmp เลย ซึ่งแนะนำให้ใช้งาน ccmp จะดีกว่า


เปลี่ยนดีไซน์ ม.ม้า ที่ขึ้นต้นประโยค

สามารถใช้วิธีนี้ได้กับทุกตัวที่ต้องการ
เช่น อยากให้ สระ แ- ที่นำหน้าประโยค ลากยาวทะลุลงมามากกว่าปกติ

ก่อนอื่นให้สร้าง Opentype Class ขึ้นมาก่อน
ตั้งชื่ออะไรก็ได้ ตัวอย่างคือ all

โดยในคลาสนี้ ใส่อักษรลงไปทุกตัวเลย
ยกเว้น glyph จำพวก space (space / nbspace etc)

เมนู Windows > Panels > Classes

จากนั้นเข้าไปเพิ่ม script ตามนี้

feature ccmp {
ignore sub @all moma-thai';
sub moma-thai' by moma-thai.alt;
} ccmp;


แปลเป็นไทยก็คือ
ให้เปลี่ยน ม.ม้า ทุกตัว moma-thai เป็น moma-thai.alt
โดยมีเงื่อนไขคือ ถ้า ม.ม้า ตามหลังตัวอักษรอื่น ๆ >> อันนี้ไม่ต้องเปลี่ยน

ซึ่ง @all ที่เราใส่อักษรลงไปทุกตัว ก็จะมาเห็นผลตรงนี้แหละ

ลอง compile ดู

เปลี่ยนเฉพาะตัวแรกที่ขึ้นต้นบรรทัด

ถ้าอยากให้เปลี่ยนเฉพาะตัวแรกที่ขึ้นต้นบรรทัด (หลังช่องว่างไม่ต้องเปลี่ยน)
ให้ใส่ glyph พวก space ลงไปใน class ด้วย คือใส่ใน @all ให้ครบทุกตัวจริง ๆ
สคริปต์จะทำงานเฉพาะตอนเริ่มบรรทัดด้วยตัวที่กำหนดเท่านั้น

โพสต์อื่น