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

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


 

ee0d ญ ไม่มีเชิง

ee10 ฐ ไม่มีเชิง

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

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

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

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

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

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

ee38 สระอุต่ำ

ee39 สระอูต่ำ

ee3a พินทุต่ำ

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

ee48 ไม้เอกต่ำ

ee49 ไม้โทต่ำ

ee4a ไม้ตรีต่ำ

ee4b จัตวาต่ำ

ee4c การันต์ต่ำ

ee4d นิคหิตต่ำ

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

ใช้ web browser นับคำไทย

เวลาเขียนนิยาย ไม่ว่าจะเป็นแบบรายตอนหรือทำ e-book เรามักจะดูจำนวนคำของแต่ละบท (หรือทั้งเล่ม) แต่สำหรับคนที่ใช้ Google Docs ในการทำงาน (หรือ Word for web) จะนับคำไทยไม่ได้ ทำให้ไม่รู้ว่าตอนนี้เขียนไปเท่าไหร่แล้ว (ปกติผมใช้ดูจำนวนหน้าเอา ไม่ได้สนใจจำนวนคำ)

โดยปกติฟีเจอร์นับคำจะมีอยู่ในโปรแกรม word processor (เช่น MS Word) ซึ่งถ้าเป็นโปรแกรมที่รองรับการทำงานภาษาไทย (สามารถตัดคำไทยได้) ก็จะนับคำไทยให้ด้วย

โปรแกรม LibreOffice Writer เองก็มีฟีเจอร์นับคำไทยให้เช่นกัน แต่หลังจากที่เปลี่ยนมาใช้เลขเวอร์ชันที่เป็นปี ค.ศ. แทนเลขรุ่นเหมือนสมัยก่อนแล้ว ฟีเจอร์นับคำไทยของ LibreOffice Writer ก็ใช้ไม่ได้อีกเลย (ไม่แน่ใจว่าจำผิดหรือเปล่า เหมือนว่าเวอร์ชันปี ค.ศ. ตัวแรก ยังใช้ฟีเจอร์นับคำไทยได้อยู่)

ตอนที่แปลนิยายจีน ผมจะใช้ Google Docs ในการพิมพ์งานเป็นหลัก เพราะสะดวกเวลาย้ายอุปกรณ์ทำงาน เมื่อตรวจทานเสร็จผมก็จะคัดลอกมาแปะเก็บในโปรแกรมเขียนนิยายที่ผมทำไว้ใช้เอง เพราะการค้นหาคำทำได้สะดวกกว่า เวลาส่งงานผมก็กด export ให้เป็นไฟล์ .docx ที่จัดหน้าตามที่ต้นสังกัดต้องการได้เลย

หลังจากทำโปรแกรมแพนแกรมไป จู่ๆ เกิดนึกสงสัยขึ้นมาว่า web browser มันนับคำไทยด้วย javascript ได้หรือเปล่า ก็เลยถาม ChatGPT และคำตอบที่ได้รับทำให้แปลกใจมาก นั่นคือทำได้!

ผมเข้าใจว่านี่เป็นอานิสงส์มาจากฟีเจอร์ตัดคำไทย (ที่ได้มาจากต้นน้ำของทาง Linux อีกที) ก็เลยให้ ChatGPT ช่วยเขียน html + javascript ออกมา


วันเสาร์ที่ 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] คือฟอนต์ที่ปรับขนาดให้ตัวใหญ่ตามมาตรฐานฟอนต์สมัยปัจจุบันและแก้ไขบางจุด (อ่านเพิ่มเติมในโพสต์)

▶️ ตอนที่ 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 นิ้ว ที่เราสามารถย่อขยายตัวหนังสือได้ตามต้องการและสะดวกต่อการพกพาไปอ่านที่ไหนต่อที่ไหนได้

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

วันศุกร์ที่ 6 กุมภาพันธ์ พ.ศ. 2569

เขียนโปรแกรมนับเงิน

การต้องมานับเงินที่มีธนบัตรและเหรียญราคาต่างๆ จำนวนมากก็ทำเอาปวดหัวอยู่ไม่น้อย ก่อนหน้านี้ผมใช้ Google Sheet (หรือ LibreOffice Calc) ทำตารางแล้วใส่สูตรเอา

หลังจากลองให้ ChatGPT เขียนโปรแกรมตรวจสอบราคาสินค้า ก็เลยเอามาเขียนเป็นโปรแกรมนับเงิน เป็น html+javascript จากนั้นปรับแก้ด้วยมืออีกนิด ใช้เองไม่เน้นหน้าตา แค่ตอบโจทย์ก็โอเค สุดท้ายออกมาเป็นตัวนี้

แค่ใส่จำนวนของธนบัตรกับเหรียญที่นับไว้ลงไป ก็จะคำนวณเงินทั้งหมดออกมาให้เองอัตโนมัติ

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

โปรแกรมเปรียบเทียบราคาสินค้า

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

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



โปรแกรมเป็น html + javascript

เริ่มต้นมีช่องให้ใส่ราคาเปรียบเทียบ 3 รายการ ถ้าต้องการมากกว่านั้นก็กดปุ่ม [เพิ่มรายการ] จะเพิ่มมาให้ทีละ 2 ช่อง สูงสุดไม่เกิน 20 ช่อง

เมื่อใส่ข้อมูลลงไป จะคำนวณให้ทันที ไม่ต้องกดปุ่มอะไรอีก บอกให้ว่ารายการไหนราคาถูกสุด

หลังจากเอามาใช้งาน ถึงได้รู้ว่าสินค้าหลายอย่างเลย ที่ห่อเล็กถูกกว่าห่อใหญ่ ซื้อเดี่ยวราคาถูกกว่าซื้อแพ็ค เหอๆ