วันศุกร์ที่ 11 กันยายน พ.ศ. 2569

[Font] บันทึกแก้ไขฟอนต์ JS Jindara (ตอนที่สอง)

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

- JS-Jindara (fix) [v.1.3] คือฟอนต์ JS-Jindara ที่แก้ไขเรื่องตัวหนา/เอน และวรรณยุกต์เท่านั้น

- Jindara [v.2.3] คือฟอนต์ที่ปรับขนาดให้ตัวใหญ่ตามมาตรฐานฟอนต์สมัยปัจจุบันและแก้ไขบางจุด

* * * * * * * * * *

เขียนแปะไว้ก่อน เอาไว้ค่อยมาเรียบเรียงและเพิ่มรูปภาพทีหลัง

จากตอนที่ 1 แก้ไขไฟล์ฟอนต์ JS Jindara (จินตหรา) แล้วเอามาลองใช้เองบนโปรแกรมต่างๆ ก็ผ่านฉลุย ใช้งานได้ปกติดี แต่พอเอาไปทดสอบบน Windows ด้วย MS Word แล้วพบปัญหาวรรณยุกต์ลอยซะงั้น

พยายามค้นข้อมูลเพื่อหาวิธีแก้ไขแล้วแต่ไม่สำเร็จ จนสุดท้ายต้องมาเขียนโปรแกรมควบคุมเพิ่มเอง (เป็น Opentype feature ของฟอนต์รุ่นใหม่)

ผมใช้งาน Linux เป็นหลัก เครื่องคอมพิวเตอร์ที่ใช้ ไม่มี Windows เลย เวลาจะทดสอบแต่ละทีก็ต้องไปขอหยิบยืมทดสอบบนเครื่องคอมฯ คนอื่น ^^'a

พอเอามาใช้บน Word แล้วก็เจอปัญหาว่าหลายๆ จุดที่เขียนโปรแกรมจัดการไป (เป็นฟีเจอร์เพิ่มเติมพิเศษ) มันไม่ทำงาน พยายามแก้นู่นแก้นี่ สุดท้ายพยายามคงสภาพความเป็น JS Jindara ให้มากที่สุดเอาไว้ก่อน ทีหลังถ้ามีไฟมากพอก็อาจจะทำเป็นเวอร์ชันที่เอาเฉพาะโครงสร้างตัวอักขระมาใช้

ฟอนต์ทำออกมาเป็น 2 รุ่นคือ

  • JS Jindara เป็นแบบดั้งเดิมที่แก้เรื่องตัวหนาตัวเอน
  • Jindara ขยายขนาดฟอนต์ให้สอดคล้องกับมาตรฐานฟอนต์ไทยในปัจจุบัน + เพิ่ม ฬ หางสั้น ใช้คู่กับสระบน/วรรณยุกต์ + เพิ่มอักขระ ฤๅ ฦๅ + ขยายขนาดตัวเลขขึ้นมาเล็กน้อย

ขนาดของฟอนต์ เมื่อนำมาเทียบกับฟอนต์ Cordia New ซึ่งเป็นมาตรฐานเก่า จะได้ประมาณนี้ (ผมใช้ขนาดฟอนต์กูเกิล Chakra Petch เป็นตัวอ้างอิง)

Cordia New : 14 / 16 / 17 / 18 / 20 / 22 / 24 / 25

Jindara : 10 / 11 / 12 / 13 / 14 / 16 / 17 / 18


จากภาพ ซ้าย Cordia New | ขวา Jindara



วันอาทิตย์ที่ 23 สิงหาคม พ.ศ. 2569

[Font] บันทึกทำฟอนต์ A5 Bantat บรรทัด (ตอนที่ 1)

เขียนแปะเก็บไว้ก่อน เอาไว้ค่อยมาเรียบเรียงและแปะรูปภาพ

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

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

แบบอักษรอิงความกว้างของฟอนต์ JS Jindara (จินตหรา) ให้อ้วนหน่อยเพื่อความอ่านง่าย แต่หลังจากออกแบบเสร็จก็รู้สึกว่ามันกินพื้นที่ด้านกว้างเหมือนกัน พอเอามาใช้กับพื้นที่แคบๆ (หน้าจอโทรศัพท์มือถือ) แล้วมันไม่ค่อยพอใช้ อนาคตถ้าขยัน อาจจะทำทรงผอมที่ลดขนาดลงเหลือ 90%


https://x.com/HudchewMan/status/2088643936529289696

วันจันทร์ที่ 10 สิงหาคม พ.ศ. 2569

รูปแบบของตัวอักษรจีน

เขียนแปะเก็บไว้ก่อน เอาไว้ทีหลังค่อยแนบภาพของตัวอักษรแต่ละแบบ

ตัวอักษรจีนมีการแบ่งออกเป็นประเภทหลักๆ ซึ่งมักแบ่งตามพัฒนาการทางประวัติศาสตร์ ซึ่งแบ่งคร่าวๆ ได้ประมาณนี้ แต่บอกก่อนว่าการแบ่งประเภทที่ผมจะพูดถึง ไม่ได้แบ่งอย่างเป็นทางการนะครับ

1. อักษรจ้วนซู (篆书 / 篆書 - Zhuànshū) | อักษรตราประทับ

เป็นรูปแบบอักษรที่เก่าแก่ที่สุดในกลุ่มนี้ มีความโค้งมน ลายเส้นมีความหนาเท่ากันสม่ำเสมอ คล้ายภาพวาด มักใช้ในการแกะสลักตราประทับโบราณ แบ่งย่อยเป็น:

ต้าจ้วน (大篆) อักษรจ้วนแบบโบราณ (รวมถึงอักษรบนกระดูกสัตว์และเครื่องสัมฤทธิ์)

  • เจี่ยกู๋เวิน (甲骨文) อักษรในยุคแรกจะเป็นอักษรกระดูก ซึ่งแกะสลักลงบนกระดูกสัตว์และกระดองเต่า (ยุคราชวงศ์ซาง - ประมาณ 3,000 กว่าปีที่แล้ว) เส้นสายจะแหลม คม และเป็นเหลี่ยมมุมชัดเจน เพราะใช้ของมีคมจารึกลงบนกระดองเต่าหรือกระดูกสัตว์ ตัวอักษรยังมีความคล้าย "ภาพวาดลายเส้น" (Pictogram) อยู่มาก
  • จินเวิน (金文) อักษรบนเครื่องสัมฤทธิ์ (ยุคราชวงศ์โจว) เริ่มหล่อขึ้นรูปด้วยแม่พิมพ์ ทำให้เส้นสายมีความหนา อวบอิ่ม และมีความโค้งมนมากกว่าอักษรกระดูกสัตว์

เสี่ยวจ้วน (小篆) อักษรจ้วนเล็กที่ถูกปรับให้เป็นมาตรฐานในสมัยจิ๋นซีฮ่องเต้ พระองค์ได้รวบรวมและเรียบเรียงปรับตัวอักษรจ้วนโบราณ (ต้าจ้วน) ทั้งหมดให้กลายเป็นมาตรฐานเดียวกันทั้งแผ่นดินจีน เป็นรูปแบบเส้นโค้งสมมติเมตร มีความหนาเท่ากันสม่ำเสมอ เป็นรูปแบบที่เรามักเห็นบนแกะสลักตราประทับจีน

วันอาทิตย์ที่ 9 สิงหาคม พ.ศ. 2569

[Font] ตารางรหัสอักขระฟอนต์ไทย

ee0d ญ ไม่มีเชิง

ee10 ฐ ไม่มีเชิง

ee32 ไม้หันอากาศหลบหาง

ee33 สระอำหลบหาง

ee34 สระอิหลบหาง

ee35 สระอีหลบหาง

ee36 สระอึหลบหาง

ee37 สระอือหลบหาง

ee38 สระอุต่ำ

ee39 สระอูต่ำ

ee3a พินทุต่ำ

ee47 ไม้ไต่คู้หลบหาง

ee48 ไม้เอกต่ำ

ee49 ไม้โทต่ำ

ee4a ไม้ตรีต่ำ

ee4b จัตวาต่ำ

ee4c การันต์ต่ำ

ee4d นิคหิตต่ำ

วันเสาร์ที่ 25 กรกฎาคม พ.ศ. 2569

แพนแกรม ชุดตัวอักษรไทย

เห็นฬ่อเฒ่าจูงทุยถือแฟ้มฤกษ์ศึกษา คำปฏิญญาของพิพิธภัณฑ์ประทับฐาน เพชฌฆาตผาดโผนไซ้ใส่ทวาร ก๊วยเตี๋ยวฮาลาลฝึกฉลามสวมชฎาฯ

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

“เป็นมนุษย์สุดประเสริฐเลิศคุณค่า กว่าบรรดาฝูงสัตว์เดรัจฉาน จงฝ่าฟันพัฒนาวิชาการ อย่าล้างผลาญเข่นฆ่าบีฑาใคร

ไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่า หัดอภัยเหมือนกีฬาอัชฌาสัย ปฏิบัติประพฤติกฎกำหนดใจพูดจาให้ จ๊ะๆ จ๋าๆ น่าฟังเอยฯ”

หลายคนน่าจะเคยผ่านตากลอนบทนี้อยู่บ้าง มันก็คือแพนแกรมในภาษาไทยนั่นเอง

Pangram (แพนแกรม) คืออะไร? มันก็คือข้อความที่ใช้ตัวอักษรทุกตัวในภาษานั้นๆ มักนิยมแต่งประโยคในสั้นที่สุด ซึ่งก็เป็นความท้าทายของคนแต่งด้วยเช่นกัน

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

พอโตขึ้นมาถึงได้รู้ว่ามันคือประโยค The quick brown fox jumps over a lazy dog. ซึ่งก็คือหนึ่งในแพนแกรมภาษาอังกฤษนั่นเอง

วันอาทิตย์ที่ 12 กรกฎาคม พ.ศ. 2569

[Font] บันทึกแก้ไขฟอนต์ JS Jindara (ตอนที่หนึ่ง)

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

- JS-Jindara (fix) [v.1.3] คือฟอนต์ JS-Jindara ที่แก้ไขเรื่องตัวหนา/เอน และวรรณยุกต์เท่านั้น

- Jindara [v.2.3] คือฟอนต์ที่ปรับขนาดให้ตัวใหญ่ตามมาตรฐานฟอนต์สมัยปัจจุบันและแก้ไขบางจุด (อ่านเพิ่มเติมในโพสต์)

* * * * * * * * * *

ฟอนต์ JS-Jindara (เจเอส จินตหรา) ที่รังสรรค์โดยคุณหมอจิมมี่ ภาณุทัต เตชะเสน (เขียนโปรแกรม) กับคุณแสวง ตันติราพันธ์ (ออกแบบอักขระ) ซึ่งในปัจจุบันทางเจ้าของลิขสิทธิ์ (บริษัท 315 จำกัด ปัจจุบันปิดไปแล้ว) ได้ยกให้เป็นสมบัติสาธารณะ (Public Domain) ที่ใช้งานได้ฟรีภายใต้สัญญาอนุญาต GPL v2 โดยไม่มีการเรียกเก็บค่าใช้งานใดๆ ทั้งสิ้น (รวมถึงฟอนต์ตระกูล JS ตัวอื่นๆ ด้วย)

ฟอนต์ JS-Jindara นี้ เป็นฟอนต์ที่มีหลายคนนิยมใช้สำหรับทำหนังสือ/เอกสาร แต่ด้วยความที่เป็นเทคโนโลยีเก่า จึงมีปัญหาการแสดงผลกับโปรแกรมและระบบปฏิบัติการในยุคปัจจุบันอยู่บ้าง

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

วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2569

ติดตั้ง+ลบฟอนต์ บนลินุกซ์

การติดตั้งฟอนต์บนลินุกซ์นั้นสามารถทำได้ง่ายๆ ไม่ต่างจาก Windows นั่นคือคลิกไฟล์ .ttf หรือ .oft แล้ว (หรือคลิกขวา) จะมีคำสั่งให้ติดตั้งฟอนต์ได้เลย

ฟอนต์ที่ติดตั้งลงไป จะอยู่ในตำแหน่งเก็บฟอนต์ของผู้ใช้งานคนนั้น ซึ่งจะอยู่ในโฟลเดอร์

 ~/.local/share/fonts/

หากต้องการติดตั้งแบบทำให้ผู้ใช้ทุกคนสามารถใช้งานได้ ให้ติดตั้งลงในโฟลเดอร์

/usr/share/fonts

จากนั้นอัปเดตแคชด้วยคำสั่ง

fc-cache -fv


การลบฟอนต์ออกจากระบบ ผมยังไม่เจอวิธีการอื่น ต้องเข้าไปลบในโฟลเดอร์ด้านบนด้วยตัวเอง แล้วก็อัปเดตแคช เป็นอันเสร็จสิ้น

วันเสาร์ที่ 14 มีนาคม พ.ศ. 2569

[Linux] ทดสอบความเร็วอินเทอร์เน็ตบนเทอร์มินัล

ปกติการทดสอบความเร็วอินเทอร์เน็ต เราสามารถเข้าเว็บ fast.com หรือ speedtest.net แต่ถ้าต้องการตรวจความเร็วผ่านทางเทอร์มินัล ก็ยังมีวิธีอยู่

วิธีที่ 1 ใช้ speedtest-cli

  • ติดตั้ง sudo apt install speedtest-cli
  • เรียกใช้งานโดยพิมพ์ speedtest หรือแสดงผลแบบง่ายด้วย speedtest-cli --simple หรือแสดงหน่วยเป็น Bytes โดย speedtest-cli --bytes

วิธีที่ 2 ใช้ fast.com

  • ติดตั้งโดย curl -L https://github.com/ddo/fast/releases/download/v0.0.4/fast_linux_amd64 -o fast
  • เปลี่ยน permission ให้ทำงานได้ chmod +x fast
  • เรียกใช้งานโดยพิมพ์ ./fast


วันพฤหัสบดีที่ 5 มีนาคม พ.ศ. 2569

[Linux] ตรวจสอบ hardware ว่ามีอุปกรณ์อะไรบ้าง

ปกติใน Linux จะมีเมนูเรียกดูส่วนประกอบของเครื่องคอมพิวเตอร์ว่ามีอะไรบ้าง แต่ System Info ของ Linux จะแสดงแค่ข้อมูลพื้นฐานเท่านนั้น



หากต้องการดูข้อมูลรายละเอียดของ hardware แต่ละชนิดในเชิงลึกกว่านั้น ต้องเข้าไปพิมพ์คำสั่งใน terminal โดยสั่งว่า

inxi -Fxz

หากต้องการให้บันทึกข้อมูลลงไฟล์ ให้เพิ่ม > path/ชื่อไฟล์ เช่น

inxi -Fxz > info.txt

inxi -Fxz > ~/Documents/info.txt

วันพฤหัสบดีที่ 19 กุมภาพันธ์ พ.ศ. 2569

การสแกนหนังสือมาสร้างไฟล์ ePUB ไว้อ่าน

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

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

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


วิธีการทำไฟล์ ePUB จากหนังสือเล่ม ก่อนหน้านี้เคยเขียนบล็อกแบบคร่าวๆ ไว้ที่ การทำไฟล์ ePUB ด้วยโปรแกรม Sigil แบบสังเขป หลังจากนั้นก็เคยโพสต์ไว้ในกลุ่มชุมชนนักอ่าน eBook ซึ่งมีขั้นตอนอธิบายรายละเอียดมากกว่าเดิม คิดว่าจะเอามาแปะในบล็อกก็ลืมทุกที วันนี้นึกขึ้นได้ เลยลงมือจัดการซะ เนื้อหาจะแบ่งออกเป็น 3 ตอนด้วยกัน

  • ตอนที่ 1 การนำไฟล์สแกน (หรือถ่ายภาพ) มาทำเป็นข้อความ text ด้วย Google Docs
  • ตอนที่ 2 การเตรียมไฟล์ต้นฉบับสำหรับทำเป็น ePUB
  • ตอนที่ 3 การสร้างเอกสาร ePUB ด้วยโปรแกรม Sigil