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

เทคนิคฟอนต์

ccmp กับ liga ต่างกันยังไง

liga รวมหลายตัวให้เหลือ glyph เดียว ส่วน ccmp แยกหรือเปลี่ยน glyph ได้ เช่น แยกสระอำเป็นนิคหิตกับสระอา

ccmp กับ liga ต่างกันยังไง

ตอบแบบเข้าใจง่าย ๆ

ccmp กับ liga เป็น OpenType feature ในหมวด GSUB เหมือนกัน
ccmp เป็นได้ทั้ง GSUB 2 และ GSUB 4 ส่วน liga เป็น GSUB 4

ความหมายคือ

  • liga ปลายทางออกมาได้แค่ glyph เดียว (อักษรตัวเดียว)
    เช่น f + i = fi · f + l = fl หรือเปลี่ยน a1 เป็น a2

  • ccmp ปลายทางแยกออกมาได้มากกว่าหนึ่ง glyph
    เช่น สระอำ แยกเป็น ํ + า ได้ และจะเปลี่ยนแบบ 1 ต่อ 1 หรือรวมกันก็ได้เช่นกัน

ความหมายแบบทางการ

  • GSUB 2: multiple substitution of one character by several glyphs / generally used for rather technical layout issues

  • GSUB 4: ligatures / allows the font designer to replace a string of glyphs with another glyph

สรุปคือ อยากรวมอักษรให้เป็นตัวเดียว ใช้ liga
นอกนั้น การเปลี่ยนหรือแยก glyph ใช้ ccmp


GSUB กับ GPOS

OpenType feature แบ่งเป็นสองพวกใหญ่

  • GSUB กลุ่มเปลี่ยนตัวอักษร เช่น liga · ccmp · smcp · c2sc · aalt · salt

  • GPOS กลุ่มจัดตำแหน่ง เช่น kern · mark · mkmk

โพสต์อื่น