หน้า: [1] 2
 
ผู้เขียน กระจู๋: การเขียนสคริปต์ Ligature ใน Fontlab  (อ่าน 3408 ครั้ง)
0 สาวก และ 1 ขาจร กำลังดูกระจู๋นี้
คือว่ามีวิธีการเขียนสคริปต์แบบถ้าเจ้าตัวอักษรสองตัวพิมพ์ติดกันให้เปลี่ยนไปใช้ Glyph อื่นมั้ยครับ
บันทึกการเข้า

เว็บส่วนตัว www.ijiryu.com
ใช้ liga

sub a b by ab; >> เปลี่ยนทั้ง a b เป็น ab ตัวเดียว
sub a b c by abc; >> เปลี่ยนทั้ง a b c เป็น abc ตัวเดียว
sub [a b c] d' by abcd; >> เปลี่ยนเฉพาะ d' เป็น abcd ตัวเดียว

จะกี่ตัวก็ได้ครับ
« แก้ไขครั้งสุดท้าย: 16 เม.ย. 2016, 12:02 น. โดย dhammadha » บันทึกการเข้า

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

เว็บส่วนตัว www.ijiryu.com
เยี่ยมเลยครับ ขอย้ายไปไว้ในห้องสอนฟอนต์เด้อ
บันทึกการเข้า

อาชีพปัจจุบันคือเปิดร้านสกรีนเสื้อครับ ช่วยอุดหนุนด้วยเด้อ
 :43:ดูน่าจะง่ายดี ^^!
บันทึกการเข้า
แล้วที่เขียนว่า
lookup liga1;
lookup liga0;

ignore sub
script latn;

มันหมายความว่าอะไรครับ
บันทึกการเข้า

เว็บส่วนตัว www.ijiryu.com
อันนี้ผมเองก็อยากรู้อย่างละเอียดคับ  แต่ก็งมๆเอา ทดลองแก้ไข และใช้กับฟอนต์ที่ผลิตเอง มันก็ใช้ได้นะ (ขนาดมั่วๆไป แต่มีหลักการในการทำ) มันคือคำสั่งให้ ตัวอักษร หรือ สระ วรรณยุกต์ ให้เยื้องซ้ายขวา หน้าหลัง ตามที่เราต้องการ  งมอยู่ตั้งนาน แต่พอทำแล้วมันทำได้ก็ดีใจครับ แต่หาคนสอนแบบจริงๆจังๆไม่มี สงสัยมันเป็นความลับกัน อยากรู้ ก็ต้องดูเว็บต่างประเทศเอา (อิอิ)
บันทึกการเข้า
ไม่ได้เป็นความลับนะครับ แต่มันไม่ค่อยมีคนทำครับ
แล้วเดี๋ยวนี้การทำฟอนต์ก็มีหลายเทคนิคหลายวิธีครับ ฟอนต์แล็บเป็นเพียงหนึ่งในวิธีเหล่านั้นจ้ะ
(ผมเองก็ทำไม่เป็น  ฮือๆ~)
บันทึกการเข้า

อาชีพปัจจุบันคือเปิดร้านสกรีนเสื้อครับ ช่วยอุดหนุนด้วยเด้อ
ไม่น่าเชื่อนะคับ คุณแอนทำไม่เป็น ผมอยากรู้ลึก คำสั่งต้องเขียนอย่างไร กำหนดอย่างไร ใช้เครื่องหมายอะไร ในการปิดเปิด และสั่งให้ฟอนต์ทำงานตามที่เราต้องการ  ผมลองไปแก้ ไปเปลี่ยนสคลิป แต่มันก็ไม่เปลี่ยนเลย เลยงงไปใหญ่  อย่างเช่น คำสั่งในฟอนต์นั้น สั่งให้สระวรรณยุกต์ หลบหาง ป.ปลา ฝ.ฝา และ ฟ.ฟัน ผมก็ลองใส่ ช.ช้าง ส.เสือ ศ.ศาลา (ที่มันมีหางยาว) เข้าไป กดคอมไพล์ แล้วGEN ฟอนต์ ออกมา และแล้วมันก็ไม่เปลี่ยน ตามใจต้องการ ผู้รู้ช่วยตอบหน่อยครับ เป็นเพราะอะไรคำสั่งนี้ ถึงใช้ไม่ได้ อยากรู้จริงๆคับ
บันทึกการเข้า
ไม่น่าเชื่อนะคับ คุณแอนทำไม่เป็น ผมอยากรู้ลึก คำสั่งต้องเขียนอย่างไร กำหนดอย่างไร ใช้เครื่องหมายอะไร ในการปิดเปิด และสั่งให้ฟอนต์ทำงานตามที่เราต้องการ  ผมลองไปแก้ ไปเปลี่ยนสคลิป แต่มันก็ไม่เปลี่ยนเลย เลยงงไปใหญ่  อย่างเช่น คำสั่งในฟอนต์นั้น สั่งให้สระวรรณยุกต์ หลบหาง ป.ปลา ฝ.ฝา และ ฟ.ฟัน ผมก็ลองใส่ ช.ช้าง ส.เสือ ศ.ศาลา (ที่มันมีหางยาว) เข้าไป กดคอมไพล์ แล้วGEN ฟอนต์ ออกมา และแล้วมันก็ไม่เปลี่ยน ตามใจต้องการ ผู้รู้ช่วยตอบหน่อยครับ เป็นเพราะอะไรคำสั่งนี้ ถึงใช้ไม่ได้ อยากรู้จริงๆคับ

ก็อป syntax ที่ปรับแก้ไปมาให้ดูหน่อยครับ
มาแค่นี้ยังงง ๆ ไม่รู้จะเริ่มตรงไหนฮะ
บันทึกการเข้า

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

ตามรูป ในliga20 ผมสั่งให้  ฉ น ณ ที่ใช้สระอุ สระอู และ พินทุ (ตัวปกติ)ให้ไปใช้ สระอุ โล สระอูโล พินทุโล ผมเขียนแบบนี้ถูกต้องมั้ยคับ
ถ้าถูก ผมกด คอมไพล์ แล้ว GEN ฟอนต์ออกมา ทำไมมันไม่ทำตามคำสั่งเลย  ผมผิดพลาดตรงไหนคับ และที่ถูกต้องต้องทำอย่างไรคับ การทำฟอนต์แต่ละฟอนต์ก็ไม่นานนะ แต่การหาวิธีแก้นี่ยากกว่าการทำฟอนต์ตัวนึงซะอีก ช่วยด้วยครับ ขอบคุณล่วงหน้าคับ
บันทึกการเข้า
เอ เหมือนตรง 19 จะผิดหรือเปล่าครับ เห็นมี ' สองจุด
มันเลยส่งผลกับ 20

เดานะครับ  กร๊าก
บันทึกการเข้า

นักเขียนการ์ตูนรายปี

ตามรูป ในliga20 ผมสั่งให้  ฉ น ณ ที่ใช้สระอุ สระอู และ พินทุ (ตัวปกติ)ให้ไปใช้ สระอุ โล สระอูโล พินทุโล ผมเขียนแบบนี้ถูกต้องมั้ยคับ
ถ้าถูก ผมกด คอมไพล์ แล้ว GEN ฟอนต์ออกมา ทำไมมันไม่ทำตามคำสั่งเลย  ผมผิดพลาดตรงไหนคับ และที่ถูกต้องต้องทำอย่างไรคับ การทำฟอนต์แต่ละฟอนต์ก็ไม่นานนะ แต่การหาวิธีแก้นี่ยากกว่าการทำฟอนต์ตัวนึงซะอีก ช่วยด้วยครับ ขอบคุณล่วงหน้าคับ

sub [ฉ น ณ] [อุปกติ อูปกติ พินทุปกติ]' by [อุโล อูโล พินทุโล];

แค่นี้ก็ได้ครับ
(ซึ่งดูเหมือนใน liga20 ก็ถูกแล้วนะฮะ - ผมจำเลข unicode ไม่ได้ ซึ่งคิดว่าน่าจะใช่แหละ 555)

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

หรือทั้งหมด ถ้า scripts เป็นตามที่วางแผนไว้แล้ว
ลองดูใน glyph สระล่างตำแหน่ง low ว่าเราวางถูกตำแหน่งไหมฮะ ?
อันนี้ไม่ได้กวนนะ เมื่อก่อนผมเคย แก้เกือบตาย
เอ้าไอ้ห้า !! add component มาแล้วไม่ได้ปรับตำแหน่ง  กร๊าก

หรือลองให้ง่ายสุด
ย้าย liga20 เป็น liga00 หรือ 01 ไปเลย
ให้มันทำคำสั่งนี้ก่อน - ผมค่อนข้างมั่นใจว่าแก้ได้ - แต่จริง ๆ ก็เดานั่นแหละ กร๊าก
คือไม่รู้ที่มาที่ไปของ glyph ที่โผล่มา liga19 เลยเดามาทางนี้

ถ้าอันนี้แก้ปัญหาได้ แปลว่า ระหว่างทางมา liga20 (ของเดิม)
มีคำสั่งอันไหนสักอย่าง ที่ไปเปลี่ยนสระล่างเป็น glyph อื่น ก่อนเดินทางมาถึง liga20 (เดิม) ครับ

*** การรันคำสั่ง - จะเรียงจากบนลงล่างฮะ - ถ้าต้นทางเปลี่ยนไปแล้ว
*** แปลว่า หลังจาก ฉ น ณ จะไม่เจอ -ุ -ู -ฺ
*** เลยทำให้ liga20 (เดิม) ไม่ได้ทำงาน เพราะไม่ตรงเงื่อนไข

===============================

อันนี้ไม่เกี่ยว

ชุดใหม่ผมลองมาใช้ anchor mark
สะดวกดีนะฮะ
แต่ fontlab vi เหมือนยังมี bug นิดหน่อย
make [mkmk] ยังมีบาง glyph ไม่ขึ้นมาใน feature
(อาจเพราะผมทำอะไรพลาดไปเองด้วยมั้ง)
เลยยังต้องมาเขียนมือเพิ่มบางตัวฮะ
« แก้ไขครั้งสุดท้าย: 22 ก.ค. 2018, 20:24 น. โดย ปอมป๋วย » บันทึกการเข้า

ติดตาม และช่วยส่งเสียค่าเลี้ยงดูได้ที่ ธรรมดาสตูดิโอ
ขอบคุณที่ตอบนะครับ อธิบายได้ดีมากเลยคับ ผมเข้าใจในการอธิบายคับ   ตัวคำสั่งก่อนหน้านี้ ที่สั่งให้ใช้ สระอุ อู พินทุ โล ก็คือคำสั่งให้หลบ ตัว ฎ ฏ ฐ ประมาณนี้   ส่วน liga20 ผมมาเพิ่มเติมทดลองทำดู แล้วก็ไม่ได้ผล อย่างที่เห็น อาจเป็นเพราะว่า มันมีคำสั่งก่อนหน้านั้นแล้ว ที่ให้หลบ ฎฏฐ  มันถึงไม่ผ่าน   ส่วน liga19 นั้น ผมไม่ได้ทำเอง คือมันมากับฟอนต์อยู่แล้ว ก็ไม่รู้ว่าเค้าสั่งให้ไปทำอะไร    ถ้าเป็นแบบนี้ ถ้าผมต้องการให้ตัว ณ ฉ น ใช้ อุอู พินทุโล แทน  ผมสามารถ นำตัว ฉ ณ น ไปรวมกับ  ฎ ฏ ฐ ซึ่งมีคำสั่งอยู่แล้ว  แค่เพิ่มตัว ณ น ฉ เข้าไป ร่วมกับ ฎ ฏ ฐ ณ น ฉ  ได้เลยมั้ยคับ  และในลักษณะเดียวกัน  ถ้านำ ตัว ช ซ ศ ส ฮ  ฐ  (ตัวที่ออกแบบหางยาวกว่าปกติ) ไปรวมกับ liga ที่สั่งให้หลบ ป ฝ ฟ  (หาวยาวเหมือนกัน)   สามารถทำได้มั้ยคับ ตามนี้น่ะ  ตามที่อธิบาย น่าจะเข้าใจตรงกันนะครับ   ขอคำตอบ อธิบายเพิ่มด้วยครับ  ขอบคุณล่วงหน้านะครับ
บันทึกการเข้า
ถ้าเป็นแบบนี้ ถ้าผมต้องการให้ตัว ณ ฉ น ใช้ อุอู พินทุโล แทน  ผมสามารถ นำตัว ฉ ณ น ไปรวมกับ  ฎ ฏ ฐ ซึ่งมีคำสั่งอยู่แล้ว  แค่เพิ่มตัว ณ น ฉ เข้าไป ร่วมกับ ฎ ฏ ฐ ณ น ฉ  ได้เลยมั้ยคับ  และในลักษณะเดียวกัน  ถ้านำ ตัว ช ซ ศ ส ฮ  ฐ  (ตัวที่ออกแบบหางยาวกว่าปกติ) ไปรวมกับ liga ที่สั่งให้หลบ ป ฝ ฟ  (หาวยาวเหมือนกัน)   สามารถทำได้มั้ยคับ

ได้ครับ

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

ติดตาม และช่วยส่งเสียค่าเลี้ยงดูได้ที่ ธรรมดาสตูดิโอ
หน้า: [1] 2
 
 
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!