หน้า: [1]
 
ผู้เขียน หัวข้อ: วิธีทำฟอนต์ภาษาไทยด้วย Microsoft VOLT  (อ่าน 29114 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
ตอนที่  1: VOLT basic

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

          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 เรียบร้อยเราก็จะได้ฟอนต์ทำเสร็จครับ   (แจ๋ว แจ๋ว)




« แก้ไขครั้งสุดท้าย: 31 ม.ค. 2013, 01:41 น. โดย Letsego » บันทึกการเข้า

Faites-vous des amis prompts à vous censurer.
โอ้วววววว โวย ไหว้
นี่สุดยอดเลยครับ ศาสตร์ใหม่ๆ กรี๊ดดดดด
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ

นี่มันอะไร้ !!! โวย
บันทึกการเข้า

perfectionist
แนวใหม่  กรี๊ดดดดด
บันทึกการเข้า


VOLT สามารถ edit outline ได้ไหมครับ อยากเห็นหน้าตา  กรี๊ดดดดด
บันทึกการเข้า

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

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
กำลังศึกษาตามครับ ขอบคุณมาก สำหรับบทความนี้
บันทึกการเข้า

เปลี่ยนแนวคิดเพื่อการใช้ Typography ให้ถูกต้องตามหลักสากล
VOLT สามารถ edit outline ได้ไหมครับ อยากเห็นหน้าตา  กรี๊ดดดดด

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

Faites-vous des amis prompts à vous censurer.
ขอบคุณมากฮะ จะตามอ่านแล้วหีดไปเรื่อย ๆ  ไหว้
บันทึกการเข้า

ติดตาม และช่วยส่งเสียค่าเลี้ยงดูได้ที่ ธรรมดาสตูดิโอ
หีด หื่น
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
หัด  เหลือบ
บันทึกการเข้า

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

Parintorn
ขอ bookmark ไว้ในหมวด sexy ก่อนครับ
บันทึกการเข้า

นักเขียนการ์ตูนรายปี
ขออนุญาตขุดไปศึกษาก่อนนะครับผม
ขุอบคุณมากครับ
บันทึกการเข้า
ขอบคุณครับ  เจ๋ง
บันทึกการเข้า
หน้า: [1]
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!