หน้า: [1] 2
 
ผู้เขียน หัวข้อ: เทมเพลตฟอนต์ไทย F0ntUni v0.1  (อ่าน 41993 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
ดาวน์โหลด F0ntUni v0.1.1

F0ntUni หรือ ฟอนต์อยู่นี่ เป็นเทมเพลตฟอนต์ไทยแบบ Unicode ที่พยายามแก้ไขปัญหาทั่วไปที่คนทำฟอนต์ไทยต้องเจอ โดยใช้ OpenType Features ที่เหมาะสม (พยายาม Hack ให้น้อยที่สุด) เพื่อให้การทำฟอนต์เป็นเรื่องที่ง่ายขึ้นและสามารถใช้งานแบบข้ามแพล็ตฟอร์มที่หลากหลายได้ ที่มาที่ไปของเทมเพลตเกิดขึ้นที่นี่ พูดคุยและทดสอบกันอย่างจริงจัง(บ้าคลั่ง)ที่นี่ จึงตั้งชื่อว่า ฟอนต์อยู่นี่ (อ่านมหากาพย์ได้ที่ http://www.f0nt.com/forum/index.php/topic,21995.0.html)

การใช้งานคร่าวๆ (เดี๋ยวจะทยอยอัพเดตรายละเอียดทีหลังนะครับ ช่วงนี้ทดสอบหลายโปรแกรมในหลายโอเอส เลยมึน!)

1. F0ntUni A เหมาะสำหรับการทำฟอนต์ไว้ใช้งานกับโปรแกรมที่รองรับ OpenType Features ระดับสูง เช่น Adobe InDesign, Illustrator, Photoshop (อาหรับ) และเหมาะกับการทำฟอนต์เพื่อใช้งานกับเว็บบราวเซอร์สมัยใหม่ อย่าง FireFox และ Chrome ด้วย นอกจากนี้โปรแกรมส่วนใหญ่ใน Linux ก็สามารถแสดงผล F0ntUni A ได้ถูกต้อง (Distro ที่ใช้ Desktop environment ตระกูล GTK+ มี HarfBuzz หรือ Pango) แม้จะเรียกใช้งานฟีเจอร์เสริมไม่ได้ก็ตาม

2. F0ntUni B เหมาะกับการทำฟอนต์สำหรับโปรแกรมทั่วไปทั้งใน Mac, Windows และ Linux ที่รองรับฟีเจอร์ระดับสูงได้ไม่ดีนัก โปรแกรมส่วนใหญ่ที่ใช้งาน F0ntUni A ได้ก็สามารถใช้งาน F0ntUni B ได้ (ในกรณีของ Adobe ต้องสลับ text engine) ส่วน F0ntUni B Pali เอาไว้ทำฟอนต์สำหรับภาษาบาลี-สันสกฤตให้ใช้งานได้กับโปรแกรมความสามารถต่ำโดยเฉพาะครับ (จะพิมพ์บาลีก็ใช้วิธีเปลี่ยนฟอนต์ ประมาณนั้น)

ในช่วงแรก ผมแนะนำให้ใช้ F0ntUni B สำหรับคนที่คุ้นเคยกับการทำฟอนต์ไทยครับ เพราะต้องทำสระบน-ล่างและวรรณยุกต์หลายชุด แต่ถ้าใครเพิ่งเริ่มต้นหรืออยากทำฟอนต์แบบเร็วๆ ก็เลือก F0ntUni A เพื่ออนาคตที่ดีกว่า แต่ละเทมเพลตทำไว้หลายฟอร์แมตสำหรับโปรแกรมทำฟอนต์ที่หลากหลาย (อีกแล้ว) เช่น ไฟล์ *.sfd สำหรับ FontForge, *.ufo สำหรับ Robofont, GlyphsApp และ FontLab (ที่มี plugin สำหรับ .ufo), *.oft สำหรับทุกโปรแกรม และ *.fea สำหรับ import เฉพาะฟีเจอร์ หรือใช้งานกับ command line interface อย่าง Adobe Font Development Kit for OpenType

สัญญาอนุญาต คือ Creative Commons Attribution 4.0 International (CC BY 4.0) เพื่อให้นำเทมเพลตไปใช้ทำฟอนต์ในเชิงพาณิชย์และวัตถุประสงค์อื่นๆ ได้อย่างอิสระ (ถ้าเป็น Open Font License จะมีข้อจำกัดในการเอาไปทำฟอนต์เพื่อขาย ถ้าเป็น GPL ก็จะมีเงื่อนไขให้ฟอนต์ที่ใช้เทมเพลตนี้ต้องเปิดเผยซอร์สโค้ดอีก ผมเลยคิดว่า CC BY 4.0 น่าจะเหมาะสมที่สุดสำหรับเทมเพลต)

หากมีข้อสงสัยหรือเจอปัญหาในการใช้งานเทมเพลตก็ถามไว้ที่นี่ไปก่อนนะครับ เพราะช่วงนี้ยังไม่ได้ทำเอกสารอธิบายรายละเอียดทางเทคนิค แต่อยากปล่อยเวอร์ชั่นแรกให้เอาไปใช้ทำฟอนต์แบบยูนิโค้ดกันก่อน เราจะได้รู้ว่ามีปัญหาตรงจุดไหนที่ต้องแก้ไขอีกบ้าง แล้วช่วยกันพัฒนาต่อไป (ท่านใดคุ้นกับ Git หรือไม่คุ้นแต่อยากร่วมเป็น Maintainer ก็บอกกันไว้ได้ครับ)
« แก้ไขครั้งสุดท้าย: 20 เม.ย. 2014, 13:03 น. โดย Sungsit » บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
ขอแชร์ความรู้สำหรับมือใหม่นะครับ (รวมผมด้วย) เนื่องจากโปรแกรม FontLab เรียกใช้ฟีเจอร์แนวๆ ในเทมเพลตตัวนี้ไม่ได้ (รวมทั้ง FontForge 2014 ในแมค ปล่อยล่าสุดวันที่ 13-Apr-2014 20:34) วิธีพรีวิวว่าสระ-วรรณยุกต์ว่าถูกตำแหน่งหรือไม่

FontLab :
Copy อักษรตัวนั้นๆ เช่น ม กับ ไม้เอกต่ำ  มา Paste ลงในหน้าต่าง Preview ถ้าต้องการ Copy หลายๆ ตัวก็กด จะกด ctr หรือ command ค้างไว้ คลิกเลือกจนพอใจแล้วค่อยก็อป

FontFrorge :
กด shift แล้วคลิกเลือกอักษรใดๆ เช่น ป ไม้เอกต่ำ-ซ้าย แล้วเปิดเมนู window > new metrics window

 ไหว้
บันทึกการเข้า
ยังไม่มีเวลาเขียนคู่มือการใช้งานเทมเพลต แต่ผมพบว่าทั้ง FontLab, RoboFont และ GlyphsApp มีความสามารถหลายอย่างเหมือนกันในส่วนที่เกี่ยวกับ OpenType เพราะดูเหมือนจะใช้เครื่องมือเดียวกันได้ คือ AFDKO ของ Adobe และ Python scripts ใครใช้ FontLab ลองค้นวิธีใช้ AFDKO นะครับ เพื่อเพิ่มความสามารถของโปรแกรม เขาเรียก Macro มั้ง? ลองดู http://www.robofab.org/ ที่มีเครื่องมือสำหรับเพิ่มความสามารถให้ FontLab รู้จัก UFO format แต่ในความเห็นของผมโปรแกรม GUI สำหรับทำฟอนต์ที่ดีสุดสำหรับการทำ OpenType features ใน Mac ตอนนี้คือ RoboFont

ส่วน AFDKO เพิ่งจะมีเวอร์ชั่นสำหรับ Linux เมื่อต้นเดือนนี้เอง ผมเลยยังไม่ได้ศึกษาวิธีใช้มากมาย แต่โดยรวมแล้วมันมีเครื่องมือแบบ CLI ที่ใช้งานสะดวกสำหรับทั้ง Windows และ Mac ด้วย ที่สำคัญมันใช้งานกับทั้ง binary fonts และ text files ได้สะดวกด้วย แก้ไขซอร์สของโปรเจ็คต์ได้ง่าย หรือแม้แต่เขียนสคริปต์สำหรับจัดการหลายๆ อย่างได้แบบอัตโนมัติ (Hint, Validate, Generate) แปลว่าเราสามารถอัพเดตฟีเจอร์ของฟอนต์เดิมที่คอมไพล์แล้วได้ง่ายด้วย ดูตัวอย่าง Source Sans Pro เป็น text files ล้วนๆ พร้อม build สคริปต์

ผมคิดว่า AFDKO น่าจะเหมาะสำหรับเป็นเครื่องมือพัฒนา OpenType features แบบข้ามแพลตฟอร์ม F0ntUni เวอร์ชั่นต่อๆ ไป คงได้ใช้ AFDKO ในการพัฒนา ส่วนในแง่การออกแบบฟอนต์ทุกคนก็สามารถใช้โปรแกรม GUI ตัวเดิมของตัวเอง วาด glyphs ตามแต่จะถนัด แล้วค่อยเพิ่มฟีเจอร์ทีหลัง น่าจะดีใช่ไหม?

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

หมายเหตุ: ผมเข้าใจแล้วว่าทำไมฟอนต์ดีไซเนอร์ฝรั่งบางคนกลายมาเป็นโปรแกรมเมอร์ในที่สุด เพราะการแสดงผลตัวอักษรในคอมพิวเตอร์เป็นเรื่องที่ซับซ้อนมากๆ และไม่มีใครทำเครื่องมือที่เหมาะกับความต้องการของเขา เขาเลยเขียนโปรแกรมเองซะเลย!
« แก้ไขครั้งสุดท้าย: 16 เม.ย. 2014, 04:40 น. โดย Sungsit » บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
ง่ะ ซึ่งมันโหดมากเลยครับ
บันทึกการเข้า

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

ไม่ต้องห่วงครับ เทมเพลตแบบ .otf สำเร็จรูปก็ยังมีต่อไป เพราะใช้ขึ้นฟอนต์ใหม่ได้ง่ายสำหรับโปรแกรม gui ทั้งหลาย แต่จะเพิ่มรูปแบบ text files สำหรับ font geeks ที่ต้องการแก้ไขฟีเจอร์ด้วย cli หรือคนที่อยากสร้างเทมเพลตใหม่ของตัวเองด้วย AFDKO เช่น เพิ่มหรือลดชุดตัวอักษร, เพิ่มความฉลาดให้ฟอนต์ด้วยฟีเจอร์อื่นๆ เป็นต้น

ผมคิดว่า F0ntUni เป็นไกด์ไลน์มากกว่าเทมเพลตสำเร็จรูปนะ สามารถเติมออพชั่นที่แต่ละคนต้องการได้ถ้าเขาต้องการ เราแค่พยายามแก้ปัญหาพื้นฐานของฟอนต์ไทยไว้ให้เขาเริ่มต้นได้สะดวก
บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
เจ๋ง เย้
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ผมเพิ่งปล่อย F0ntUni v0.1.1 เพื่อแก้บั๊กตัวสี่เหลี่ยมของ F0ntUni B และ B Pali ใน Adobe InDesign & Illustrator เวลาที่ใช้ Abobe World-Ready Composer โดยเพิ่ม 'mark' ฟีเจอร์กลวงๆ เพื่อหลอกมัน (Hack!) ส่วน F0ntUni A ไม่ได้แก้อะไร นอกจากปรับเวอร์ชั่นให้ถูกต้อง

ถ้าใครใช้ F0ntUni B/Pali อันเดิมอยู่ วิธีอัพเดตฟีเจอร์จากเวอร์ชั่นที่แล้ว คือ อิมพอร์ตไฟล์ f0ntuni-b.fea เข้าไปแทนอันเดิม หรือเปิดด้วย text editor แล้วก็อปปี้ไปใส่ใน OpenType ฟีเจอร์ของโปรแกรมทำฟอนต์ที่คุณใช้ (ไฟล์ *.fea เป็นแค่ text ธรรมดาครับ)
บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
 ไหว้
เอา F0ntUni B เวอร์ชั่นเดิมไปเปิดซิงแล้วครับ ใช้งานแล้วรู้สึกเท่ทีเดียว เจ๋ง เดี๋ยวจะลองอัพเดตฟีเจอร์ใหม่ดูครับ
......

เมื่อกี้ลองใช้ fontlab เปิดเทมเพลต ...B วางตัวอักษรภาษาไทยลงไปจนหมด แล้วลอง gen ดู ไม่สำเร็จ ง่ะ  มันฟ้องอย่างนี้ครับ
ERROR: There was a problem while compiling OpenType font. Final .otf font is not saved. Please, check OpenType features definition for errors
(คุณสังศิต ต้องการเอาไฟล์ไปดูไหมครับ)

ผมเลยทดลองเปิด F0ntUni B แล้ว gen จากตัวนี้เลย  มันฟ้อง
[WARNING] <f0ntuni-b> The feature file OS/2 overrides TypoAscender and TypoDescender do not sum to the font em-square.
แต่ก็ได้ฟ้อนต์  otf ออกมา

แต่กับ fontforge ไม่มีปัญหาครับ
« แก้ไขครั้งสุดท้าย: 20 เม.ย. 2014, 18:02 น. โดย CS@nok » บันทึกการเข้า
 ไหว้
ขออนุญาตลบข้อความนะครับ
« แก้ไขครั้งสุดท้าย: 11 ก.ย. 2014, 23:06 น. โดย CS@nok » บันทึกการเข้า
ส่งฟอนต์ที่มีปัญหามาใช้ผมเช็คดูก่อนก็ได้ครับ ช่วงนี้ผมจะยุ่งๆ นอนไม่ค่อยเต็มอิ่ม อาจจะตอบช้าหน่อยนะครับ

ถ้าลองพรินต์ฟอนต์เทมเพลตหรือฟอนต์บุญถึกมีปัญหาไหมครับ? ถ้ามีปัญหาก็คงเป็นที่เทมเพลตกับโปรแกรมที่สั่งพิมพ์ พรินเตอร์ไม่น่าเกี่ยว มันแค่รับการตีความจากโปรแกรมสั่งพิมพ์ ยกเว้นมันจะมีปัญหาไดรเวอร์ ลองแปลงเป็น pdf ก่อนพรินต์ด้วยก็ดีนะครับ ผมทำเอกสารในลินุกซ์ก็ไม่มีปัญหานะ
บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
 อ๊าง~
« แก้ไขครั้งสุดท้าย: 11 ก.ย. 2014, 23:05 น. โดย CS@nok » บันทึกการเข้า
 ไหว้
« แก้ไขครั้งสุดท้าย: 11 ก.ย. 2014, 23:04 น. โดย CS@nok » บันทึกการเข้า
ผมลองจับ F0ntUni-A  เป็นฟอนต์แสดงผลในระบบ Android 4.2 แสดงผลได้ดีเยี่ยมมากครับ สระ วรรณยุกต์ทุกตัวไม่มีปัญหาอะไรเลย



เหตุที่ต้องจับตัวนี้ยัดไปเพียวๆ เพราะว่า ผมลองใช้ฟอนต์ "บุญ" แล้วไม่สำเร็จ สระวรรณยุกต์ลอยผิดตำแหน่งเกือบหมด เช่น ไม้เอก ไม้โท อยู่สูงเกินไป สระอุ อู ต่ำเกินไป สระอิ ลอยอยู่เหนือหาง ปอปลา
พอเอาฟอนต์ ซีเอส ประกาศ ของผมซึ่งใช้ F0ntUni-B เป็นเทมเพลต ใส่เข้าไป ก็มีอาการเดียวกัน
หรือฟอนต์ "ครุฑ" ของคุณเทพพิทักษ์ ก็ยังผิดอยู่เล็กน้อย คือ พอพิมพ์คำว่า สระล่างตามด้วยวรรณยุกต์ มันจะสลับตำแหน่งกัน เช่น พิมพ์คำว่า อยู่  ไม้เอกจะวิ่งไปอยู่ล่าง สระอู จะกระโดดขึ้นมาอยู่บน ย.ยักษ์

ดังนั้น สาวกฟอนต์ที่กำลังจะทำฟอนต์เพื่อแสดงผลในระบบ  Android แล้วสระวรรณยุกต์ไม่เพี้ยนผิดตำแหน่ง ผมแนะนำตัวนี้เลย
« แก้ไขครั้งสุดท้าย: 05 พ.ย. 2014, 02:28 น. โดย CS@nok » บันทึกการเข้า
เจ๋ง
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
โทษทีครับ เพิ่งเห็นว่าเอาไปทดสอบใน Android ด้วย ผมว่าจะหาเวลาอัพเดตเทมเพลตอยู่เหมือนกัน

สำหรับ Android ถ้าจำไม่ผิด เขาใช้ HarfBuzz เป็น Text layout engine เลยเหมาะกับภาษาที่เขียนซับซ้อนแบบไทย ซึ่งใช้ mark & mkmk เข้มข้นอย่าง F0ntUni-A คือผมทำมาร์คไว้ทุกตัวอักษรเลย ซึ่งต่างจาก F0ntUni-B มาก ปัญหาเมื่อก่อนคือระบบปฏิบัติและโปรแกรมส่วนใหญ่รองรับภาษาซับซ้อนได้แย่มาก เราเลยต้องใช้วิธีแบบ F0ntUni-B เป็นหลัก (ถ้าผมจำไม่ผิด ดูฟีเจอร์ในฟอนต์ Noto ของ Google เป็นตัวอย่างก็ได้ครับ วางวรรณยุกต์ไว้ต่ำเป็นค่าตั้งต้นแล้วใช้ mkmk แล้วค่อยดึงขึ้นไปซ้อนสระบน)

แต่ตอนนี้แนวโน้มเริ่มเปลี่ยน ผมเดาว่าใน MacOS 10.10 เพิ่มความสามารถในการรองรับ OpenType ได้ดีขึ้น นั่นแปลว่าการทำฟอนต์โดยใช้เทมเพลต  F0ntUni-A น่าจะมีปัญหาน้อยลง (ผมยังไม่ได้ทดสอบนะ แต่ลองดูฟอนต์บุญโฮมที่ใช้ mark & mkmk แล้วไม่เจอปัญหาแบบเดิมในแมค) และเว็บบราวเซอร์สมัยใหมส่วนใหญ่แสดงผล F0ntUni-A ได้ถูกต้อง ปัญหาใหญ่อย่างเดียวที่เหลือคือ ผู้ใช้ซอฟต์แวร์ของ Adobe ในไทยเคยชินกับการใช้เวอร์ชั่นที่ไม่รองรับภาษาที่ซับซ้อนมาทำงานกับฟอนต์ไทย ฟอนต์ที่ทำฟีเจอร์อย่าง F0ntUni-A ก็เลยเละ ซึ่งอันนี้ไม่ใช่บั๊กแต่เป็นความเคยชินของผู้ใช้ ทั้งๆ ที่ Adobe มี Text layout engine ที่รองรับภาษาซับซ้อนได้ดีไม่แพ้ HarfBuzz ให้เลือกใช้ แต่อยู่ในเวอร์ชั่นอาหรับและเอเชียใต้ซึ่งใกล้เคียงกับวิธีเขียนภาษาไทยมากกว่าละติน

ถ้าเราให้ข้อมูลผู้ใช้ Adobe ในไทยเข้าใจได้ว่าทำไมจึงควรใช้เวอร์ชั่นอาหรับ เราก็ไม่ต้องเสียเวลาทำเทมเพลตหลายแบบครับ (แต่คงยากอ่ะครับ เพราะฟอนต์รุ่นเดิมที่ใช้กัน เขาแฮ็คไว้เยอะ มันคงแสดงผลไม่ถูกต้องในเวอร์ชั่นอาหรับ ผมเดานะ)
บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
หน้า: [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!