เจอกันอีกแล้ว

1. เปิด Fontlab ขึ้นมา พร้อมทั้งเปิดต้นแบบนายพลด้วย
2. เปิด OpenType Panel ตามภาพ --

3. แล้วจะขึ้น panel แบบนี้

(คลิกเพื่อดูรูปขนาดจริง)
4. นี่คือตัวอย่างฟีเจอร์และสคริปต์ของ GSUB มีคำอธิบายไว้ข้างๆ
feature liga { # ตรงนี้คือฟีเจอร์แท็ก เปิดฟีเจอร์
lookup liga1 { # ตรงนี้คือ Lookup
sub f f i by ffi; # สมมุติว่าพิมพ์ f f i ติดกันจะกลายเป็น Glyph ที่ชื่อว่า ffi
sub m [n n.alt1] by mn; # ถ้าสมมุติว่าพิมพ์ m ติดกับ n หรือ n.alt1 จะกลายเป็น Glyph ที่ชื่อว่า mn
} liga1; # ปิด Lookup
lookup liga2 { # ขึ้น Lookup ใหม่
sub a' b by a.alt1; # ถ้าพิมพ์ a กับ b ติดกัน ตัว a จะกลายเป็น a.alt1
sub f [l i]' by [l.alt1 i.alt1]; # ถ้าพิมพ์ f ติดกับ l แล้ว l จะกลายเป็น l.alt1 และถ้าพิมพ์ f ติดกับ i แล้ว i จะกลายเป็น i.alt1
} liga2; # ปิด Lookup
lookup liga3 { # เปิดใหม่
sub p from [p.alt1 p.alt2]; # ถ้าหากว่าพิมพ์ p.alt1 หรือ p.alt2 แล้วจะกลายเป็น p
} liga3; # ปิด
lookup liga4 { # เปิด
ignore sub A f' f' i'; # สัมพันธ์กับบรรทัดข้างล่าง ถ้าสมมุติว่าพิมพ์ A f f และ i ติดกัน f f i จะไม่เปลี่ยนเป็น ffi
sub f' f' i' by ffi;
ignore sub r s' t', s' t' u; # สัมพันธ์กับข้างล่าง ถ้าพิมพ์ r s และ t ติดกัน st จะไม่กลายเป็น st และถ้าพิมพ์ s t และ u ติดกัน s t จะไม่กลายเป็น st
sub s' t' by st;
} liga4; # ปิด
} liga; # ปิดฟีเจอร์
(ลบข้อความหลัง # และ # ออก ถ้าใช้เป็นตัวอย่างสคริปต์)
5. นี่คือตัวอย่างของ GPOS
feature kern { # เปิดฟีเจอร์
lookup kern1 { # เปิด lookup
pos L <100 0 300 0>; # จำนวนแรกเป็นระยะห่างหน้า Glyph จำนวนที่สองเป็นการให้ Glyph สูงขึ้นมาจากเส้นบรรทัดปกติ จำนวนที่สามเป็นระยะห่างหลัง Glyph จำนวนที่ 4 เป็นค่าที่จะสูงขึ้นมาจาก Glyph ข้างหน้า
} kern1; # ปิด
lookup kern2 { # เปิด
pos O T 50; # คือ พิมพ์ O กับ T ติดกัน จะห่างออกมา 50
pos A W -75; # คือ พิมพ์ A กับ W ติดกัน จะห่างออกมา -75
} kern2;
lookup kern3 { # เปิด
enum pos y colon -50; # เกี่ยวพันกับบรรทัดล่าง คือ ถ้าพิมพ์ y กับเครื่องหมาย : ติดกันแล้วจะเลื่อนเข้ามาแค่ 50 ไม่ใช่ 75 เหมือนกลุ่มคลาสส์ของมัน
pos [y y.alt1 y.alt2] colon -75; # คือ ถ้าพิมพ์ y y.alt1 หรือ y.alt2 กับเครื่องหมาย : ติดกันจเลื่อนเข้าหากัน 75 แต่มีข้อยกเว้นข้างบน
} kern3; # ปิด
} kern; # ปิดฟีเจอร์
(เหมือนกับ GSUB คือลบข้อความพร้อม # ออกไป)
5. ลองแทนที่ชื่อ Glyph ในสคริปต์ตัวอย่างด้วยชื่อ Glyph ที่เราต้องการดู
6. เติมต่อจากฟีเจอร์เดิมของฟ๐นต์ลงไป -- อย่าไปยุ่งกับของเก่า ทำ lookup ใหม่เลย
7. กดปุ่ม Compile
8. เจ้นฟ๐นต์ออกมาใช้งานได้แล้ววววว ฮี่ๆ
9. มีอะไรสงสัยกรุณาซักถามได้ที่นี่ ... ทางเราจะช่วยงมให้ท่าน ...
//แก้ไขครั้งล่าสุด 23 มี.ค. 48