ฟอนต์
ที่มา
http://www.thaitux.info/book/export/html/275รวมหมวดฟอนต์
เอาไฟล์มาสรุปให้ดาวน์โหลดได้ง่าย ๆ
* ฟอนต์ที่ทดลองทำเอง เฉพาะไฟล์ ttf ttfonts.tar.gz
เมื่อแตกไฟล์แล้ว เอาไฟล์ ttf ทั้งหมดไปใส่ไว้ภายใต้ ~/.fonts หรือ /usr/share/fonts/truetype และ
ทำลิงก์ไฟล์ 65-z-ttfonts.conf ไปยัง /etc/fonts/conf.d
$ sudo ln -sf 65-z-ttfonts.conf /etc/fonts/conf.d
$ fc-cache -r
* ฟอนต์ทดแทนฟอนต์วินโดวส์ เฉพาะไฟล์ ttf thaifont-abc.tar.gz
เมื่อแตกไฟล์แล้ว เอาไฟล์ ttf ทั้งหมดไปใส่ไว้ภายใต้ ~/.fonts หรือ /usr/share/fonts/truetype และ
ทำลิงก์ไฟล์ 65-2-thaifont-abc.conf ไปยัง /etc/fonts/conf.d
$ sudo ln -sf 65-2-thaifont-abc.conf /etc/fonts/conf.d
$ fc-cache -r
บันทึกเกร็ดฟอนต์ของเดเบียน
* ไฟล์คอนฟิกของฟอนต์ในเดเบียนอยู่ที่ /etc/fonts/conf.d ซึ่งเดเบียนบรรจุไฟล์จริงไว้ที่ /etc/fonts/conf.avail แล้วใช้โยงลิงก์มาที่ conf.d อีกทีนึง
* ถ้ามีชื่อฟอนต์ซ้ำกันในไฟล์คอนฟิก ชื่อไฟล์ที่มาทีหลังจะมีความสำคัญกว่าชื่อไฟล์ที่มาถึงก่อน เช่น 65-1-ttfonts.conf จะสำคัญน้อยกว่า 65-2-ttfonts.conf
ดังนั้นถ้าจะ override ฟอนต์ของระบบ จะต้องตั้งให้ชื่อเรียงอยู่ทางท้าย
ลองทำฟอนต์ทดแทน ๑ - Angsima
ช่วงนี้กำลังทดลองเอา OpenOffice บนลินุกซ์ มาใช้แทน Microsoft Office บนวินโดวส์ ได้ผลดีพอควร แต่มาติดปัญหาสำคัญคือฟอนต์ในเอกสารเก่าจำนวนมาก เป็นฟอนต์บนวินโดวส์ คือ Angsana New และ Browallia New
ถ้าจะแก้ ก็ต้องแก้กันเป็นจำนวนมาก จึงคิดว่าถ้าเราทำฟอนต์ใหม่ทดแทน Angsana ให้สามารถเปิดเอกสารเก่าที่เป็นฟอนต์ Angsana โดยไม่เสียรูปแบบ น่าจะเป็นทางออกที่ดีกว่า
จึงทดลองนำฟอนต์นรบุตรมาแปลงขนาดความกว้างตัวอักษรให้เท่ากับ Angsana ตั้งชื่อว่า Angsima (อังสิมา) แปลว่าอะไรก็ไม่รู้ แต่ตั้งชื่อให้คล้าย เพื่อให้เวลาเราเลือกฟอนต์ รายชื่อจะได้อยู่ใกล้ ๆ กัน
ทดลองรุ่นแรก แบบหยาบ ๆ ได้ผลคือ
ภาษาไทยได้แล้ว แต่ภาษาอังกฤษยังไม่ได้
( ทำส่วนโค้งเป็นแบบ quadratic เพราะเริ่มถนัดแล้ว และสามารถแปลงเป็น cubic ได้โดยไม่สูญเสียตำแหน่ง )
ดาวน์โหลดได้ดังนี้
* ไฟล์ทรูไทป์ Angsima.ttf
* ไฟล์ฟอนต์ฟอร์ก Angsima.sfd
* ไฟล์ทรูไทป์ Angsima-Bold.ttf
* ไฟล์ฟอนต์ฟอร์ก Angsima-Bold.sfd
* รวมทั้งหมดในไฟล์เดียว Angsima.tar.gz
ถ้าต้องการทำเป็นฟอนต์ทดแทนฟอนต์อังศณา ในไฟล์คอนฟิกของฟอนต์ ต้องเติมท่อนนี้ลงไปด้วย
$ sudo vi /etc/fonts/65-thai-XXX.conf
...
Angsana New
Angsima
...
ท่อนนี้เอาตัวอย่างมาจาก http://lists.freedesktop.org/archives/fontconfig/2006-June/002326.html
ถึงตอนนี้เรียกว่ายังไม่เสร็จ แต่ก็พอใช้งานได้ แต่จะพยายามทำต่อให้ใช้งานได้จริง ๆ ครับ
update
* 50-06-06 ทำ Angsima แบบปกติเสร็จแล้ว แก้(ลบ) Kerning ของต้นฉบับอักษรภาษาอังกฤษ ปรับปรุงเลขไทยให้เหมือนต้นแบบ ปรับระยะห่างระหว่างบรรทัดเรียบร้อย แต่ยังไม่ได้ทดสอบแบบละเอียด
* 50-06-07 ทำ Angsima-Bold เสร็จแบบหยาบ ๆ
* 50-06-08 Angsima-Normal ปรับละเอียดเสร็จแล้ว
* 50-06-09 สร้างเส้นใหม่-ปรับละเอียด Angsima-Bold เสร็จ
* 50-06-09 ทำ Oblique และ BoldOblique ด้วยเมนู Element -> Transformation -> Transform -> skew แบบอัตโนมัติทั้งตาราง แต่ยังไม่ได้ทดสอบ
ลองทำฟอนต์ทดแทน ๒ - Bromlila
ฟอนต์ตัวที่สองตั้งชื่อว่า บรมลีลา - Bromlila
จุดประสงค์จะใช้แทน Browallia (โดยไม่เสียรูปแบบ)
ใช้ฐานจากฟอนต์ Garuda ยกเว้นตัวหนาที่เป็นภาษาอังกฤษ ตัว Garuda-Bold ยังไม่หนาเท่า Browallia ผมจึงเอามาจากตัวหนา sans ของ Freefont แทน
มีข้อสังเกตุคือ ตัว Browallia กับ Garuda เมื่อปรับสัดส่วนแล้ว มีลายเส้นที่แทบจะนาบกันสนิท
เที่ยวนี้ขี้เกียจทำ Screenshot เพราะตัวเหมือนกันเป๊ะ ๆ ดาวน์โหลดเลยดีกว่า
ดาวน์โหลดได้ดังนี้
* รวมทั้งหมดในไฟล์เดียว Bromlila.tar.gz
ลองทำฟอนต์ทดแทน ๓ - Corada
ฟอนต์ตัวที่สามตั้งชื่อว่า ครดา - Corada
จุดประสงค์จะใช้แทน Cordia (โดยไม่เสียรูปแบบ)
ชื่อฟอนต์ไม่มีคำแปล เพราะพยายามให้อักขระสามตัวแรกเหมือนกัน เพื่อให้เลือกฟอนต์ได้ง่าย จำง่าย
ใช้ฐานจากฟอนต์ Loma แต่ยากหน่อยตรงที่ฐานของฟอนต์โลมาคือ FreeSerif ไม่มีขนาดความหนาแบบ Light เลยต้องเสียเวลาสร้างตัวภาษาอังกฤษแบบ Light ด้วย และใช้ขนาดปกติ (Book) ของ FreeSerif เป็น Bold ของ Corada แทน
ดังนั้นสำหรับเที่ยวนี้ ในส่วนของอักขระภาษาอังกฤษจึงไม่ค่อยเรียบร้อยเท่าที่ควร เพราะสร้างขึ้นเอง
พยายามให้หน้าตาฟอนต์ออกมาอยู่ระหว่างฟอนต์คอร์เดีย และสุดยอดฟอนต์แห่งยุค คือ ดีบีฟองน้ำ
ดาวน์โหลดได้ดังนี้
* รวมทั้งหมดในไฟล์เดียว Corada.tar.gz
ลองทำฟอนต์ทดแทน - สรุป
สรุปงานทำฟอนต์ทดแทนฟอนต์ของวินโดวส์ทั้งสามตัว คือ
* Angsana แทนด้วย Angsima
* Browallia แทนด้วย Bromlila
* Cordia แทนด้วย Corada
สร้างด้วยการปรับความกว้างของฟอนต์แต่ละอักขระ ให้เท่ากับฟอนต์วินโดวส์ และลบ kerning ของฟอนต์ต้นแบบออกให้หมด ส่วนความสูงของฟอนต์ ไม่ได้ปรับความสูงของสระให้เท่าของวินโดวส์ แต่ใช้วิธีสร้างอักขระพิเศษเพิ่มมาตัวนึง ให้จุดสูงสุดของอักขระเท่ากับไม้โทสูงของวินโดวส์ (ซึ่งสูงที่สุด) และให้จุดต่ำสุดของอักขระนี้ ให้เท่ากับสระอูที่ต่ำที่สุดของวินโดวส์
รวมทั้งสร้างไฟล์คอนฟิกให้ฟอนต์ ให้แทนชื่อฟอนต์จากวินโดวส์ตามรายละเอียดข้างบน ไฟล์นี้ตั้งชื่อว่า 65-2-thaifont-abc.conf ซึ่งจะต้องนำไปใส่ไว้ที่ไดเรกทอรี่ /etc/fonts/conf.d
เมื่อทำครบทุกอย่างแล้ว เราก็จะสามารถเปิดไฟล์ตระกูลออฟฟิศจากวินโดวส์ โดยไม่เสียรูปแบบ
สามารถดาวน์โหลดไฟล์รวมได้ดังนี้
* เฉพาะไฟล์ ttf thaifont-abc.tar.gz
* รวมซอร์ส sfd thaifont-abc-sfd.tar.gz
ลองทำฟอนต์ใช้เอง
ทดลองทำฟอนต์ใช้เองโดยใช้ไฟล์ฟอนต์ Norasi.sfd ของ NECTEC เป็นต้นแบบ
จุดประสงค์เพื่อทำฟอนต์แบบ Serif ที่ใช้รหัสอักขระยูนิโค๊ด จะนำมาแทนฟอนต์ Angsana ของวินโดวส์
ตั้งชื่อว่า นรบุตร (Noraputta)
ตั้งใจให้ออกมาเป็นลูกผสมของ Norasi กับ Angsana
ยังไม่ค่อยสวยเหมือนที่มืออาชีพเขาทำกัน ฮิ้นต้งฮิ้นติ้งไม่รู้เรื่องเลย เอาแค่พอใช้งานได้ตามสไตล์
ฝากลองทดสอบและใช้ฟรีโดยไม่มีเงื่อนไขครับ
* ไฟล์ฟอนต์ Noraputta.ttf
* ไฟล์ FontForge Noraputta.sfd
* ไฟล์ฟอนต์ Noraputta-Bold.ttf
* ไฟล์ FontForge Noraputta-Bold.sfd
update
* 50-04-13 ปรับมาใช้เทมเพลตของ thaifonts รุ่น 0.4.6 ทำให้ไม่มีปัญหาสระอำและวรรณยุกต์ กับ OO.o
* 50-04-19 ทำเรื่องเลขไทยใหม่ เก็บกวาดเรื่อง Hinting แบบหยาบ ๆ
* 50-04-20 ทำ Noraputta-Bold เพิ่ม
* 50-04-28 แก้ปัญหาเส้นบางเกินไป ทำให้เวลาถูก Hint แล้วเส้นขาด ด้วยการเพิ่มความหนาของเส้น
ลองทำฟอนต์ใช้เอง (ต่อ) - Gentini
ลองทำ Serif อีกฟอนต์นึง เพื่อให้สมดุลย์กับ Sans serif โดยเอาต้นแบบมาจากฟอนต์ Gentium ซึ่งเป็น Serif ที่ดูสบายตา กึ่งทางการกึ่งลำลอง จึงตั้งชื่อให้คล้าย ๆ กัน ว่า เจนทินี - Gentini
ทำไปก็งงไป ทำให้ทราบว่างานออกแบบฟอนต์นี่ยากจริง ๆ ผมเองยังมือไม่ถึง จึงอ่านบุคลิกของฟอนต์ Gentium ไม่ออก เลยทำแค่ฟอนต์ขนาด book แค่ตัวเดียว
ดาวน์โหลด
ไฟล์รวม Gentini.tar.gz
ลองทำฟอนต์ใช้เอง (ต่อ) - Pantaka
ไม่ใช่งานใหม่ แต่เป็นการเอา โลมาบุตร มาชำระล้าง ปรับปรุงเล็กน้อย แต่พอทำไป ๆ มันชักเพี้ยนมาทาง อัมพุช
เลยเปลี่ยนชื่อเสียเลยดีกว่า เพื่อไม่ให้สับสน และไม่ให้ทับซ้อนกับโลมา
ตั้งชื่อว่า ปัณถกะ - Pantaka แปลว่าชำนาญทาง
ทำแล้วรู้สึกว่าอ่านง่ายกว่า วีรชาติ เลยบรรจุเข้าประจำการเป็นฟอนต์หน้าจอแทนวีรชาติ
ดาวน์โหลดไฟล์รวมดังนี้
* ไฟล์รวม Pantaka.tar.gz
update
* 50-07-02 ได้ปรับปรุงวีรชาติ จนฟอนต์วีรชาติอ่านง่ายกว่าแล้ว จึงเอาฟอนต์วีรชาติกลับเข้ามาประจำการเป็นฟอนต์แบบ San-Serif แทนปัณถกะ
ลองทำฟอนต์ใช้เอง (ต่อ) - Umpush
หลังจากทำฟอนต์ Corada เสร็จแล้ว มีความรู้สึกว่าฟอนต์ Corada ตัวหนา น่าจะมาทำฟอนต์บนจอได้ เลยเอา Corada เดิม มาแปลงเป็น Light เอา Bold ทำเป็น Book แล้วสร้าง Bold ใหม่ ตั้งชื่อว่า อัมพุช - Umpush
สามารถทำเป็นฟอนต์สำหรับหน้าจอก็ได้ หรือจะออกเป็นงานพิมพ์ก็ได้
หากต้องการให้ดูทางหน้าจอภาพได้ง่ายขึ้น เพียงแค่ลดขนาดสระบน-ล่าง และวรรณยุกต์ ลงไปเป็นสัก 90% ก็จะดูทางจอภาพได้ง่ายขี้นแล้วครับ
ดาวน์โหลดได้ดังนี้
* ไฟล์รวม Umpush.tar.gz
อย่าลืมว่า ฟอนต์ทุกตัวที่สร้างไว้ ถูกออกแบบไว้ด้วยการ Hint ของระบบ ดังนั้น จะต้องคอนฟิกฟอนต์ทุกครั้ง ด้วย
$ sudo vi /etc/fonts/conf.d/65-1-ttfonts.conf
serif
Noraputta
Angsima
sans-serif
Umpush
Verachart
Lomaputta
Bromlila
Corada
...
Umpush
true
true
$ fc-cache -r
ถ้าไม่ประสบเหตุอื่นอีก ฟอนต์นี้คงเป็นฟอนต์สุดท้ายแล้วครับ
ลองทำฟอนต์ใช้เอง - Verachart
ทำฟอนต์หน้าจอเพิ่ม ตั้งชื่อว่า วีรชาติ เพราะเอามาจากฟอนต์ Vera ของ BitStream
ตัวบางไปหน่อย line spacing แคบไปนิด Hinting ยังแย่อยู่
ช่วยทดสอบและใช้ได้ฟรีเหมือนเดิมครับ
* ไฟล์ทรูไพป์ Verachart.ttf
* ไฟล์ FontForge Verachart.sfd
* ไฟล์ทรูไทป์ Verachart-Bold.ttf
* ไฟล์ FontForge Verachart-Bold.sfd
* ไฟล์ทรูไทป์ Verachart-Oblique.ttf
* ไฟล์ FontForge Verachart-Oblique.sfd
Update 50-07-12
* ไฟล์รวมล่าสุด Verachart.tar.gz
การทดลองที่ไม่สำเร็จ
ทดลองทำ Truetype Instruction ด้วยเมนู AutoInstruction
แก้ไขการที่โปรแกรม Fontforge ทำ Truetype Hint ไม่สมบูรณ์ ด้วยการปรับละเอียดที่ส่วนโค้งของตัวอักษรแทน
ไม่สำเร็จเนื่องจาก คุณภาพพอดูได้แค่ 11 ปอยนต์ ที่เหลือนอกจากนี้ ดูไม่ได้เลย
* ไฟล์ฟอนต์ Verachartti.ttf
* ไฟล์ FontForge Verachartti.sfd
ไฟล์ชุดนี้ยังไม่สมบูรณ์ แต่ถ้าหากต้องการทดลองใช้งานดู ไม่จำเป็นต้องแก้ไขไฟล์ 65-ttfonts.conf เนื่องจากมีการ Hint อยู่ในฟอนต์เรียบร้อยแล้ว
update
* 50-04-22 ปรับลดความสูงของฟอนต์ให้สมดุลย์กับภาษาอังกฤษ ใช้วิธี Hint แบบ AutoInstruction
* 50-04-24 กลับมาใช้ Hint แบบเดิม เปลี่ยนมาให้ระบบ Hint ได้ผลดีกว่า โดยเฉพาะฟอนต์ชุดนี้ ให้ปรับไฟล์ 65-1-ttfont.conf เป็นดังนี้
...
Verachart
san-serif
...
Verachart
true
true
3
จะให้ผลที่ดูนุ่มสบายตากว่า แม้ในขนาดฟอนต์ที่เล็กมาก ๆ
หรือถ้าหากเห็นว่าเบลอเกินไป ก็ตั้งค่า hintstyle เป็น 4 ก็จะดูคมแข็งขึ้นครับ
(ดูรายละเอียดการปรับตั้งที่ ลองทำฟอนต์ใช้เอง - แถม)
* 50-04-24 สร้างฟอนต์ชุด Verachart-Bold เพิ่ม
* 50-04-24 ปรับละเอียด
* 50-06-06 ปรับปรุง Verachart-Bold เสร็จ ทำ Verachart-Oblique เสร็จ
* 50-07-02 ปรับละเอียด Verachart 90% และ Verachart-Bold 50%
* 50-07-04 ปรับละเอียด Verachart และ Verachart-Bold ครั้งที่สอง ทำเรื่อง Hinting โดยปรับให้ความหนาของตัวอักษร ในแนวนอน มีความสม่ำเสมอ จะทำให้การ Hint ดูดีขึ้นมาก
* 50-07-12 ปรับปรุงตัวหนา ช ฃ ช ซ โ พ ฟ เล็กน้อย
ลองทำฟอนต์ใช้เอง - แถม
update
* การตั้งค่าตามเนื้อความในโพสต์นี้ จะมีผลทำให้ฟอนต์ที่ถูกระบุในการปรับตั้งครั้งนี้ ไม่อยู่ภายใต้การควบคุมของระบบ (กับ Gnome คือ System -> Preference -> Fonts) นั่นคือการแสดงผลของฟอนต์ชุดนี้จะไม่เปลี่ยนไปตามการตั้งค่า Smoothing และ Hinting ของระบบ
โพสต์นี้ได้ความรู้มาจากคุณสมเจตน์ ท่านช่วยทดสอบให้ ได้ความว่า
ฟอนต์ชุดนี้ หากจะนำไปใช้ให้ได้ผลดีมีความคมชัด ต้องกำหนด Hint ให้ฟอนต์ด้วย ดังนี้
สร้างไฟล์ชื่อ 65-1-ttfonts.conf เอาไปใส่ไว้ในไดเรกทอรี่ /etc/fonts/conf.avail แล้วสร้างลิงก์ไปยังไดเรกทอรี่ /etc/fonts/conf.d
$ sudo vi /etc/fonts/conf.avail/65-1-ttfonts.conf
Lomaputta
Lomaputta2
Garudatas
san-serif
Noraputta
Norasitas
serif
Lomaputta
true
true
false
Lomaputta2
true
true
false
Garudatas
true
true
false
Noraputta
true
true
false
Norasitas
true
true
false
$ sudo ln -sf /etc/fonts/conf.avail/65-1-ttfonts.conf /etc/fonts/conf.d
แล้วก็รีบูตเครื่องใหม่ หลังจากนั้นก็จะเห็นฟอนต์ชุดนี้มีความคมชัดเพิ่มขึ้นครับ
ลิงก์รอศึกษา
* http://www.truetype-typography.com/
* http://en.wikipedia.org/wiki/TrueType
* http://developer.apple.com/textfonts/TTRefMan/RM03/Chap3.html
* http://dejavu.sourceforge.net/wiki/index.php/Hinting_tutorial/Example:_Hinting_L
ลองทำฟอนต์ใช้เอง ๒
ลองทำอีกชุดนึงสำหรับ sans-serif โดยเอาฟอนต์โลมามาเป็นต้นแบบ
จุดประสงค์เพื่อจะนำมาทำเป็นฟอนต์สำหรับดูที่หน้าจอมอนิเตอร์ โดยต้องการให้อ่านง่าย จึงปรับให้หัวตัวอักษรกลมขึ้น แยกเส้นตัวอักษรให้เด็ดขาดขึ้น
ตั้งชื่อว่าโลมาบุตร (Lomaputta)
ช่วยทดสอบหรือเอาไปใช้ได้ฟรี (ฟอนต์โลมาต้นฉบับเป็น GPL)
* ไฟล์ฟอนต์ Lomaputta.ttf
* ไฟล์ FontForge Lomaputta.sfd
* ไฟล์ฟอนต์ Lomaputta-Bold.ttf
* ไฟล์ FontForge Lomaputta-Bold.sfd
* ไฟล์ฟอนต์ Lomaputta-Oblique.ttf
* ไฟล์ FontForge Lomaputta-Oblique.sfd
* ไฟล์ฟอนต์ Lomaputta-BoldOblique.ttf
* ไฟล์ FontForge Lomaputta-BoldOblique.sfd
เพิ่มความหนานิดนึง ดูคล้าย ๆ Tahoma เสียดายอันเก่า เลยตั้งชื่อใหม่เป็นโลมาบุตร2
* ไฟล์ฟอนต์ Lomaputta2.ttf
* ไฟล์ FontForge Lomaputta2.sfd
update
* 50-04-14 ปรับช่องไฟละเอียด, ปรับส่วนโค้งอักษรแบบละเอียด, ปรับมาใช้เทมเพลตของ thaifonts รุ่น 0.4.6 ทำให้สามารถใช้งาน OO.o ได้
* 50-04-16 ปรับแต่ง Hinting ด้วยมือ ดูดีขึ้นมาก
* 50-04-17 ปรับมาใช้เทคนิกการ Hint แบบเบลอภายในฟอนต์ด้วย AutoHint และคมภายนอกด้วย ManualHint
* 50-04-17 สร้าง Lomaputta-Bold เพิ่ม
* 50-04-17 เปลี่ยนกลับมาใช้ Hint ด้วยมือล้วน เนื่องจากแสดงผลในเดเบียนฟุ้ง(Blur)เกินไป (คงไม่เกี่ยวกับเดเบียน แต่อาจเป็นเพราะเครื่องเดเบียนของผมใช้จอภาพเป็น LCD ของเอเซอร์ ซึ่งการแสดงผลดูแล้วจะสู้ของแอลจีไม่ได้) แก้อาการหลอกตาด้วยการลดขนาดหัวตัวอักษรแทน
รู้ปัญหาอาการฟุ้งบนเดเบียนแล้ว คือ เดเบียนไม่ทำ AutoHint เป็นค่าปริยาย จึงต้องทำเองด้วยมือ
$ sudo ln -sf /etc/fonts/conf.avail/10-autohint.conf /etc/fonts/conf.d
แล้วเข้าระบบใหม่ ผลที่ได้คือ ฟอนต์บนเดเบียนดูคมกว่าบนอูบุนตูอีก
* 50-04-18 สร้าง Lomaputta-Oblique เพิ่ม
* 50-04-19 แก้ไขตาราง Contextual ซ่อมเรื่องวรรณยุกต์กับสระอุ-สระอู ตามต้นฉบับ
* 50-04-19 สร้าง Lomaputta-BoldOblique เพิ่ม
* 50-04-27 ล้างลายเส้นเก่า สร้างลายเส้นใหม่ เลียนแบบของคุณเทพ
ลองทำฟอนต์ใช้เอง ๓
คราวก่อนทำฟอนต์โลมาบุตร ดูแล้วยังรู้สึกว่าอ่านยาก (ไม่รู้ว่าเป็นที่ hinting หรือเปล่า)
คราวนี้ลองเอาอีกฟอนต์นึงคือฟอนต์ครุฑ (Garuda) มาปรับให้เหมาะกับการแสดงผลบนจอคอมพิวเตอร์
โดยการลดขนาดสระและวรรณยุกต์ และปรับความกว้างของบรรทัดให้แคบเข้า
เอาไว้เป็นตัวเผื่อเลือกสำหรับการแสดงผลของฟอนต์ sans-serif
ตั้งชื่อว่าฟอนต์ ครุฑทัศน์ (Garudatas)
ดาวน์โหลด
* ไฟล์ฟอนต์ Garudatas.ttf
* ไฟล์ sfd Garudatas.sfd
update
ทำเพิ่มเติมสำหรับ serif ด้วย คือฟอนต์นรสีห์ เป็น นรสีห์ทัศน์
ดาวน์โหลด
* ไฟล์ฟอนต์ Norasitas.ttf
* ไฟล์ sfd Norasitas.sfd
หมายเหตุ
ไม่เหมาะสำหรับงานเอกสารที่ต้องพิมพ์ออกมา สำหรับงานพิมพ์ใช้ฟอนต์ Garuda และ Norasi เดิมสวยอยู่แล้ว
เกร็ดเกี่ยวกับโปรแกรม FontForge
โปรแกรม FontForge เป็นโปรแกรมที่ใช้ออกแบบฟอนต์ของลินุกซ์ที่ได้รับความนิยม มีความสามารถสูง แต่มีข้อเสียคือ ทำ AutoHint ได้แย่มาก เพราะโปรแกรมจะกันเหนียวด้วยการกำหนดแถบการ Hint ไว้กว้างเกินไป
การกำหนดแถบการ Hint ไว้กว้าง ทำให้เวลาแสดงฟอนต์ทางจอภาพ อักษร ก ไก่ จะดูเตี้ยกว่าอักษร ข ไข่ ซึ่งไม่ถูก AutoHint ไว้กว้างแบบนั้น
ถ้าจะทำให้ได้ผลการ Hint ที่ดี แบบที่เรา ๆ ท่าน ๆ สามารถทำได้เอง โดยไม่ต้องใช้ฝีมือระดับเทพ ก็คือการ Hint เองด้วยมือ
ซึ่งทำได้โดยการกำหนดสองจุดคู่ที่จะทำการ Hint แล้วสั่ง Add HHint หรือ Add VHint ตามลักษณะของส่วนโค้งตัวอักษรนั้น ๆ
วิธีนี้ทำให้ได้ตัวอักษรที่ดูสูงเท่ากัน แต่ปัญหาคือโปรแกรม FontForge ไม่ทำปุ่มลัดสำหรับคำสั่ง Add HHint และ Add VHint ไว้ด้วย
งานที่จะต้องมานั่งเลือกจุดคู่แล้วไล่คลิกเมนูสั่งงาน นับว่าเปลืองเวลาเกินไป
แต่ยังโชคดีที่โปรแกรมถูกออกแบบให้สามารถกำหนดปุ่มลัดได้เอง เพียงแต่ต้องออกแรงหน่อยนึงด้วยการคอมไพล์แพกเกจเอง
เราจะกำหนดปุ่มลัดเอง ทำให้การทำงานเร็วขึ้นมาก
เริ่มด้วยการติดตั้งแพกเกจที่จำเป็นในการคอมไพล์ก่อน
$ sudo aptitude install libfreetype6-dev
(แพกเกจอื่น ๆ ไม่แน่ใจครับ อาจตรวจดูจากข้อผิดพลาดตอนสั่ง ./configure ก็ได้)
ไปเอาซอร์สมาก่อนคือไฟล์ fontforge_full-20070312.tar.bz2
เมื่อได้ไฟล์มาแล้วก็แตกไฟล์ออกก่อน
$ tar xfj fontforge_full-20070312.tar.bz2
คอมไพล์และติดตั้ง
$ cd fontforge-20070312
$ ./configure
$ make
$ sudo make install
ต่อไปเป็นการสร้างไฟล์สำหรับกำหนดปุ่มลัด
ทำตามคู่มือ ในการนำเอาไฟล์ FontForge-MenuShortCuts.pot ออกมา
$ cd fontforge-20070312/fontforge
$ make -f Makefile.in FontForge-MenuShortCuts.pot
เราจะได้ไฟล์ FontForge-MenuShortCuts.pot
เราจะแก้ไขในไฟล์นี้โดยกำหนดให้ Add HHint ใช้ปุ่มลัดเป็น Alt+Ctl+1
และ Add VHint ใช้ปุ่มลัดเป็น Alt+Ctl+2
$ vi FontForge-MenuShortCuts.pot
...
#: charview.c:8105
msgid "Add HHint|No Shortcut"
msgstr "Alt+Ctl+1"
#: charview.c:8106
msgid "Add VHint|No Shortcut"
msgstr "Alt+Ctl+2"
...
คอมไพล์ไฟล์ pot
$ msgfmt -o FontForge-MenuShortCuts.mo FontForge-MenuShortCuts.po
ย้ายไฟล์นี้ไปไว้ที่ไดเรกทอรี่ที่เก็บ locale ของเครื่อง
ถ้าตั้ง locale เป็น en_US.UTF8 คำสั่งจะเป็น
$ sudo mkdir -p /usr/local/share/locale/en_US/LC_MESSAGES
$ sudo mv FontForge-MenuShortCuts.mo /usr/local/share/locale/en_US/LC_MESSAGES
เสร็จเรียบร้อยแล้ว สั่งรันโปรแกรมด้วยคำสั่ง
$ /usr/local/bin/fontforge -dontopenxdevices [ชื่อไฟล์ฟอนต์]
ผลที่ได้จากการทำ Hint ด้วยมือ ดูดีขึ้นกว่าทำ AutoHint มากครับ
จากความรู้ที่ได้นี้ สามารถสรุปการ Hint ได้คือ
* ส่วนในของฟอนต์เลือกใช้ AutoHint เนื่องจากต้องการให้เกิดการเบลอภายในให้มากที่สุด
* ส่วนนอกของฟอนต์ คือ จุดสูงสุดและต่ำสุด ต้อง Hint เองด้วยมือ เพราะต้องการให้ส่วนสูงมีความคงที่
เพิ่มเติม
* อ่านมาจาก http://osdir.com/ml/fonts.fontforge.user/2006-08/msg00030.html
บอกว่า ปกติ FontForge ไม่ทำ Hint ของทรูไทป์โดยตรง แต่เป็นของ Type1
ถ้าจะพยายามทำ Hint ให้ทรูไทป์ วิธีทำคือให้เปลี่ยนส่วนโค้งเป็นแบบ Quadratic
Element -> Font Info ... -> เลือก Quadratic Splines
หลังจากนั้นจึงทำ AutoHint และ AutoInstruction แล้วจึงสั่งผลิตฟอนต์ทรูไทป์
เลือกช่วงฟอนต์ที่ต้องการ -> Hints -> AutoHint
Hints -> AutoInstr
Files -> Generates Fonts
ทดลองแล้วได้ผลดีพอควร
* 50-05-05 ลองทดสอบเรื่อง Truetype Hint ได้ความว่า
ถึงแม้ว่า Fontforge จะทำ Truetype Hint ได้แย่มากก็ตาม แต่เราก็อาจบังคับทำได้ โดยได้ผลดีพอควร โดยมีข้อแม้ว่า :-
1. จุดต่าง ๆ ที่กำกับส่วนโค้ง ต้องเลือกใช้จุดให้ตรงจริง ๆ ทั้งสามชนิดคือ จุดส่วนโค้ง จุดหัวมุม และจุดแทนเจนต์ ห้ามใช้จุดมั่วเด็ดขาด
2. ขนาดความหนาของส่วนตัวอักษร และจุดกำกับส่วนโค้งต่าง ๆ ควรอยู่ในตำแหน่งทางเรขาคณิตแบบง่าย ๆ
3. ส่วนโค้งที่ยาวมาก ต้องมีจุดแบ่งส่วนกำกับเสมอ
4. ถ่าหากจุดเริ่มต้นส่วนโค้ง ไม่อยู่ในตำแหน่งทางเรขาคณิตอย่างง่าย ควรใช้จุดแทนเจนต์กำกับอยู่ใกล้ ๆ (เช่น ปลายหางของตัว จ.จาน เป็นต้น)
5. เมื่อทดสอบแล้วพบว่ามีบางอักขระที่มีอาการฟุ้ง ให้ลองปรับลดหรือเพิ่มความกว้างของอักขระนั้นที่ละ 1 พิกเซล (ส่วนใหญ่ลองที่ขนาดฟอนต์ประมาณ 11 ปอยนต์)
ถ้าผ่านข้อกำหนดดังกล่าว การ Hint จะได้ผลดีที่สุด
* การทำงานกับส่วนโค้งที่เป็น Quadratic ไม่ยากจนเกินไปนัก หัดสักพักก็จะชิน เมื่อชินแล้วจะพบว่าการบังคับส่วนโค้ง ง่ายกว่าแบบ Cubic เสียอีก เพราะโดนบังคับด้วยจุดขนาบ
* อนาคตของ Truetype Hint น่าจะเสื่อมความนิยมลงไปเรื่อย ๆ ผกผันกับขนาดความละเอียดของจอภาพที่จะละเอียดขึ้นไปเรื่อย ๆ
* การทำให้การ Hint แบบ Adobe ได้ผลดี ควรปรับความหนาของตัวอักษรในแนวนอนให้มีความสม่ำเสมอ จึงจะได้ความสูงของตัวอักษรที่เท่า ๆ กัน ที่ขนาดตัวอักษรต่าง ๆ กัน
ลองทำฟอนต์ใช้เอง - จบ
ค้นไปค้นมา ไปพบฟอนต์ที่เป็นฟรีแวร์และ gpl สรุปได้ดังนี้
* ฟอนต์แห่งชาติ นอกเหนือจากฟอนต์โลมา ครุฑ และนรสีห์แล้ว ยังมีฟอนต์กินรีที่สวยอยู่แล้ว ใช้แทนฟอนต์ Angsana ในวินโดวส์ได้เลย - ดาวน์โหลด national-fonts.zip
* ฟอนต์ของบริษัท Tep Club เป็นฟรีแวร์ มีฟอนต์สวยมาก ๆ คือ CmPrasanmit - ดาวน์โหลด tep-clubfonts.zip
* ฟอนต์ที่ SIPA พัฒนา ไม่ค่อยสวยเท่าไหร่ - ดาวน์โหลด dip-sipa-font.zip
* ฟอนต์ตระกูล JS ของคุณหมอภาณุฑัต ที่แนบมากับลินุกซ์ทะเล 7 สามารถนำออกจากแผ่น TLE-7 ได้เลย หรือสามารถดาวน์โหลดไฟล์ rpm แล้วนำมาแตกเองด้วยโปรแกรม Archeive Manager - ดาวน์โหลด thai-ttf-js.0.0.2-1.src.rpm
มีฟอนต์สวย ๆ มากจริง ๆ
ทำฟอนต์เอง มาตายตรง hinting มือไม่ถึง :P เวลาไม่เอื้อให้ศึกษา
แต่ก็ยังชอบใจ โลมาบุตรอยู่ดี ;D