วิธีทำฟอนต์ภาษาไทยด้วย Microsoft VOLT

เริ่มโพสต์โดย [ LETSEGO ], 03 ธ.ค. 2012, 20:26 น.

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

[ LETSEGO ]

ตอนที่  1: VOLT basic

เริ่มแรกไปโหลดมาก่อนครับ  :15:

         VOLT 1.3


เริ่มต้นใช้งาน

เมื่อติดตั้งเสร็จ เปิดโปรแกรมขึ้นมาจะเจอหน้าตาอย่างนี้


เริ่มแรกเรามาตั้งค่ากันก่อนนะครับเพื่อให้เวลาที่ทำ Mark ตัวอักษรจะได้เห็นได้ชัดๆ
ไปที่ Tools > Options


แนะนำให้ตั้งค่าตามนี้ แล้วกด OK


จากนั้นให้เปิดฟอนต์ของเราขึ้นมา (แนะนำให้ใช้ .ttf) (ไม่ต้องตกใจถ้าหน้าจอมันว่าง)

ถ้าเห็นหน้าต่างแบบนี้ขึ้นมาก็กดตามแรงศรัทธาได้เลย


จากนั้นลองกด Edit Glyphs จะเห็นแบบอักษรที่เราทำขึ้นมาครับ (สังเกตว่าชื่อมันแสดงเป็น Glyph0, Glyph1,...)


เลื่อนมาจนถึงล่างสุดและจำว่ามันถึงตัวที่เท่าไหร่คับ


กดปิดหน้าต่าง จากนั้นคลิกที่ Import > Import PostScript Names


ใส่เลขที่เราจำมาลงไป แล้วกด OK


เมื่อกด Edit Glyphs อีกครั้งจะเห็นว่าคราวนี้เป็นชื่อที่เราตั้งค่าไว้แล้ว


การสร้างกลุ่มตัวอักษร พยัญชนะ สระ หรือ วรรณยุกต์
กด Add Glyphs Group (หรือ Project > Add Glyph Group)


จากนั้นให้พิมพ์ชื่อกลุ่มที่ต้องการลงไป ในที่นี้ผมจะทำกลุ่มของวรรณยุกต์
เลยตั้งชื่อว่า tone_mark คับ พอทำเสร็จจะได้แบบในภาพ


จากนั้นให้ดับเบิ้ลคลิกที่ชื่อกลุ่มจะมีหน้าต่างขึ้นมา
แล้วพิมพ์ชื่อของตัวอักษรที่ตั้งไว้ลงไป (หรือจะลากจากหน้า Edit Glyphs มาใส่ก็ได้ครับ)


เวลาเรียกใช้เราจะใช้ <ชื่อกลุ่ม> เช่นอันนี้ก็จะเป็น <tone_mark>
***สำหรับกลุ่มสระบน-ล่างหรือวรรณยุกต์แนะนำให้กด Make All Glyphs as... > Marks
ด้วยนะครับเผื่อลืมตั้งค่า OT เป็น Mark


ต่อไปมาดูกันว่าภาษาไทยใช้ฟีเจอร์ OpenType อะไรบ้างนะครับก่อนที่เราจะข้ามขั้นไปขั้นตอนต่อไป

ภาษาไทยกับ OpenType
เริ่มแรกต้องเข้าใจกันก่อนนะครับว่า Windows ประมวลผลฟอนต์โดยอาศัยตัวกลางชื่อ OTLS (OpenType Library Services)  ในการดึง
ฟีเจอร์ต่างๆ โดยฟีเจอร์ต่างๆ สำหรับ OpenType ที่ภาษาไทยใช้มี 4 ตัว คือ
  1. ccmp ใช้สำหรับตัดหาง ญ ฐ แยก สระอำออกจากกันเป็นนิคหิตกับลากข้าง หรือใช้เพิมปรับเปลี่ยนชุดของตัวอักษรไปตามบริบท [GSUB]
  2. mark ใช้สำหรับปรับตำแหน่งของสระบนล่างและวรรณยุกต์ไปตามพยัญชนะ เช่น ขยับไม้เอกไปทางซ้ายเมื่ออยู่บนป ปลา เพื่อไม่ไห้ทับเส้นหาง [GPOS]
  3. mkmk ใช้สำหรับจัดตำแหน่งวรรณยุกต์เหนือสระบน [GPOS]
  4. kern ใช้สำหรับปรับช่องไฟตัวอักษร

การทำฟีเจอร์ ccmp
เริ่มแรกก่อนที่จะใส่ฟีเจอร์ ccmp เราต้องใส่สคริปต์ก่อน โดยกดที่ Add Script


จากนั้นพิมพ์ <thai> เพื่อสร้างสคริปของภาษาไทย


คลิก Add Feature แล้วพิมพ์ <ccmp> ลงไป


จากนั้นคลิก Add Substitution แล้วพิมพ์ชื่อลงไป ในที่นี้ผมจะตัดหางญ หญิง
เลยพิมพ์เป็น thai_yoying


จากนั้นดับเบิ้ลคลิก จะมีหน้าต่างขึ้นมา


ให้พิมพ์ชื่อ Glyph ของญ หญิงลงไป แล้วต่อด้วย -> จากนั้นพิมพ์ชื่อ Glyph ของญ หญิงไม่มีหาง
ในที่นี้ของผมจะเป็น uni0E0D -> uni0E0D.alt

ต่อมาจะเห็นว่าปีข่องอยู่ข้างล่างที่มีเครื่องหมาย | อยู่ อันนี้จะเป็นตัวควบคุมบริบท (ใช้สำหรับทำ Contextual Substitution)
โดยมันจะเป็น ตัวก่อนหน้า | ตัวที่ต่อมา โดยในที่นี้เราต้องการให้ ญ เปลี่ยนเป็น ญ ไม่มีหาง
เมื่อต่อด้วยสระอุ อู และพินทุ จึงใส่เป็น    
 | สระอุ
 | สระอู
 | พินทุ
จะได้
 | uni0E38
 | uni0E39
 | uni0E3A

เมื่อทำเสร็จแล้วให้ลาก substitution ที่ทำไปใส่ใน <ccmp> เป้นอันเสร็จการทำ ccmp ครับ


สำหรับเปลี่ยนฐ เป็น ฐ ไม่มีหางก็ทำแบบเดียวกัน
ส่วนการแยกสระอำจะใช้รูปแบบเป็น สระอำ -> นิคหิต สระอา (uni0E33 -> uni0E4D uni0E32 )
โดยสระอำเราจะไม่ใส่ในส่วนของบริบทเพราะต้องการเปลี่ยนสระอำทุกตัว


***ญ ฐ สามารถใช้ substitution ร่วมกันได้
***สำหรับภาษาอังกฤษ ทำแบบเดียวกันครับ เพียงแต่ในส่วนของการทำ liga เช่น Fl, Fi ให้เปลี่ยนจากลากไปใส่
<ccmp> เป็นลากไปใส่ <liga> แทน แล้วก็เขียนสคริปต์เป็น Latin <latn>


การทำฟีเจอร์ mark
การทำฟีเจอร์ mark ในส่วนของภาษาไทยจะเป็น Mart to Base Positioning ครับ
โดยเริ่มแรกให้กด Add Feature แล้วพิมพ์ <mark>

จากนั้นในช่องตรงกลางกด Add Positioning แล้วพิมพ์ชื่อ ในที่นี้ผมจะจัดตำแหน่งสระบน
เลยใช้ above_mark1


ดับเบิ้ลคลิกเปิดมันขึ้นมา แล้วกดเปลี่ยนจาก Unknown Positioning เป็น Anchor Attachment


จะเห็นว่าตอนนี้คอลลัมน์สองช่องข้างล่างสามารถใส่ค่าต่างๆ ได้แล้ว
โดยอันแรกจะเป็นฐาน ส่วนอันที่ 2 จะเป็นสระบน หรือวรรณยุกต์
ในที่นี้ผมจะทำป ปลา กับสระอี เลยใส่ช่องแรกเป้น uni0E1B ช่อง 2 เป็น uni0E35
และเปลี่ยนตรง Anchor จาก default เป็น above_mark1
จะเห็นหน้าต่างช่องขวา จะมี ป ปลากับสระอี ปรากฏขึ้นมานะครับ โดยเราสามารถใส้เมาส์ลากจัดตำแหน่ง
ของสระอีกับ Anchor (ตัวที่เป็นเครื่องหมาย +) ให้อยู่ในตำแหน่งที่ต้องการได้ในหน้าต่างนี้ครับ


พอเสร็จแล้วให้ลากไปใส่ใน <mark> เป็นอันเสร็จครับ
***ตัวที่จะเอามาใส่ในช่องที่ 2 ต้องมีค่า OT เป็น mark ก่อนไม่งั้นตอน compile จะ Err
*** Anchor แนะนำให้เปลี่ยนจากค่า default ให้เป็นค่าอื่นครับ โดยสระบน-ล่างหรือวรรณยุกต์ที่มีค่า anchor เดียวกันจะวางตำแหน่งเดียวกัน


การทำฟีเจอร์ mkmk
ฟีเจอร์ mkmk (Mark to Mark Positioning) ทำเหมือน mark ครับเพียงแต่เปลี่ยนจากพยัญชนะกับสระบน-ล่าง หรือวรรณยุกต์เป็น
สระบน-ล่าง หรือวรรณยุกต์กับสระบน-ล่าง หรือวรรณยุกต์แทนครับ เช่น สระอิกับไม้เอก
พอทำเสร็จให้ลากไปใส่ใน <mkmk>


การทำฟีเจอร์ kern
ทำคล้ายๆ กับฟีเจอร์ mark ครับ เพียงแต่เปลี่ยนจาก Anchor Attachment เป็น Pair Asjustment
จากนั้นใช้เมาส์ลากจัดตำแหน่งครับ คล้ายๆ ใน FontLab เลยคับ เพียงแต่ใน VOLT จะยืดหยุ่นกว่า
โดยเราสามารถ kern ได้ทั้งตัวพยัญชนะ และ Matrix ของตัวหน้ากับตัวหลังได้ด้วย ด้วย
พอเสร็จเช่นเดียวกับอันอื่นครับลากไปใส่ใน <kern>


การทดสอบฟอนต์
ให้กดที่ Proofing Tool โดยจะกด Compile ก่อนหรือไม่ก็ได้ครับ



พอสร้างเสร็จหมดแล้วให้ไปที่ File > Ship Font พอ Save เรียบร้อยเราก็จะได้ฟอนต์ทำเสร็จครับ   :45:




Faites-vous des amis prompts à vous censurer.

iannnnn

โอ้วววววว :07: :46:
นี่สุดยอดเลยครับ ศาสตร์ใหม่ๆ :25:

าาา๐

perfectionist

ออยอิชี่


าาา๐


VOLT สามารถ edit outline ได้ไหมครับ อยากเห็นหน้าตา  :25:
perfectionist

iannnnn

แยกเป็นโพสต์สั้นๆ ก็ได้นะครับ เวลาโพสต์จะได้ไม่พลาดจ้ะ

Leo Charisma

กำลังศึกษาตามครับ ขอบคุณมาก สำหรับบทความนี้
เปลี่ยนแนวคิดเพื่อการใช้ Typography ให้ถูกต้องตามหลักสากล

[ LETSEGO ]

อ้างคำพูดจาก: าาา๐ เมื่อ 04 ธ.ค. 2012, 14:15 น.
VOLT สามารถ edit outline ได้ไหมครับ อยากเห็นหน้าตา  :25:

ไม่ได้คับ  VOLT ใช้เพื่อใส่ table OT ให้กับฟอนต์เท่านั้น ถ้าจะ edit outline ต้องทำในโปรแกรมอื่นครับ สำหรับแอพที่ทำได้ใกล้เคียง VOLT พร้อมกับ edit outline ได้ด้วยปัจจุบันน่าจะมีแต่ Glyphs สำหรับ OSX เท่านั้นครับ ส่วนของฝั่ง Windows ยังไม่เห็นครับ
Faites-vous des amis prompts à vous censurer.

ปอมป๋วย

ขอบคุณมากฮะ จะตามอ่านแล้วหีดไปเรื่อย ๆ  :46:
ติดตาม และช่วยส่งเสียค่าเลี้ยงดูได้ที่ ธรรมดาสตูดิโอ

iannnnn


ปอมป๋วย

ติดตาม และช่วยส่งเสียค่าเลี้ยงดูได้ที่ ธรรมดาสตูดิโอ


Layiji

ขอ bookmark ไว้ในหมวด sexy ก่อนครับ
นักเขียนการ์ตูนรายปี

besideway

ขออนุญาตขุดไปศึกษาก่อนนะครับผม
ขุอบคุณมากครับ

Loong M


SMF 2.1.7 © 2026, Simple Machines