หน้า: [1] 2 3 4 5 6 7 8 ... 10
 
ผู้เขียน หัวข้อ: ขอเชิญร่วมทดสอบ Thai Font Template  (อ่าน 596279 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
สวัสดีครับ

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

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

ในที่สุดก็ได้ออกมาเป็นไฟล์นี้ครับ

https://drive.google.com/file/d/0B5PENpxEPXD1SWxTU2s5UElMLXc/edit?usp=sharing
https://drive.google.com/file/d/0B5PENpxEPXD1VjJhYjFBd2lFYXM/edit?usp=sharing

ตัวนึงจะมีโครงดีไซน์ฟอนต์เป็นฟอนต์สารบรรณ ส่วนอีกตัวผมเพิ่งแก้ไขโดยปรับให้กลายเป็น  background เฉยๆ
ฝากลองโหลดไปทดสอบ gen ดูทีนะครับว่าออกมาแล้วใช้งานได้ไม่ได้อย่างไรบ้าง

แล้วขอแปะไฟล์ ttf / otf ทิ้งไว้หน่อยครับ ผมไม่มีวินโดวส์ แล้วแมคมันก็กากเหลือเกิน gen แล้วติด error ตลอด ฮือๆ~

ถ้าตัวนี้ใช้ได้ก็จะได้เริ่มผลักดันให้ช่วยๆ กันใช้เป็นหลักแทนนายพลในตำนานครับ กรี๊ดดดดด
« แก้ไขครั้งสุดท้าย: 16 มี.ค. 2014, 21:53 น. โดย iannnnn » บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
(โพสต์นี้เว้นที่ไว้แปะลิงก์สำคัญ หรือไฟล์ฟอนต์ที่ gen ออกมาแล้วโอเค)
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
Gen "TFace-Template-by-noom" แล้วได้เจ้านี่มาครับ
โค้ด:
[WARNING] <TemplateThaiFont> [internal] Feature block seen before any language system statement.  You should place languagesystem statements before any feature definition [D:/Documents/FontLab/Studio 5/fontlab.fea 29]
แต่ก็ได้ไฟล์นี้ออกมาครับ TTF เปิดได้ แต่ไม่รู้ว่าถ้าลงจะมีปัญหาอะไรไหมนะครับ

ปล. ถ้าเป็นแบบ Background จะ Error เป็น fontlab.fea 30 แทนครับ เปิดไฟล์ไม่ได้
« แก้ไขครั้งสุดท้าย: 15 มี.ค. 2014, 14:18 น. โดย rootEnginear » บันทึกการเข้า
เจ๋ง
ผมใส่โค้ดเพิ่มนิดหน่อยตามที่จานโม่แนะนำครับ

https://drive.google.com/file/d/0B5PENpxEPXD1VXpMajJWUE9qNHM/edit?usp=sharing

ตัวนี้ gen ได้ไหมเอ่ย
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ตอบสองจู๋เลยละกัน  กร๊าก
------------------------------------

ผมลบโค้ดของพี่แอนออก ใส่เฉพาะของผม
เจนออกมายังติดบรรทัดนี้ครับ อันนี้เกินความเข้าใจละ...

บันทึกการเข้า

perfectionist
คุณแอนเซฟเป็นไฟล์ .sfd หรือ .ufo ได้ไหมครับ? อยากช่วยดูซอร์สไฟล์ที่ยังไม่ได้ gen แต่ผมเปิด .vfb ในลินุกซ์ไม่ได้ครับ
บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
เวอร์ชั่น + เปิดมา gen ออกมาได้แบบนี้ครับ
โค้ด:
[ERROR] <TemplateThaiFont> The languagesystem DFLT dlft; statement must preceed all other language system statements. [D:/Documents/FontLab/Studio 5/fontlab.fea 5]
[WARNING] <TemplateThaiFont> Duplicate specification of language system [D:/Documents/FontLab/Studio 5/fontlab.fea 6]
[FATAL] <TemplateThaiFont> glyph class not defined (text was "@con20") [D:/Documents/FontLab/Studio 5/fontlab.fea 80]
ได้ไฟล์ TTF นี้มาฮะ
บันทึกการเข้า
คุณแอนเซฟเป็นไฟล์ .sfd หรือ .ufo ได้ไหมครับ? อยากช่วยดูซอร์สไฟล์ที่ยังไม่ได้ gen แต่ผมเปิด .vfb ในลินุกซ์ไม่ได้ครับ

ไม่ได้ครับ  ฮือๆ~

งี้คงต้องฝากทดสอบไฟล์ TTF ของคุณ rootEnginear ว่าไหวไหมนะครับ
คือมันดันเป็นปัญหาที่แก้ไม่ได้ ต้องรอทาง(ชุมชน)ฟอนต์แล็บเขาช่วย ฮ่าๆ ฮือๆ
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ใช้ได้แล้วครับ ดัดแปลงโดยผมเอง ไม่รู้จะถูกต้องหรือยังไงรึเปล่านะครับ
ก่อนอื่นเราต้องถอดรหัสเจ้า @con20 @vowXX นี่ก่อน ซึ่งผมถอดรหัสมาได้ตามนี้
โค้ด:
con10 ป ฝ ฟ
con20 ญ ฐ
con21 ญ ฐ ตัดเชิง
con30 ฎ ฏ
con31 ฎ ฏ (ตัวนี้น่าจะเป็น Alternate เพราะมี ฎ ฏ สองชุดและมันจะเปลี่ยนจาก 30 เป็น 31 ที่ Liga13)
vow10 สระ อิ อี อึ อื อั อํ อ็
vow11 สระ อิ อี อึ อื อั อํ อ็ หลบซ้าย (ปิ ปี ปึ ปื ปั ปํ ป็)
vow20 สระ อุ อู อฺ
vow21 สระ อุ อู อฺ ต่ำ (ฎุ ฎู ฎฺ)
ton10 วรรณยุกต์ยกสูงปกติ (พี่ - แบบไม้เอกนี้)
ton11 หลบซ้าย (เป่า - แบบไม้เอกนี้)
ton12 ต่ำปกติ (นู๋ - แบบไม้จัตวานี้)
ton13 หลบซ้ายบน (ปี่ - แบบไม้เอกนี้)
แล้วเราก็เปิด Panel Classes ออกมาครับ แล้วก็จัดการเพิ่มไปในชนิด Opentype ครับ แล้วก็คอมไพล์ เซฟได้เลยครับ อิอิ
- ไฟล์ vfb เปิดกับ Fontlab คลิกที่นี่
- ไฟล์ TTF ที่ gen ออกมาได้ คลิกที่นี่
- ไฟล์ Classes (ของพวก con10 con20 บลาๆ) คลิกที่นี่

/*เย้สสสสสสสสสสสสสสสสสสสสสส*/
บันทึกการเข้า
ผมขอแสดงความเห็นหน่อยนะครับ คือตอนแรกผมไม่เข้าใจว่าทำไมถึงต้องทำเทมเพลตภาษาไทยเพราะมันมีในยูนิโค้ดอยู่แล้ว แค่จัดให้มันลงตาม codepoint แล้วก็ทำฟีเจอร์ แต่หลังจากเปิดไฟล์ที่คุณ rootEnginear gen แล้ว ผมถึงได้เข้าใจว่าคงไม่ได้ต้องการแค่วางตัวอักษรให้ตรง codepoint แต่ต้องการ OpenType Features สำหรับแก้ปัญหาทั่วไปๆ ของฟอนต์ไทยด้วย อีกอย่างผมเห็นอินเตอร์เฟสของ FontLab ตรง OpenType ที่ต้องเขียนโค้ดเองถึงได้เก็ตว่าทำไมมันดูยุ่งยากจัง เพราะ FontForge ที่ผมใช้ทำฟีเจอร์มันไม่ต้องเขียนโค้ดซักตัวก็ได้ (มันเซฟเป็น text file ที่แก้ไขด้วย text editor ได้ แต่ก็มี GUI ให้คลิกๆ ทำ OpenType features ที่เข้าใจง่ายมาก) ถ้าผมเข้าใจถูกต้องตามนั้นเราจะมีวิธีแก้ปัญหาตัวอักษรไทยตามมาตรฐาน Unicode และ OpenType ได้หลายวิธีครับ นั่นเป็นเหตุหนึ่งที่ผมไม่เคยทำเทมเพลตเพราะแก้ปัญหาฟอนต์แต่ละตัวได้สารพัดวิธี แล้วแต่ว่าเราตั้งใจจะให้ฟอนต์ตัวนั้นใช้งานกับโปรแกรมแบบไหนได้บ้าง เพราะโปรแกรมแต่ละตัวเรียกใช้ฟีเจอร์ของฟอนต์ได้ไม่เท่ากัน

ผมสรุปปัญหาทั่วๆไปที่ฟอนต์ไทยต้องแก้ ตามนี้

1. แก้ตำแหน่งวรรณยุกต์ (และการันต์) สำหรับพยัญชนะที่ไม่มีสระบนและพยัญชนะที่มีสระล่าง
2. แก้ตำแหน่งสระบนและวรรณยุกต์ที่ติดหาง ป ฝ ฟ
3. แก้ตำแหน่งนิคหิตที่ติดหาง ป ฝ ฟ
4. แก้ตำแหน่งนิคหิตสระอำที่ต้องพิมพ์ตามหลังวรรณยุกต์ (ตามลำดับ text input ที่ถูกต้อง)
5. แก้ตำแหน่งสระล่างที่ทับ ฎ ฏ
6. ตัดฐาน ฐ ญ เมื่อมีสระล่าง

ส่วนอะไรที่นอกเหนือจากนี้ผมคิดว่าเป็นแค่ส่วนเสริมสำหรับฟอนต์แต่ละตัว (หมายถึงถ้าไม่ทำก็ไม่ถือว่าผิด หรือแก้ได้ด้วยการวาด glyph ให้ลงตัว) เช่น ฤๅ ฦๅ ligatures, ฟองมันฟันหนู, ย่อตัว ฎ ฏ, สลับแนวหาง ช ซ ส ศ ฮ หลบสระบน ฯลฯ

ความเห็นของผมสำหรับเทมเพลตตัวนี้คือ มันซับซ้อนเกินไปครับ ผมคิดว่ามันเข้าใจยากสำหรับคนที่เพิ่งเริ่มทำฟอนต์ใหม่ๆ ถ้าเป้าหมายของการใช้เทมเพลตคืออยากให้ฟอนต์ไทยทำง่ายขึ้นโดยเตรียมวิธีแก้ปัญหาทั่วไปสำหรับมือใหม่ด้วยนะครับ ส่วนคนที่คุ้นกับปัญหาเดิมๆ ก็คงเข้าใจอยู่แล้วว่าทำไมถึงใช้เทมเพลต แต่บางฟีเจอร์ผมไม่เข้าใจว่าทำไมถึงใส่ไว้ เช่น 'numr' ที่แปลงเลขอารบิคเป็นไทย มันผิดความหมายตามมาตรฐาน OpenType ครับ เพราะ 'numr' มีไว้ใช้กับ 'frac' หรือเลขสัดส่วน อีกอย่างการแปลงเลขอารบิคเป็นไทยก็ไม่ใช่กรณีทั่วไปที่ฟอนต์ทุกตัวต้องการด้วย มันจะมีประโยชน์ถ้าต้องการป้อนเลขอารบิคแล้วแสดงผลเป็นไทยเพื่อให้ใช้คำนวณได้ ผมเห็นว่าใช้พวก alternative style น่าจะเหมาะกว่า (ถ้าจะใส่ไว้นะ)

เดี๋ยวผมจะลองทำเทมเพลตมานำเสนอเป็นทางเลือกบ้างนะครับ จะพยายามทำให้เข้าใจและแก้ไขได้ง่ายหน่อยสำหรับคนที่อยากทำฟอนต์อย่างเดียว ไม่อยากวุ่นวายกับ Unicode และ OpenType (แต่รู้ไว้ก็ดีนะ) หลังจากนั้นใครจะเติมหรือลบอะไรค่อยมาดูกัน เพราะปัญหาเดียวกันมันแก้ได้หลายวิธี เพียงแต่เราต้องนิยามก่อนว่าต้องการจะทำอะไร (ก็อย่างที่บอกตอนแรกผมไม่รู้ว่าทำไมถึงต้องมีเทมเพลต งง)
« แก้ไขครั้งสุดท้าย: 16 มี.ค. 2014, 15:35 น. โดย Sungsit » บันทึกการเข้า

เทมเพลตฟอนต์ไทย FontUni https://github.com/fontuni/fontuni/releases
ผมคิดว่าการทำเทมเพลตมันเกิดขึ้นมาเพื่อ "มือใหม่หัดขับ" ครับ (เปรียบเทียบกับรถ) ทีนี้พอมือใหม่หัดขับเริ่มชินแล้วเนี่ย มันก็จะมีปัญหาเช่นเครื่องยนต์ไม่เป๊ะเพราะทำมาเพื่อมือใหม่ แล้วจะทำยังไงดีล่ะ? ซ่อมรถก็ไม่เป็น ก็ต้องไปหารถที่ผ่าน "มือช่าง" ผู้ชำนาญการ (หรืออาจไปเรียนซ่อมรถก็ได้) มาเพื่อใช้ครับ กร๊าก
อย่างเทมเพลตนายพลเอาตัวอักษรบางตัวไปล้ำส่วน ASCII ทำให้มีปัญหาเกี่ยวกับการพิมพ์ในภาษาอื่นๆ แต่เพราะมัน OK กับโปรแกรมเก่าๆ มันจึงยังถูกใช้จนถึงทุกวันนี้ก็ยังใช้กันอยู่ทั้งๆ ที่มันไม่มีมาตรฐาน (แต่เพราะมันมีทำไว้แล้วไง ไม่อยากจะไปยุ่งเกี่ยวอะไรอีก ง่ะ) แต่ในตอนนี้โปรแกรมส่วนใหญ่มันใช้ Unicode กับระบบ Opentype มากขึ้น เราก็เลยต้องสังคายนา(ปรับปรุงทำใหม่)มันครับ และถ้าเกิดเราเริ่มให้มือใหม่ทำอักขระเอง สร้าง Glyph เอง ปัญหาก็จะตามมาว่า ทำไมสระซ้อน ทำไมมันไม่เป๊ะอ่ะคะ แล้วกระทู้สอน+กระทู้ถามมันจะมากขึ้นทวีคูณ (ก็แหงล่ะ โวย) แล้วมาตรฐานมันก็จะเริ่มแตกต่างกันไป แต่ละคนจะเริ่มสอนไม่เหมือนกัน (หลากหลายดีนะผมว่า) แต่ละคนก็จะมีวิธีการแก้ขอแต่ละคนไปไม่เหมือนกัน อาจทำให้คนใหม่ๆ สับสนได้ เราจึงจำเป็นต้องกำหนดมาตรฐานจริงๆ ขึ้นมา และอาจทดแทนเจ้าตัวเดิมไปในอนาคต เพราะมันจะเข้ากับสากลได้ดีกว่าครับ
บันทึกการเข้า
โอ้ ขอบคุณมากๆ ครับ เป็นพระคุณอย่างยิ่งที่เห็นข้อเสนอที่ถูกจุดแบบนี้เลยครับ ไหว้

ตัวเทมเพลตของสหพันธ์ฯ ที่เขาส่งมาให้นำมาศึกษาและทดลองใช้งานนั้น
เขาทำมาเพื่อให้มันอยู่ในโหมด "ดีไซเนอร์มาถึง เปิด ก็อปวาง จัดช่องไฟ เสร็จ" ครับ
ดังนั้นเลยมีฟีเจอร์บางประการที่งอกเพิ่มขึ้นมาและทำให้ชีวิตง่ายขึ้น
เปรียบแล้วก็เหมือนกับของนายพลนั่นเลยครับ

ซึ่งบางทีมันก็ไม่ใช่การ Set zero เป๊ะๆ แบบพวก CSS Reset
แต่จะเป็นการจับ "มัดห่อ" ไว้เพื่อการใช้งานเลยมากกว่า ดังนั้นมันเลยมีลักษณะนิสัยที่แตกต่างกันครับ
อยากเห็นของคุณสังศิตแล้วครับว่าถ้าเคลียร์โค้ดออกมาเพียวๆ และเป็นไปตามไกด์ไลน์มาตรฐานจะเป็นอย่างไร

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

เนียนเล่าให้ฟังว่าเมื่อก่อนเว็บฟอนต์มีเด็ก ม.ต้นมาทำฟอนต์แข่งกันเยอะมาก
และหลงเหลือหลักฐานเป็นฟอนต์ลายมมือน่ารักที่โผล่ตามปกหนังสือทุกวันนี้ นั่นแหละครับโลกในอุดมคติของผมเอง กร๊าก

ดีใจครับที่เห็น 6 ข้อข้างบนจากผู้รู้จริง มันใช่เลย ใช่สุดๆ ไหว้ละก๊าบบบ
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
ใช้ได้แล้วครับ ดัดแปลงโดยผมเอง ไม่รู้จะถูกต้องหรือยังไงรึเปล่านะครับ
ก่อนอื่นเราต้องถอดรหัสเจ้า @con20 @vowXX นี่ก่อน ซึ่งผมถอดรหัสมาได้ตามนี้
โค้ด:
con10 ป ฝ ฟ
con20 ญ ฐ
con21 ญ ฐ ตัดเชิง
con30 ฎ ฏ
con31 ฎ ฏ (ตัวนี้น่าจะเป็น Alternate เพราะมี ฎ ฏ สองชุดและมันจะเปลี่ยนจาก 30 เป็น 31 ที่ Liga13)
vow10 สระ อิ อี อึ อื อั อํ อ็
vow11 สระ อิ อี อึ อื อั อํ อ็ หลบซ้าย (ปิ ปี ปึ ปื ปั ปํ ป็)
vow20 สระ อุ อู อฺ
vow21 สระ อุ อู อฺ ต่ำ (ฎุ ฎู ฎฺ)
ton10 วรรณยุกต์ยกสูงปกติ (พี่ - แบบไม้เอกนี้)
ton11 หลบซ้าย (เป่า - แบบไม้เอกนี้)
ton12 ต่ำปกติ (นู๋ - แบบไม้จัตวานี้)
ton13 หลบซ้ายบน (ปี่ - แบบไม้เอกนี้)
แล้วเราก็เปิด Panel Classes ออกมาครับ แล้วก็จัดการเพิ่มไปในชนิด Opentype ครับ แล้วก็คอมไพล์ เซฟได้เลยครับ อิอิ
- ไฟล์ vfb เปิดกับ Fontlab คลิกที่นี่
- ไฟล์ TTF ที่ gen ออกมาได้ คลิกที่นี่
- ไฟล์ Classes (ของพวก con10 con20 บลาๆ) คลิกที่นี่

/*เย้สสสสสสสสสสสสสสสสสสสสสส*/

โอ้ อันนี้ดีมาก ฝากโฮสต์ไฟล์ไว้สักสิบปีนะครับ มีประโยชน์ต่อผู้ศึกษาที่ตามมาอ่านทีหลังมากๆ กรี๊ดดดดด
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
อันที่จริงระบบการพิมพ์วรรณยุกต์ก่อนสระอำเนี่ยมันเป็นปัญหาระดับชาติเลยล่ะ เพราะมันติดมากับคอมพิวเตอร์สมัยแรกๆ คนใช้กันจนชิน แถมยังรวม liga มาให้เลยแฮะ (ไม่รู้จะขอบคุณหรือยังไงดี อ๊าก ฮือๆ) ทีนี้ถ้าเราไปฟ้องและกำหนดให้พิมพ์ ํ+า แทนนี้ต้องเป็นข่าวใหญ่ข่าวช็อคระดับชาติแน่ๆ (เว่อร์ โวย) เมื่อกี้ผมก็ไปลองมา เวลาใช้อันมาตรฐานอันล่าสุดที่ผมเจนต์ไป มันไม่มีฟีเจอร์สลับ อำ กับ วรรณยุกต์แบบท่านนายพล และพิมพ์ ํ+า ยังไม่รวมเป็น ำ อีกด้วย เหวอ แต่ในเทมเพลตนายพล เมื่อผู้ใช้พิมพ์ ํ+า มันจะรวมเป็น ำ ให้เลย แถม พอเราพิมพ์ น+ำ+้ (นำ้) มันก็จะสลับเป็น น+้+ำ (น้ำ) ให้อีก (สะดวกจริงๆ กร๊าก)
บันทึกการเข้า
คือปัญหาที่เราเจอกันบ่อยที่สุดอันดับต้นๆ เวลามีคน (ผู้ใช้ทั่วไป) มาถามก็คือ
พีค๊ ทำไมพิมพ์ในโปรแกรมนี้แล้วมันไม่ขึ้น ผิดเพี้ยน ตำแหน่งไม่เป๊ะ ฯลฯ ค๊?

โปรแกรมอะไรครับน้อง

















Microsoft Word ค๊



 fuc yea
บันทึกการเข้า

ทำมาหากินด้วยการเปิดร้านสกรีนเสื้อยืด จ้ะ
หน้า: [1] 2 3 4 5 6 7 8 ... 10
 
 
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!