<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6815053</id><updated>2012-01-31T19:21:44.624+07:00</updated><category term='flash'/><category term='xiterm+thai'/><category term='calamaris'/><category term='planet'/><category term='thaifonts-scalable'/><category term='latex'/><category term='localization'/><category term='th.gnome.org'/><category term='kiosk'/><category term='pidgin'/><category term='scim'/><category term='openstreetmap'/><category term='gnome'/><category term='firefox'/><category term='redhat'/><category term='iceweasel'/><category term='make'/><category term='debconf'/><category term='xulrunner'/><category term='typography'/><category term='ergonomics'/><category term='burma'/><category term='computer'/><category term='debian'/><category term='video'/><category term='mindmap'/><category term='laptop'/><category term='science'/><category term='linux'/><category term='driver'/><category term='ieee'/><category term='translation'/><category term='wifi'/><category term='photography'/><category term='local'/><category term='swath'/><category term='security'/><category term='programming'/><category term='politics'/><category term='culture'/><category term='FOSS'/><category term='thanks'/><category term='language'/><category term='recreation'/><category term='blog'/><category term='book'/><category term='multimedia'/><category term='vlc'/><category term='tai'/><category term='trip'/><category term='kde'/><category term='trie'/><category term='life'/><category term='gps'/><category term='squid'/><category term='xorg'/><category term='OO.o'/><category term='ubuntuclub'/><category term='android'/><category term='desktop'/><category term='totem'/><category term='unix'/><category term='html'/><category term='twitter'/><category term='history'/><category term='religion'/><category term='drupal'/><category term='touchscreen'/><category term='libthai'/><category term='myanmar'/><category term='network'/><category term='LTN'/><category term='mozilla'/><category term='china'/><category term='film'/><category term='ubuntu'/><category term='three kingdoms'/><category term='academic'/><category term='lockdown'/><category term='debianclub'/><title type='text'>Theppitak's blog</title><subtitle type='html'>My personal blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thep.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default?start-index=101&amp;max-results=100'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>692</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6815053.post-5283324276564271331</id><published>2011-12-30T15:19:00.001+07:00</published><updated>2011-12-30T15:20:44.888+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอขอบคุณ&lt;/a&gt; คุณฉัตรศิริ รัตนา ที่ได้หย่อนสตางค์ลงหมวก เพื่อ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;สนับสนุนงานพัฒนาของผม&lt;/a&gt; ขอให้มีความสุขกับซอฟต์แวร์เสรีครับ และปีใหม่นี้ก็ขอให้สุขภาพแข็งแรงนะครับ&lt;/p&gt;

&lt;p&gt;สำหรับผม ช่วงนี้มีเรื่องต้องทำเพิ่มขึ้นอีกหนึ่งอย่าง คือการเป็นผู้ปกครองให้กับหลานชายที่ย้ายโรงเรียนจากกรุงเทพฯ มาเรียนที่ขอนแก่น (หนีน้ำท่วม) ช่วงเวลาที่จะได้ทำงาน (รวมหมดทั้งงานบ้านจิปาถะและงานพัฒนา) จึงเป็นช่วงที่เขาไปโรงเรียน พอเขากลับมาก็ต้องละงานไปดูเรื่องการบ้าน การทบทวนบทเรียนของเขา เวลาทำงานจึงจำกัดลงบ้าง แต่ก็พยายามทำให้เต็มเม็ดเต็มหน่วยที่สุดครับ อาจจะเห็นผมหายไปจาก social network บ้าง นั่นก็เพื่อให้ทำงานได้เต็มเวลามากขึ้นครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5283324276564271331?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5283324276564271331/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/12/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5283324276564271331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5283324276564271331'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/12/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-9092788586253954552</id><published>2011-12-27T17:50:00.004+07:00</published><updated>2011-12-28T09:32:52.468+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>ThaiLaTeX wbr, Quotation and Special Characters</title><content type='html'>&lt;p&gt;หลังจากที่ &lt;a href="http://thep.blogspot.com/2011/11/thailatex-work-plan-completed.html"&gt;แยกร่าง ThaiLaTeX&lt;/a&gt; เสร็จไปแล้ว ขณะที่พยายามจะทำความสะอาดโค้ดเพื่อเตรียมส่งเข้ารวมใน Babel นั้น ก็ได้ข่าวมาสองชิ้น เป็นข่าวร้ายและข่าวดี&lt;/p&gt;

&lt;p&gt;ข่าวร้ายคือโครงการ Babel นั้นอยู่ในสถานะ unmaintained มานานแล้ว ส่งไปตอนนี้ก็ไม่มีใครจัดการให้ แต่ข่าวดีคือ ยังพอมีหวังถ้าสามารถเข้ารวมใน &lt;a href="http://www.tug.org/texlive/"&gt;TeX Live&lt;/a&gt; ได้ และได้รับคำแนะนำจากผู้ดูแล TeX Live ให้ปรับปรุงเรื่องการจัดโครงสร้างของแพกเกจ&lt;/p&gt;

&lt;p&gt;ดังนั้น รายการเปลี่ยนแปลงของ ThaiLaTeX และฟอนต์ทั้งสองชุดในช่วงที่ผ่านมา จึงเป็นการจัดโครงสร้างแพกเกจสำหรับ CTAN เสียใหม่ให้ตรงตามข้อกำหนด &lt;a href="http://tug.org/tds/tds.html"&gt;TDS&lt;/a&gt; มากขึ้น โดยของเดิมนั้นเพียงแค่ใช้ได้ในระดับหนึ่ง แต่ยังต้องปรับปรุงอีกเพื่อให้ทำงานกับสคริปต์ต่าง ๆ ของ TeX Live ได้ดีขึ้น&lt;/p&gt;

&lt;p&gt;เสร็จเรื่องจัดโครงสร้างแล้ว ก่อนจะออกรุ่นใหม่ก็กลับมาทำความสะอาดต่อ ก็ปรากฏว่าพบประเด็นอีก 2 ประเด็นที่เป็นจุดบกพร่องอยู่&lt;/p&gt;

&lt;h4&gt;1. การเว้นช่องไฟระหว่างคำ&lt;/h4&gt;

&lt;p&gt;ในคำสั่ง &lt;code&gt;\wbr&lt;/code&gt; ปัจจุบันนั้น ได้ดัดแปลงจากแค่เป็นช่องว่างที่ไม่มีความกว้างธรรมดา ให้กลายเป็น glue ที่สามารถยืดได้ เพื่อช่วยในการจัด justified text ในคอลัมน์แคบ โดยให้มาแทรกช่องว่างระหว่างคำด้วย เนื่องจากภาษาไทยใช้อักขระเว้นวรรคน้อยกว่าภาษาอังกฤษ แต่จากการสังเกตเอกสารที่ใช้คอลัมน์แคบ ปรากฏว่าทำให้หลายจุดกลายเป็นการเว้นช่องว่างระหว่างคำเหมือนในหนังสือเรียนชั้นประถม ซึ่งดูไม่สวยงามเลย และในบรรทัดที่ตัดคำไม่ถูก เช่นบรรทัดที่มีชื่อคน ก็จะเป็นการเปิดเผยจุดตัดคำที่ผิดไปด้วย แต่ครั้นจะไม่ยืด &lt;code&gt;\wbr&lt;/code&gt; ก็จะทำให้ช่องว่างห่างมาก และในบรรทัดที่ไม่มีช่องว่างเลย บรรทัดก็จะ rag ด้านขวา (แต่สังเกตว่าการไม่ยืดช่องไฟทำให้เส้นหมึกของตัวหนังสือสม่ำเสมอน่าอ่านกว่า)&lt;/p&gt;

&lt;table border="1"&gt;
&lt;tr&gt;
  &lt;th&gt;&lt;code&gt;\wbr&lt;/code&gt; แบบยืดได้&lt;/th&gt;
  &lt;th&gt;&lt;code&gt;\wbr&lt;/code&gt; แบบยืดไม่ได้&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-wbr-before.png" /&gt;&lt;/td&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-wbr-after.png" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;วิธีแก้ที่นิยมที่สุดในงานพิมพ์ภาษาไทยคือ ใช้ &lt;a href="http://en.wikipedia.org/wiki/Letter-spacing"&gt;letter-spacing&lt;/a&gt; คือการกระจายช่องไฟลงไประหว่างอักขระ ซึ่งวิธีนี้ก็มีข้อเสียเหมือนกัน คือในกรณีที่ต้องชดเชยช่องว่างมาก (ซึ่งในกรณีแยกคำทำให้เห็นคำแยกเป็นคำ ๆ) ช่องไฟที่แทรกลงไปจะทำให้อักขระแยกห่างจากกัน ทำให้อ่านยากอยู่ดี เพราะตามหลักการทำงานของสมองขณะอ่านนั้น สมองจะรับรู้คำต่าง ๆ เป็นรูปภาพของกลุ่มอักขระมากกว่าจะไล่สะกดเรียงตัว แต่เมื่อภาพถูกยืดออกมากเกินไป ก็จะทำให้การรับรู้รูปคำช้าลง&lt;/p&gt;

&lt;p&gt;อย่างไรก็ดี เรื่อง letter-spacing นั้นทำใน LaTeX ได้ยาก เพราะนอกจากจะถือเป็นหนึ่งใน &lt;a href="http://www.itcfonts.com/Ulc/4111/TopTenTypeCrimes.htm"&gt;bad practice&lt;/a&gt; ในเชิง typography แล้ว ยังทำให้มีปัญหากับการจัดการ ligature (ff, fi, fl, ffi, ffl) อีกด้วย ทำให้ Knuth ไม่สนใจสนับสนุนวิธีการนี้ใน TeX และหากเราจะจัดการกับภาษาไทย ก็ต้องจัดการภาษาอังกฤษด้วย เพื่อให้ช่องไฟสมดุลกัน และคงต้องไปรบรากับนัก typography อีกเยอะ&lt;/p&gt;

&lt;p&gt;สิ่งที่จะช่วยได้อีกอย่างคือการรองรับ hyphenation ซึ่งจะทำให้จุดแบ่งบรรทัดละเอียดขึ้น ลดปัญหาการชดเชยช่องไฟลง ซึ่ง TeX จะมีอัลกอริทึมในการตัดบรรทัดไม่ให้มี hyphenation ติดต่อกันมากเกินไปอยู่แล้ว&lt;/p&gt;

&lt;p&gt;ก็ต้องวิจัยกันต่อไป ว่าสามารถเขียน hyphenation pattern สำหรับภาษาไทยออกมาได้หรือไม่ หรือจะใช้พจนานุกรมช่วยโดยเพิ่มความสามารถใน swath แต่เฉพาะหน้านี้ ผมได้ตัดเรื่องการยืดช่องไฟของ &lt;code&gt;\wbr&lt;/code&gt; ออกแล้ว กลับไปใช้ช่องไฟแบบไม่มีช่องว่างเหมือนเดิม&lt;/p&gt;

&lt;h4&gt;2. อัญประกาศและเครื่องหมายพิเศษต่าง ๆ&lt;/h4&gt;

&lt;p&gt;ผมได้สังเกตเห็นมาระยะหนึ่งแล้ว ว่าอัญประกาศคู่ในเอกสาร LaTeX ภาษาไทยมันดูห่าง ๆ โดยเฉพาะฟอนต์นรสีห์จะเห็นได้ชัด พอเปิด PDF ที่ได้แล้วใช้เมาส์เลือกดู ก็พบว่ามันไม่ได้แปลง &lt;code&gt;``&lt;/code&gt; หรือ &lt;code&gt;''&lt;/code&gt; ให้เป็นอัญประกาศคู่ตัวเดียวเลย ยังคงเป็นอัญประกาศเดี่ยวสองตัวซ้อนกันอยู่เหมือนใน input แกะไปแกะมาก็พบว่าเป็นบั๊กในกฎ ligkern วิธีแก้นั้นมีหลายวิธี ได้ผลครบถ้วนไม่เท่ากัน เนื่องจากปัจจุบันสามารถใช้ UTF-8 ในเอกสารได้ ทำให้สามารถป้อนอักขระยูนิโค้ดของอัญประกาศลงไปตรง ๆ ได้เหมือนกัน แก้ไปแก้มาก็พบ trick ที่ทำให้ใช้งานได้ทุกกรณี ซึ่งแก้เพียง 3 บรรทัดเท่านั้น&lt;/p&gt;

&lt;p&gt;การแก้ไขนี้มีผลทำให้ลำดับ &lt;code&gt;?`&lt;/code&gt; และ &lt;code&gt;!`&lt;/code&gt; ซึ่ง TeX กำหนดให้แปลงเป็น ¿ และ ¡ ตามลำดับกลับมาทำงานถูกต้องด้วย และเมื่อได้ตรวจสอบลำดับอื่น ๆ ของ TeX ก็พบว่ามีหลายตัวที่ยังไม่ได้กำหนดใน encoding LTH ทำให้ TeX ต้องสำรองใช้ glyph จาก encoding OT1 หรืออื่น ๆ แทน ซึ่งรวมถึงเครื่องหมายพื้นฐานอย่าง $ ด้วย ทำให้รูปแบบตัวอักษรดูไม่กลมกลืนกันเพราะมาจากคนละฟอนต์ และเพื่อแกล้งให้มันต่างกันมากเพื่อให้สังเกตได้ง่ายระหว่างทดสอบ ก็ได้ทดลองใช้ฟอนต์ garuda ผ่านคำสั่ง &lt;code&gt;\usefont&lt;/code&gt; ไม่ใช่ &lt;code&gt;\sffamily&lt;/code&gt; เพื่อให้ glyph ที่สำรองนั้นไปดึงมาจาก roman shape ให้มันต่างจาก san serif ของ garuda&lt;/p&gt;

&lt;p&gt;รูปข้างล่างนี้แสดงการเปรียบเทียบก่อนและหลังการแก้ ทั้งกรณีอัญประกาศและเครื่องหมายพิเศษ:&lt;/p&gt;

&lt;table border="1"&gt;
&lt;tr&gt;
  &lt;th&gt;Garuda ก่อน&lt;/th&gt;
  &lt;th&gt;Garuda หลัง&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-lig-garuda-before.png" /&gt;&lt;/td&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-lig-garuda-after.png" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;กับฟอนต์นรสีห์:&lt;/p&gt;

&lt;table border="1"&gt;
&lt;tr&gt;
  &lt;th&gt;Norasi ก่อน&lt;/th&gt;
  &lt;th&gt;Norasi หลัง&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-lig-norasi-before.png" /&gt;&lt;/td&gt;
  &lt;td&gt;&lt;img src="http://linux.thai.net/~thep/shots/20111227-latex-lig-norasi-after.png" /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;จะเห็นว่าไม่ได้กู้อักขระละตินกลับมาทั้งหมด เนื่องจากช่องว่างในตารางอักขระมีจำกัด จึงเลือกเอาเฉพาะที่น่าจะได้ใช้บ่อยเท่านั้น หลังจากแก้แล้ว อักขระละตินนอกช่วง ASCII ที่สามารถใช้ใน LTH ได้ ได้แก่ &lt;code&gt;?`&lt;/code&gt; (¿), &lt;code&gt;!`&lt;/code&gt; (¡), &lt;code&gt;\dag&lt;/code&gt; (†), &lt;code&gt;\ddag&lt;/code&gt; (‡), &lt;code&gt;\S&lt;/code&gt; (§), &lt;code&gt;\P&lt;/code&gt; (¶), &lt;code&gt;\copyright&lt;/code&gt; (©), &lt;code&gt;\textregistered&lt;/code&gt; (®), &lt;code&gt;\texttrademark&lt;/code&gt;(™), &lt;code&gt;\ae&lt;/code&gt; (æ), &lt;code&gt;\AE&lt;/code&gt; (Æ), &lt;code&gt;\oe&lt;/code&gt; (œ), &lt;code&gt;\OE&lt;/code&gt; (Œ), &lt;code&gt;\ss&lt;/code&gt; (ß), &lt;code&gt;\i&lt;/code&gt; (ı), &lt;code&gt;\j&lt;/code&gt; (ȷ) ส่วนอักขระ accent ทั้งหลาย ยังคงใช้การผสม accent ของ TeX ตามปกติ (เช่น &lt;code&gt;\'e&lt;/code&gt; = é)&lt;/p&gt;

&lt;p&gt;แต่งานยังไม่จบครับ ปัญหาคือไม่ใช่ทุกฟอนต์ที่มี glyph เหล่านี้ครบ ยังต้องไล่เพิ่ม glyph ก่อน (เช่น ตัวอย่างของ garuda จะเห็นว่า dotless j หาย) กว่าจะเสร็จคงปีหน้า :-)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update (2011-12-28 09:28+0700):&lt;/strong&gt; เพิ่มโค้ด LaTeX สำหรับอักขระละตินที่ใช้เพิ่มได้ เพื่อความชัดเจน&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-9092788586253954552?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/9092788586253954552/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/12/thailatex-wbr-quotation-and-special.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9092788586253954552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9092788586253954552'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/12/thailatex-wbr-quotation-and-special.html' title='ThaiLaTeX wbr, Quotation and Special Characters'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5119634142383647794</id><published>2011-11-10T18:40:00.002+07:00</published><updated>2011-11-11T08:53:50.576+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>My Desktop</title><content type='html'>&lt;p&gt;หลังจากที่ใช้ GNOME 3 มาพักหนึ่ง พยายามทำความคุ้นเคย ปรับเปลี่ยนไปมา จนในที่สุดก็มาลงตัวที่รูปแบบนี้:&lt;/p&gt;

&lt;p style="text-align: center"&gt;
  &lt;a href="http://linux.thai.net/~thep/shots/20111110-my-desktop.png"&gt;
  &lt;img src="http://linux.thai.net/~thep/shots/20111110-my-desktop-small.png"
       alt="scaled desktop screenshot"
       title="my desktop screenshot" /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;กล่าวคือ เป็น GNOME fallback ที่หน้าตาคล้ายกับ &lt;a href="http://thep.blogspot.com/2007/01/my-desktop.html"&gt;ของเดิม&lt;/a&gt; แต่ก่อนที่จะมาลงเอยที่แบบนี้ ผมได้ทดลอง GNOME Shell ใน GNOME 3 มาแล้ว พบว่ามีความไม่สะดวกหลายอย่าง:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Stateful UI&lt;/strong&gt; เป็นสิ่งที่ผมมีปัญหามาตลอด ไม่ว่าจะในเว็บ ในสมาร์ทโฟน หรือบนเดสก์ท็อป เพราะมันไม่สามารถใช้ความเคยชินเพียงอย่างเดียวได้ ต้องใช้สายตาสังเกตความเปลี่ยนแปลงบนหน้าจอ โดยเฉพาะ Activity mode ของ GNOME Shell ที่ไปซ่อนอยู่ข้างหลัง ต้องกดปุ่ม logo บนแป้นพิมพ์ หรือแย่กว่านั้นคือต้องเลื่อนเมาส์ไปไกลถึงมุมบนซ้ายของหน้าจอ เพื่อจะเผยสิ่งที่ต้องการขึ้นมาเมื่อต้องการเรียกโปรแกรมหรือแค่สลับหน้าต่าง แทนที่จะให้เห็นได้เลย&lt;/p&gt;
        &lt;p&gt;จริงอยู่ว่าในเดสก์ท็อปสุดท้ายของผม ผมใช้ window list แบบเมนูที่มุมบนขวา ซึ่งก็เลื่อนเมาส์ไปหาไกลไม่ต่างกัน แต่มันไม่ได้ทำให้เกิด surprise วูบวาบทั้งหน้าจอ หรือซุกซ่อนไม่ให้ผู้ใช้เห็น แค่แสดงพฤติกรรมปกติของเมนูเท่านั้น และตัวเมนูก็กินเนื้อที่น้อย การเลื่อนเมาส์ต่อจากนั้นเพื่อเลือกหน้าต่างมันลากไม่ไกลเหมือน Activity mode ของ GNOME Shell&lt;/p&gt;
        &lt;p&gt;ปัญหาอีกอย่างของ Activity mode ก็คือมันสามารถเข้าได้ด้วยการเลื่อนเมาส์ไปชนมุมบนซ้ายโดยไม่ต้องคลิก ซึ่งมันสามารถเข้าโหมดนี้โดยอุบัติเหตุได้ง่าย ไม่ว่าจะด้วยการบังเอิญกระทบโดนเมาส์หรือการสัมผัสถูกทัชแพดโดยไม่ตั้งใจ โดนแล้วหน้าจอก็เปลี่ยนวูบทั้งหมด งานที่ทำอยู่ก็ต้องสะดุดเพื่อมาเปลี่ยนโหมดคืน&lt;/p&gt;
       &lt;/li&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Linear Workspace Layout&lt;/strong&gt; ใน GNOME Shell ยังคงสามารถสลับ workspace ด้วยแป้นพิมพ์เหมือนเดิมก็จริง แต่ไม่สามารถจัดเรียง workspace แบบหลายแถวให้เป็น 2×2 แบบที่ผมเคยใช้มาก่อนได้ ต้องไล่สลับ workspace เรียงลำดับทีละอัน จากเดิมที่สามารถเปลี่ยนได้ทั้งทางซ้าย-ขวา และบน-ล่าง ทำให้สามารถสลับไป workspace ใด ๆ ก็ได้ภายในไม่เกิน 2 stroke&lt;/p&gt;
       &lt;/li&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;New Terminal Window&lt;/strong&gt; ด้วยความที่ launcher ของ GNOME Shell เป็นแบบ dock ทำให้เมื่อเปิดเทอร์มินัลไปแล้ว การคลิกที่ launcher อีกครั้งกลายเป็นการโฟกัสไปที่หน้าต่างเดิม ไม่ใช่การเปิดหน้าต่างใหม่ ถ้าต้องการเปิดหน้าต่างใหม่ จะต้องใช้ Ctrl+click ซึ่งไม่ intuitive ถ้าไม่ไปอ่านเจอใน &lt;a href="https://live.gnome.org/GnomeShell/CheatSheet"&gt;Cheat Sheet&lt;/a&gt; ผมคงไม่รู้วิธีเด็ดขาด เพราะการใช้แป้นพิมพ์ร่วมกับเมาส์ไม่ใช่สิ่งที่ใช้กันบ่อยในเดสก์ท็อปทั่วไป&lt;/p&gt;
       &lt;p&gt;อย่างไรก็ดี หลังจากพบวิธีการแล้ว มันก็ยังเป็นวิธีที่งุ่มง่ามอยู่ดี เพราะกว่าจะเปิดได้ต้องเข้า Activity mode ก่อน แล้วกวาดสายตาตามหน้าจอที่เปลี่ยนแปลง แล้วต้องกด Ctrl+click อีกชั้น เป็นการทำงานที่มากเกินไปเมื่อเทียบกับการเลื่อนเมาส์ไปคลิก launcher ธรรมดาในแบบเก่า สามารถทำมือเดียวได้เลย&lt;/p&gt;
       &lt;p&gt;ผลก็คือ ผมแก้ปัญหานี้ด้วยการสร้าง keyboard shorcut สำหรับเปิดเทอร์มินัล แล้วก็ใช้ keyboard shortcut เป็นหลัก หรือถ้ามีเทอร์มินัลเดิมเปิดอยู่แล้ว ก็ใช้วิธีกด Ctrl+Shift+N ง่ายกว่าใช้วิธีของ GNOME Shell เยอะ&lt;/p&gt;
       &lt;/li&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Multiload Applet&lt;/strong&gt; เป็นสิ่งที่ขาดไม่ได้เลย ผมรู้สึกสบายใจที่มีมาตรวัดการทำงานของ CPU และการจราจรเครือข่ายบอกอยู่ตลอดเวลา เพื่อจะได้ประเมินโหลดของเครื่อง หรือเอะใจได้ทันท่วงทีเมื่อมีความผิดปกติในการรับ-ส่งข้อมูลในเครือข่าย แต่พาเนลของ GNOME Shell เป็นพาเนลโง่ ๆ เพิ่มแอพเพล็ตใด ๆ ไม่ได้เลย ต้องรอ &lt;a href="http://www.webupd8.org/2011/05/network-memory-and-cpu-usage-indicator.html"&gt;GNOME Shell extension&lt;/a&gt; ที่จะมาอุดช่องว่างตรงนี้ ในขณะที่พาเนลของ fallback สามารถเพิ่มแอพเพล็ตได้ง่าย ๆ เลย&lt;/p&gt;
       &lt;/li&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Accidental Maximization&lt;/strong&gt; การ maximize หน้าต่างด้วยการลากไปชนพาเนลด้านบนนั้นสร้างปัญหาให้ผมอย่างมาก เพราะผมไม่มีนิสัย maximize หน้าต่างเลย โดยเฉพาะกับเทอร์มินัลที่ต้องการรักษาความกว้างไว้ที่ 80 คอลัมน์ และด้วยลักษณะการไม่ maximize ก็ทำให้ผมชอบจัดหน้าต่างให้ชิดขอบ &lt;em&gt;โดยไม่เปลี่ยนขนาด&lt;/em&gt; ปรากฏว่าวิธี maximize ของ GNOME Shell ทำให้ผมเสียเวลานานกว่าเดิมในการจัดหน้าต่าง ต้องถอน ๆ ชน ๆ พาเนลบนอยู่นานเพื่อไม่ให้มัน maxmize จนสุดท้ายถึงกับเลี่ยงการจัดหน้าต่างชิดขอบบนไปเลย หันไปชิดขอบล่างแทน&lt;/p&gt;
       &lt;/li&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Window Shadow&lt;/strong&gt; เป็นความรำคาญเล็ก ๆ น้อย ๆ คือผมไม่ชอบเงาของหน้าต่าง มันมาบังเนื้อหาหน้าต่างข้างใต้ให้มองไม่ชัด ซึ่งบางทีต้องการจัดวางหน้าต่างหลาย ๆ บานเพื่อดูเทียบข้อมูลก็รู้สึกรำคาญเงา ยังหาวิธีปิดไม่ได้&lt;/p&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;อย่างไรก็ดี ข้อดีของ GNOME Shell ที่ผมพบก็มีเหมือนกัน:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;p&gt;&lt;strong&gt;Single-Workspace Secondary Display&lt;/strong&gt; เขาเรียกว่าอะไรไม่รู้แหละ แต่มันคือการไม่เปลี่ยน workspace ในจอที่สองตามจอหลัก ซึ่งสะดวกมากสำหรับการวางหน้าต่างที่ต้องการให้อยู่อย่างถาวรไม่ว่าจะย้ายไป workspace ไหน เช่น หน้าต่าง chat, หน้าต่างเฝ้าสังเกตระบบ ฯลฯ แต่เรื่องนี้ก็ไม่ใช่ข้อได้เปรียบอะไรมากมาย เพราะในแบบเก่ายังสามารถกำหนดให้ &lt;q&gt;แสดงบนพื้นที่ทำงานเสมอ&lt;/q&gt; ได้เหมือนกัน&lt;/p&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;หลังจากใช้ความพยายามอยู่พักหนึ่ง ผมจึงตัดสินใจทิ้ง GNOME Shell แล้วกลับมาใช้ fallback session แทน ซึ่งก็ไม่ผิดหวัง หลังจากที่พบวิธีจัดการแอพเพล็ตและพาเนลด้วยการใช้ Alt+right-click แทนการใช้ right-click ธรรมดา คราวนี้พาเนลก็กลับมาเป็นของผมเหมือนเดิมละ&lt;/p&gt;

&lt;p&gt;ผมปรับแต่งพาเนลดังนี้:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ปรับ workspace layout ให้เป็น 2×2 &lt;/li&gt;
  &lt;li&gt; ลบ workspace switcher ในพาเนลด้านล่างแล้วมาเพิ่มในพาเนลด้านบนแทน &lt;/li&gt;
  &lt;li&gt; ใช้ window list menu ในพาเนลด้านบนแทน task bar ด้านล่าง &lt;/li&gt;
  &lt;li&gt; ตัดพาเนลด้านล่างทิ้ง &lt;/li&gt;
  &lt;li&gt; ปรับแต่งเวลาให้แสดงรายงานอากาศด้วย เพราะช่วงนี้อากาศเปลี่ยนแปลงบ่อย เริ่มหนาวแล้ว &lt;/li&gt;
  &lt;li&gt; เพิ่ม multiload applet แสดงกราฟการใช้ CPU, หน่วยความจำ, เครือข่าย, ฮาร์ดดิสก์ &lt;/li&gt;
  &lt;li&gt; เพิ่ม launcher สำหรับโปรแกรมที่ใช้บ่อย &lt;/li&gt;
  &lt;li&gt; เลื่อน user menu จากมุมบนขวาไปอยู่ถัดจากเมนูที่มุมบนซ้าย ซึ่งจะเข้ากับเมนู &lt;q&gt;ระบบ&lt;/q&gt; ของเดิมพอดี และให้มุมบนขวาสำหรับ window list menu เพราะใช้บ่อย &lt;/li&gt;
  &lt;li&gt; เพิ่ม keyboard shortcut สำหรับเรียกโปรแกรมพื้นฐาน เช่น เทอร์มินัล, เว็บเบราว์เซอร์, เครื่องคิดเลข &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;แค่นี้ผมก็กลับมามีความสุขกับการทำงานเหมือนเดิม และถ้าจะไปเซ็ตเครื่องให้ผู้ใช้มือใหม่ใช้ ผมก็คงใช้ fallback session เหมือนกัน ไม่ต้องการเพิ่มภาระในการ support ให้กับตัวเอง :P&lt;/p&gt;

&lt;p&gt;GNOME Fallback (หรือกำลังจะถูกเปลี่ยนชื่อเป็น GNOME Classic ใน Debian ในอนาคตอันใกล้) จงเจริญ!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Update (2011-11-11 08:50+0700):&lt;/strong&gt; เพิ่มข้อมูลที่เพิ่งนึกได้ เรื่อง Accidental Maxmimization และการรองรับ single-workspace secondary display&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5119634142383647794?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5119634142383647794/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/11/my-desktop.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5119634142383647794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5119634142383647794'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/11/my-desktop.html' title='My Desktop'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5259892024692748866</id><published>2011-11-03T15:47:00.002+07:00</published><updated>2011-11-03T15:53:13.684+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>ThaiLaTeX Work Plan Completed</title><content type='html'>&lt;p&gt;น่าจะถือได้ว่าเสร็จแล้วสำหรับ &lt;a href="http://thep.blogspot.com/2011/10/thailatex-and-fonts-work-plan.html"&gt;แผนงาน ThaiLaTeX และฟอนต์&lt;/a&gt; ที่ได้วางไว้ หลังจากที่ได้ออก &lt;a href="http://linux.thai.net/node/244"&gt;ThaiFonts-Arundina 0.1.3&lt;/a&gt; ที่รองรับการใช้งานใน LaTeX และ &lt;a href="http://linux.thai.net/node/245"&gt;ThaiFonts-Scalable 0.4.17&lt;/a&gt; ที่ได้ปรับกระบวนการ build ให้ใช้ทรัพยากรร่วมจาก ThaiLaTeX แล้ว รวมทั้งการอัปโหลดแพกเกจเข้า Debian และ CTAN ด้วย&lt;/p&gt;

&lt;p&gt;สำหรับ Debian นั้น ทุกอย่างได้ทยอยเปลี่ยนใน unstable โดยรักษา functionality ตลอดทุกขั้นการอัปเกรด และถ้าไม่เจอปัญหาอะไรร้ายแรง อีกประมาณ 10 วันก็คงจะย้ายเข้า testing โดยอัตโนมัติ ส่วน Ubuntu นั้นผมไม่แน่ใจ เพราะนี่มีการทำให้เกิด source package ชื่อใหม่ การย้ายเข้า 12.04 อาจไม่เป็นไปโดยอัตโนมัติ ซึ่งผมเองก็ไม่แน่ใจกระบวนการของ Ubuntu ว่าต้องติดต่ออะไรใครหรือเปล่า ณ ขณะที่เขียน blog นี้ ยังไม่มีแพกเกจไหนย้ายเข้า Ubuntu เลย คงต้องรอดูอีกสักพัก (เป็นอีกครั้งที่ทำให้&lt;a href="http://linux.thai.net/~thep/presents/DebUbu/debubu.pdf"&gt;อยากมี&lt;/a&gt; &lt;a href="https://wiki.ubuntu.com/MOTU"&gt;MOTU&lt;/a&gt; คนไทยมาช่วยทำงานทางฝั่ง Ubuntu)&lt;/p&gt;

&lt;p&gt;สรุปแผนงานครั้งนี้ สิ่งที่ได้ก็คือ:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; ลดขั้นตอนการอัปเกรดฟอนต์ใน LaTeX แทนที่จะต้องคัดลอกมาใส่ ThaiLaTeX ทุกรุ่น ต่อไปก็จะอัปเกรดได้ทันทีที่ออกฟอนต์รุ่นใหม่ &lt;/li&gt;
  &lt;li&gt; โค้ดข้อกำหนดภาษาไทย (&lt;code&gt;thai.ldf&lt;/code&gt;) สำหรับ Babel สะอาดขึ้นมาก &lt;a href="http://thep.blogspot.com/2011/10/thailatex-046-refactored.html"&gt;จนทำให้พร้อมส่งเข้า Babel มากขึ้นมาก&lt;/a&gt; &lt;/li&gt;
  &lt;li&gt; ผู้ใช้สามารถใช้ฟอนต์ชุด Arundina เพิ่มเติม โดยใน Debian ก็ติดตั้งแพกเกจ &lt;code&gt;latex-fonts-sipa-arundina&lt;/code&gt; แล้วใช้คำสั่งนี้ใน preamble ของเอกสาร:
&lt;pre&gt;
\usepackage{fonts-arundina}
&lt;/pre&gt;
       ก็จะเป็นการกำหนดฟอนต์แบบ roman, san-serif และ teletype ให้เป็นชุด Arundina โดยอัตโนมัติ (&lt;a href="http://linux.thai.net/~thep/tmp/test-arundina-latex.pdf"&gt;ตัวอย่างเอกสาร&lt;/a&gt;)
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;สิ่งที่อาจจะทำต่อไปในอนาคต (ถ้ามีเวลา) ก็คือ:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; ทำความสะอาดและส่งข้อกำหนดภาษาไทยเข้ารวมใน Babel ซึ่งจะทำให้ไม่จำเป็นต้องมี ThaiLaTeX อีกต่อไป &lt;/li&gt;
  &lt;li&gt; ทำฟอนต์ชุดประกวด (สารบรรณ) ของ DIP-SIPA &lt;a href="http://thep.blogspot.com/2011/10/sarabun-to-be-freed.html"&gt;ที่กำลังอยู่ระหว่างดำเนินการเปิดเสรี&lt;/a&gt; ให้ใช้กับ LaTeX ได้ แต่ต้องรอให้ SIPA release ฟอนต์อย่างเป็นทางการ หรือมีการดำเนินการอย่างใดอย่างหนึ่งที่เหมาะสมเสียก่อน &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;แต่เรื่องเหล่านี้คงต้องพักไว้ก่อน เพราะมีอีกเรื่องที่ควรไปสะสาง คือเรื่อง &lt;a href="http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags"&gt;security hardening build flags&lt;/a&gt; ในแพกเกจในความดูแลของผม เนื่องจากเป็น &lt;a href="http://wiki.debian.org/ReleaseGoals"&gt;release goal&lt;/a&gt; หนึ่งของ Wheezy&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5259892024692748866?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5259892024692748866/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/11/thailatex-work-plan-completed.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5259892024692748866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5259892024692748866'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/11/thailatex-work-plan-completed.html' title='ThaiLaTeX Work Plan Completed'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-9151452119512756548</id><published>2011-10-27T12:53:00.002+07:00</published><updated>2011-10-27T13:20:26.276+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='thaifonts-scalable'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>ThaiLaTeX 0.4.6 Refactored</title><content type='html'>&lt;p&gt;ผมโชคดีครับ ที่รอดพ้นจากภัยน้ำท่วม ก็ขอใช้โอกาสที่ได้นี้ทำงานให้มาก หวังว่าจะช่วยชดเชยผลิตภาพของประเทศชาติที่สูญเสียไปบ้าง แม้เพียงเล็กน้อย&lt;/p&gt;

&lt;p&gt;จาก &lt;a href="http://thep.blogspot.com/2011/10/thailatex-and-fonts-work-plan.html"&gt;แผนงาน ThaiLaTeX&lt;/a&gt; ที่ได้วางไว้ ตอนนี้ก็ได้ดำเนินการสองขั้นแรกเสร็จแล้ว คือการออก &lt;a href="http://linux.thai.net/node/242"&gt;ThaiFonts-Scalable 0.4.16&lt;/a&gt; และ &lt;a href="http://linux.thai.net/node/243"&gt;ThaiLaTeX 0.4.6&lt;/a&gt; โดยได้ย้ายฟอนต์จาก ThaiLaTeX มาไว้ทางฝั่ง ThaiFonts-Scalable เรียบร้อยแล้ว&lt;/p&gt;

&lt;p&gt;ใครที่ใช้ Debian sid ก็คงได้เห็นการเปลี่ยนแปลงแล้วเมื่อเช้านี้ ส่วน distro อื่น รวมถึงผู้ใช้ MikTeX ที่ติดตั้งแพกเกจผ่าน CTAN ก็อดใจรอสักนิด&lt;/p&gt;

&lt;p&gt;การย้ายฟอนต์ในครั้งนี้ ปรากฏว่าเมื่อลงมือทำจริง มีบางส่วนที่ไม่เป็นไปตามคาด คือไม่ได้ทำ automake snippet ไว้ให้แพกเกจฟอนต์ดึงไปใช้ เนื่องจาก:
&lt;ul&gt;
  &lt;li&gt; ไม่มีวิธีง่าย ๆ ในการพิจารณาตำแหน่งของ include file โดยถ้าเป็น make ธรรมดานั้น คำสั่ง &lt;code&gt;include&lt;/code&gt; สามารถไปค้นหาไฟล์จากไดเรกทอรี &lt;code&gt;/usr[/local]/include&lt;/code&gt; ได้เลย แต่ automake กลับมา override คำสั่งนี้ และสามารถ include ไฟล์ได้แค่จากภายใน source tree หรือระบุพาธเต็มเท่านั้น ซึ่งถ้าจะใช้ข้ามแพกเกจก็ต้องเพิ่มสคริปต์ configure มาตรวจสอบยุ่งยากอีก &lt;/li&gt;
  &lt;li&gt; เมื่อพิจารณาแพกเกจฟอนต์อื่นที่การใช้ฟอนต์ TrueType อาจจะเหมาะกว่า Type 1 เช่น &lt;a href="http://linux.thai.net/projects/thaifonts-arundina"&gt;ThaiFonts-Arundina&lt;/a&gt; สุดท้ายก็คงได้ไปปรับกฎใหม่อีกอยู่ดี &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;พิจารณาแล้ว ได้ไม่คุ้มเสีย จึงเลือกตัดความยุ่งยากทั้งหลาย ใช้วิธีตัดแปะกฎเอา คงมีแต่ซอร์สที่ใช้ build ส่วน LIGKERN เท่านั้นที่จะติดตั้งให้ใช้ร่วมกัน&lt;/p&gt;

&lt;p&gt;ในการ refactor ครั้งนี้ มีจุดหนึ่งที่ถือเป็นก้าวกระโดดสำคัญ คือการปลดพันธนาการระหว่างฟอนต์กับข้อกำหนดภาษาใน babel จากเดิมที่ &lt;code&gt;thai.ldf&lt;/code&gt; จะกำหนดฟอนต์หลักสามแบบ คือ roman, san-serif, teletype สำหรับภาษาไทยไว้ด้วย ทำให้ข้อกำหนดภาษาจำเป็นต้องมีฟอนต์ติดพ่วงไปด้วย สร้างความลำบากใจในการส่งโค้ดเข้ารวมใน babel แต่เมื่อได้สำรวจภาษาอื่น ก็ได้พบวิธีการที่เขาทำกัน คือจะกำหนดแค่ font encoding เท่านั้น ไม่ได้กำหนด family แล้ว LaTeX จะไปหาฟอนต์ตัวใดตัวหนึ่งที่มี encoding ตามที่กำหนดนี้มาใช้ให้เอง (ซึ่งวิธีเลือกนั้นผมยังไม่ได้ค้น) จากนั้น ถ้าผู้ใช้จะใช้ฟอนต์อะไร ถ้าไม่ใช้วิธีกำหนด &lt;code&gt;\usefont&lt;/code&gt; ตรง ๆ ก็จะไป &lt;code&gt;\usepacakge&lt;/code&gt; ของฟอนต์นั้น ๆ แล้วตัว style ของแพกเกจก็จะกำหนดฟอนต์หลักให้อีกที&lt;/p&gt;

&lt;p&gt;ก็เป็นวิธีที่ดี เพราะถ้าต่อไปเราเพิ่มฟอนต์ไทยชุดอื่น ถ้าผู้ใช้ต้องการเลือกใช้ฟอนต์ชุดไหน ก็ไป &lt;code&gt;\usepackage&lt;/code&gt; ชุดที่ต้องการเอา ไม่ต้องมีอะไรผูกพ่วงกับข้อกำหนดภาษา&lt;/p&gt;

&lt;p&gt;เมื่อแยกขาดออกจากกันได้อย่างนี้ ก็ทำให้ &lt;code&gt;thai.ldf&lt;/code&gt; ของเราเบาสบายคล่องตัวขึ้นมาก ขอแค่มาตรวจทานให้ดีสักหน่อย ก็น่าจะส่งเข้ารวมใน babel ได้เลย (โดยอาจจะส่ง &lt;code&gt;lthuni.enc&lt;/code&gt; เข้าไปอีกไฟล์หนึ่งด้วย แต่ต้องสำรวจอีกที) และเมื่อพิจารณาสิ่งที่เหลืออยู่นอกจากฟอนต์กับ babel แล้ว ก็เหลือเพียง Emacs macro เล็ก ๆ กับคำสั่งเชลล์เล็ก ๆ เท่านั้น &lt;em&gt;จนทำให้ไม่ต้องมีแพกเกจ &lt;code&gt;ThaiLaTeX&lt;/code&gt; อีกต่อไปก็ได้&lt;/em&gt; และนั่นคือสิ่งที่ผมคิดจะทำในขั้นต่อไปหลังจากเสร็จงานครั้งนี้ &lt;em&gt;&lt;q&gt;ThaiLaTeX must die!&lt;/q&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;สำหรับผู้ใช้ เดิมจะมีแพกเกจ &lt;code&gt;thswitch&lt;/code&gt; เพื่อใช้สลับชุดฟอนต์ระหว่างไทย-ละตินอยู่ นอกเหนือจากค่าปริยายในข้อกำหนดภาษา ซึ่งแพกเกจนี้จะยังคงมีผลอยู่ในรุ่นใหม่ที่ได้ตัดฟอนต์ออกไปแล้ว เพื่อเป็นการรักษาความเข้ากันได้กับเอกสารเดิมที่มีอยู่ โดยจะอ้างอิงไปถึงฟอนต์ชุดเดิมที่ได้แยกออกไปเหมือนเดิม ถ้าเอกสารของคุณใช้แพกเกจนี้อยู่แล้ว ก็ไม่มีปัญหา คุณสามารถสลับฟอนต์ในเอกสารด้วยคำสั่ง &lt;code&gt;\rmfamily&lt;/code&gt; (หรือ &lt;code&gt;\textrm{}&lt;/code&gt;), &lt;code&gt;\sffamily&lt;/code&gt; (หรือ &lt;code&gt;\textsf{}&lt;/code&gt;) และ &lt;code&gt;\ttfamily&lt;/code&gt; (หรือ &lt;code&gt;\texttt{}&lt;/code&gt;) ได้ตามปกติ แต่ถ้าไม่ได้ใช้ คำสั่งสลับฟอนต์เหล่านี้จะไม่มีผลในรุ่นใหม่ คือมันจะใช้ฟอนต์ปริยายที่ตรวจพบเพียงฟอนต์เดียวไปตลอดเอกสาร&lt;/p&gt;

&lt;p&gt;ถ้าคุณต้องการสลับฟอนต์ในเอกสาร ขอแนะนำให้ใช้แพกเกจ &lt;code&gt;fonts-tlwg&lt;/code&gt; ดังนี้:&lt;/p&gt;

&lt;pre&gt;
\usepackage{fons-tlwg}
&lt;/pre&gt;

&lt;p&gt;ซึ่งในขณะนี้ คำสั่งด้านบนมีผลเทียบเท่ากับ &lt;code&gt;\usepackage{thswitch}&lt;/code&gt; ทุกประการ และขอแนะนำให้เอกสารใหม่ ๆ ใช้วิธีการนี้แทน &lt;code&gt;thswitch&lt;/code&gt; ที่อาจจะถูกตัดออกในอนาคต&lt;/p&gt;

&lt;p&gt;ขั้นต่อไป ผมคิดว่าจะทำแบบนี้กับฟอนต์ชุด Arundina เป็นรายต่อไป และผู้ใช้คงเริ่มเห็นภาพ ว่าทำไมต้อง deprecate แพกเกจ &lt;code&gt;thswitch&lt;/code&gt; นี้&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-9151452119512756548?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/9151452119512756548/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/10/thailatex-046-refactored.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9151452119512756548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9151452119512756548'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/10/thailatex-046-refactored.html' title='ThaiLaTeX 0.4.6 Refactored'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8310736869510009487</id><published>2011-10-13T22:08:00.002+07:00</published><updated>2011-10-13T22:17:27.706+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thaifonts-scalable'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>ThaiLaTeX and Fonts Work Plan</title><content type='html'>&lt;p&gt;มีรายการใน TODO list อย่างหนึ่งที่พยายามจะเคลียร์ แต่ก็ดองเอาไว้เพราะขาดสมาธิทำงาน จนกระทั่งได้โอกาสปลีกวิเวกเข้ากรุงแบบไร้เน็ต จึงมีเวลาใช้ความคิดบ้าง ปรากฏว่าได้กระตุ้นให้เกิดความคิดอย่างอื่นตามมาเป็นพรวน&lt;/p&gt;

&lt;p&gt;รายการนั้นคือ การเปลี่ยนชื่อแพกเกจฟอนต์ใน Debian ตาม &lt;a href="https://github.com/rbrito/fonts-policy/blob/master/fonts_policy.mdwn"&gt;naming convention ใหม่&lt;/a&gt; (ซึ่ง &lt;a href="http://lists.alioth.debian.org/pipermail/pkg-fonts-devel/2011-August/007468.html"&gt;เอาเข้าจริงใช้แค่บางส่วน&lt;/a&gt;) ตามข้อกำหนดใหม่ (ที่ใช้จริงแค่บางส่วน) นี้ ชื่อแพกเกจจะไม่ใช่ &lt;code&gt;ttf-*&lt;/code&gt; หรือ &lt;code&gt;t1-*&lt;/code&gt; หรือ &lt;code&gt;otf-*&lt;/code&gt; อีกต่อไป แต่จะชื่อ &lt;code&gt;fonts-*&lt;/code&gt; อย่างเดียวโดยไม่แยกชนิด ซึ่งหมายความว่า แพกเกจ &lt;a href="http://packages.qa.debian.org/t/thaifonts-scalable.html"&gt;thaifonts-scalable&lt;/a&gt; ที่เคยแยก binary เป็น &lt;code&gt;ttf-thai-tlwg&lt;/code&gt;, &lt;code&gt;otf-thai-tlwg&lt;/code&gt; และ &lt;code&gt;t1-thai-tlwg&lt;/code&gt; จะต้องยุบรวมเป็น &lt;code&gt;fonts-tlwg&lt;/code&gt; หรืออาจจะแตกเป็นแพกเกจย่อย ๆ รายฟอนต์ เป็น &lt;code&gt;fonts-kinnari&lt;/code&gt;, &lt;code&gt;fonts-garuda&lt;/code&gt; ฯลฯ ก็ได้ แต่สุดท้ายคือมีฟอนต์แค่แบบเดียวเท่านั้น ซึ่งถ้าต้องเลือกก็คงเป็น TTF ถึงแม้ Christian จะแนะว่ายังสามารถทำแพกเกจฟอนต์หลายชนิดโดยตั้งชื่อแยกชนิดกันได้อยู่ แต่เมื่อพิจารณา &lt;a href="http://qa.debian.org/popcon.php?package=thaifonts-scalable"&gt;สถิติ popcon&lt;/a&gt; แล้ว ผมคิดว่าอีกสองแบบที่เหลือคงไม่มีความต้องการใช้สักเท่าไร&lt;/p&gt;

&lt;p&gt;อีกเรื่องหนึ่งที่เกี่ยวข้องกัน คือ lintian report ที่มีมานานแล้วในแพกเกจ &lt;a href="http://packages.qa.debian.org/t/thailatex.html"&gt;thailatex&lt;/a&gt; คือ &lt;a href="http://lintian.debian.org/tags/duplicate-font-file.html"&gt;duplicate-font-file&lt;/a&gt; และ &lt;a href="http://lintian.debian.org/tags/font-in-non-font-package.html"&gt;font-in-non-font-package&lt;/a&gt; โดยรายการแรกเป็นเพราะตัวแพกเกจมีฟอนต์ชุดที่ซ้ำกับในแพกเกจ &lt;code&gt;t1-thai-tlwg&lt;/code&gt; ซึ่งถ้าตัด &lt;code&gt;t1-thai-tlwg&lt;/code&gt; ออกก็คงหาย แต่รายการหลังนี่แหละที่น่าคิด เพราะแพกเกจ thailatex ไม่ใช่แพกเกจสำหรับฟอนต์ แต่กลับมีฟอนต์รวมมาด้วย เพื่อใช้กับ LaTeX ซึ่งมีระบบฟอนต์แยกต่างหากจากของเดสก์ท็อป&lt;/p&gt;

&lt;p&gt;ซึ่งปัญหาการรวมฟอนต์มาใน thailatex นี้ ถ้าเราจะละเลย lintian report นี้ไปเสียก็ไม่มีปัญหา แต่ความจริงแล้ว มันก็มีปัญหาในทางปฏิบัติบ้างในช่วงที่ผ่านมา กล่าวคือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ทุกครั้งที่ออกฟอนต์ thaifonts-scalable รุ่นใหม่ ก็จะต้อง generate ฟอนต์ Type 1 แล้วนำมาอัปเดตใน thailatex เพื่อออก thailatex รุ่นใหม่ตามมาเสมอ ซึ่งจะมีหลายรุ่นที่เป็นแค่การอัปเดตฟอนต์เท่านั้น ถ้าย้ายฟอนต์ LaTeX ไปรวมใน thaifonts-scalable เสีย การอัปเดตฟอนต์ก็จะเป็นไปอย่างอัตโนมัติ แล้ว thailatex ก็จะออกรุ่นใหม่เฉพาะเมื่อมีการเปลี่ยนแปลงในส่วน LaTeX class จริง ๆ เท่านั้น &lt;/li&gt;
  &lt;li&gt; การเพิ่มฟอนต์ใน thailatex ด้วยวิธีปัจจุบัน จะต้องนำมาเพิ่มในแพกเกจ thailatex โดยตรง ยังมีแพกเกจฟอนต์อื่น ๆ ที่อาจนำมาเพิ่มได้ เช่น &lt;a href="http://packages.qa.debian.org/t/thaifonts-arundina.html"&gt;thaifonts-arundina&lt;/a&gt; หรือแม้กระทั่ง &lt;a href="http://thep.blogspot.com/2011/10/sarabun-to-be-freed.html"&gt;ฟอนต์ชุดสารบรรณ&lt;/a&gt; ที่กำลังจะผลักดันกันต่อไป ซึ่งการใช้วิธีเดิมจะไม่สะดวกอีกต่อไปแล้ว สมควรที่จะแยกส่วนของฟอนต์ออกมาจาก thailatex จริง ๆ เสียที &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ด้วยเหตุนี้ การเปลี่ยนแปลงครั้งนี้จึงควรรวมการย้ายฟอนต์ออกจาก thailatex เสียด้วย&lt;/p&gt;

&lt;p&gt;แต่การย้ายฟอนต์ออกจาก thailatex ไม่ใช่แค่ย้ายตัวฟอนต์ออกมา แต่ยังมีกรรมวิธีการ build TFM และ virtual font ที่ใช้ LIGKERN ในการจัดเรียงสระและวรรณยุกต์อีกด้วย จึงต้องแยกกระบวนการเหล่านี้ออกมา ทำให้อยู่ในรูปทั่วไปเพื่อใช้กับฟอนต์ทั่วไป (ที่มีลักษณะตามข้อกำหนดบางอย่าง เช่น ใช้ glyph naming convention แบบ &lt;code&gt;uni&lt;em&gt;XXXX&lt;/em&gt;&lt;/code&gt;) แล้วก็ต้องวางแผน transition สำหรับ Debian และการจัดการแพกเกจใน CTAN ควบคู่กันไปด้วย&lt;/p&gt;

&lt;p&gt;หลังจากคิดออกมาหลาย ๆ แบบแล้ว ก็เลือกเอาแบบที่คิดว่าง่ายที่สุด ดังนี้:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt; thaifonts-scalable:
       &lt;ul&gt;
         &lt;li&gt; เพิ่ม configure option &lt;code&gt;--enable-texfonts&lt;/code&gt; &lt;/li&gt;
         &lt;li&gt; คัดลอกกฎต่าง ๆ จาก thailatex มาใช้ชั่วคราวเพื่อ build ฟอนต์ &lt;/li&gt;
         &lt;li&gt; New upstream release (0.4.16) &lt;/li&gt;
         &lt;li&gt; สร้าง deb โดยเปลี่ยนชื่อฟอนต์ตามข้อกำหนดใหม่ &lt;/li&gt;
         &lt;li&gt; เพิ่มแพกเกจ &lt;code&gt;fonts-latex-*&lt;/code&gt; โดย Conflicts/Breaks thailatex (&amp;lt;&amp;lt; 0.4.5-3) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; thailatex:
       &lt;ul&gt;
         &lt;li&gt; แยกเอาส่วนกระบวนการ build ฟอนต์ออกมา คือ:
              &lt;ul&gt;
                &lt;li&gt; make rule สำหรับ build และติดตั้งฟอนต์ ซึ่งทางที่สะดวกที่สุดคือทำเป็น snippet สำหรับ include ใน Makefile.am แล้วก็เขียนแมโคร m4 เพื่อใช้กำหนดตัวแปรต่าง ๆ ให้กับกฎ แล้วให้แพกเกจฟอนต์นำไปใช้ใน configure.ac &lt;/li&gt;
                &lt;li&gt; กฎ LIGKERN โดยติดตั้งลงในระบบเพื่อให้ make rule ดึงไปใช้ &lt;/li&gt;
                &lt;li&gt; &lt;code&gt;lthuni.enc&lt;/code&gt; อาจติดตั้งรวมกับ make rule หรือกฎ LIGKERN หรือจะใช้จากในไดเรกทอรี TEXMF เลยก็ได้ &lt;/li&gt;
              &lt;/ul&gt;
              &lt;/li&gt;
         &lt;li&gt; ตัดฟอนต์ออก &lt;/li&gt;
         &lt;li&gt; New upstream release (0.4.6) &lt;/li&gt;
         &lt;li&gt; สร้าง deb โดย Depends &lt;code&gt;fonts-latex-*&lt;/code&gt; &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; thaifonts-scalable:
       &lt;ul&gt;
         &lt;li&gt; เปลี่ยนกฎการ build ให้ไปใช้รูปทั่วไปที่ thailatex ติดตั้งไว้ &lt;/li&gt;
         &lt;li&gt; New upstream release (0.4.17) &lt;/li&gt;
         &lt;li&gt; สร้าง deb โดย Build-Depends &lt;code&gt;thailatex (&amp;gt;= 0.4.6)&lt;/code&gt; &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; CTAN upload: thailatex + thaifonts-scalable &lt;/li&gt;
  &lt;li&gt; แพกเกจฟอนต์อื่น:
       &lt;ul&gt;
         &lt;li&gt; เพิ่ม configure option &lt;code&gt;--enable-tex-fonts&lt;/code&gt; เหมือน thaifonts-scalable &lt;/li&gt;
         &lt;li&gt; New upstream release &lt;/li&gt;
         &lt;li&gt; สร้าง deb โดย Build-Depends &lt;code&gt;thailatex (&amp;gt;= 0.4.6)&lt;/code&gt; &lt;/li&gt;
         &lt;li&gt; CTAN upload &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;บันทึกแผนงานไว้ก่อนครับ เดี๋ยวทยอยทำ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8310736869510009487?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8310736869510009487/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/10/thailatex-and-fonts-work-plan.html#comment-form' title='1 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8310736869510009487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8310736869510009487'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/10/thailatex-and-fonts-work-plan.html' title='ThaiLaTeX and Fonts Work Plan'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-7854242121037190252</id><published>2011-10-12T14:23:00.002+07:00</published><updated>2011-10-12T14:26:03.064+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><title type='text'>Sarabun to be Freed</title><content type='html'>&lt;p&gt;ข่าวดีข่าวหนึ่งที่ผมได้รับมาตั้งแต่ตอนที่ยังอยู่ที่ DebConf ที่บอสเนียก็คือ &lt;a href="https://groups.google.com/group/thai-l10n/browse_thread/thread/63f96a6579a2585d"&gt;ฟอนต์ชุด DIP/SIPA ได้รับอนุมัติให้เปลี่ยน license เป็น GPL แล้ว&lt;/a&gt; โดยครั้งนี้ได้รับอนุมัติจากทั้งผู้อำนวยการ (รักษาการ) SIPA และอธิบดีกรมทรัพย์สินทางปัญญาเลย จึงถือได้ว่ามีผลทางกฎหมายแน่นอน&lt;/p&gt;

&lt;p&gt;ว่าจะเขียนถึงเรื่องนี้แต่ก็ติดงานโน่นนี่จนไม่ได้เขียนเสียที นี่ก็ล่วงเลยมา 3 เดือนครึ่งแล้ว ถึงจะช้าแต่ก็ยังอยากเขียนถึง&lt;/p&gt;

&lt;p&gt;นับว่าเป็นความคืบหน้าอย่างมากสำหรับการผลักดันฟอนต์ชุดนี้เข้าในดิสโทรลินุกซ์ต่าง ๆ ที่เหลือก็คือ รอให้ทีมงานของ SIPA ปรับแก้ข้อมูล license ของฟอนต์ตามที่ได้รับอนุมัติแล้วประกาศออกฟอนต์ชุดใหม่อย่างเป็นทางการ เพื่อที่เราจะได้มีวัตถุดิบที่สามารถใช้เป็นฐานในการพัฒนากันต่อไป&lt;/p&gt;

&lt;p&gt;อีกเรื่องหนึ่งที่อยากเสนอแนะก็คือ ควรมี &lt;em&gt;upstream maintainer&lt;/em&gt; ที่จะคอยดูแลและรับแพตช์จากที่ต่าง ๆ เพราะถ้าประกาศออกไปด้วย GPL เฉย ๆ ก็ยากที่จะควบคุมมาตรฐานของฟอนต์ คนที่เอาไปดัดแปลงแก้ไขก็ไม่รู้ว่าจะส่งแพตช์ปรับปรุงไปที่ไหน ก็เป็นไปได้ที่จะมีการ fork ออกไปมากมาย&lt;/p&gt;

&lt;p&gt;แน่นอนว่าทางเลือกที่ดีที่สุดคือ SIPA เป็นผู้ดูแลเอง หรือมิฉะนั้น ก็อาจจะให้คนภายนอกตั้งโครงการขึ้นมา เหมือนที่ TLWG คอยดูแล&lt;a href="http://wiki.opentle.org/NationalFont"&gt;ฟอนต์แห่งชาติ&lt;/a&gt;ของเนคเทคผ่านโครงการ &lt;a href="http://linux.thai.net/projects/thaifonts-scalable"&gt;thaifonts-scalable&lt;/a&gt; อยู่ ซึ่งอันที่จริง ก็ได้มีโครงการ &lt;a href="http://linux.thai.net/projects/thaifonts-siampradesh"&gt;thaifonts-siampradesh&lt;/a&gt; ที่ดัดแปลงไปจากฟอนต์ชุด DIP/SIPA อยู่ก่อนแล้ว ถ้าจะให้ดูแลต่อก็ย่อมเป็นไปได้ เพียงแต่เราอาจจะขาดทรัพยากรสำหรับ OS อื่นที่ไม่ใช่ลินุกซ์ไปเท่านั้น&lt;/p&gt;

&lt;p&gt;แต่ไม่ว่าอย่างไร ตอนนี้ผู้ครองบอลคือ SIPA ที่จะต้องออกฟอนต์ชุดใหม่อย่างเป็นทางการเสียก่อน ฝ่ายอื่น ๆ จึงจะสามารถรับลูกไปทำต่อได้&lt;/p&gt;

&lt;p&gt;หัวข้อนี้ เมื่อรวมกับหัวข้อ localization ของเนคเทค ก็สามารถบรรจุเป็นวาระใน workshop ของ &lt;a href="http://wiki.debian.org/DebianThailand/MiniDebConf2011"&gt;Thailand Mini-DebConf 2011&lt;/a&gt; ได้เหมือนกันนะนี่&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-7854242121037190252?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/7854242121037190252/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/10/sarabun-to-be-freed.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/7854242121037190252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/7854242121037190252'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/10/sarabun-to-be-freed.html' title='Sarabun to be Freed'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3044922482978557859</id><published>2011-10-04T17:41:00.001+07:00</published><updated>2011-10-04T17:42:35.485+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;ขอ &lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt; &lt;a href="http://www.thaitux.info/"&gt;คุณวิทยา&lt;/a&gt; และคุณ &lt;a href="http://sdayu.blogspot.com"&gt;Thanathip Limna&lt;/a&gt; ที่ได้ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt; เพื่อสนับสนุนงานพัฒนาของผมในเดือนกันยายนที่ผ่านมา โดยสำหรับคุณวิทยา ขอขอบคุณย้อนหลังไปถึงการหย่อนสตางค์เมื่อปลายเดือนมิถุนายนก่อนที่ผมจะไป DebConf ด้วย&lt;/p&gt;

&lt;p&gt;ช่วงนี้ชีวิตผมยังไม่หายวุ่นสักเท่าไร ยังคงมีการขัดจังหวะจากหลายทางอย่างสม่ำเสมอจนตั้งสมาธิได้ยาก แต่พยายามเจียดเวลามาทำงานซอฟต์แวร์เสรีอยู่เรื่อย ๆ ครับ งานเล็ก ๆ น้อย ๆ ที่ไม่ต้องการสมาธิมากก็ทยอยเคลียร์ไปทีละอย่าง ขอบคุณสำหรับทุกกำลังใจครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3044922482978557859?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3044922482978557859/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/10/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3044922482978557859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3044922482978557859'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/10/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5460597667072397084</id><published>2011-09-20T15:37:00.002+07:00</published><updated>2011-09-20T16:05:32.707+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='myanmar'/><category scheme='http://www.blogger.com/atom/ns#' term='burma'/><title type='text'>Yangon</title><content type='html'>&lt;p&gt;หลังจาก &lt;a href="http://thep.blogspot.com/2011/09/yangon-visit.html"&gt;blog ที่แล้ว&lt;/a&gt; ได้เล่าถึงการไปเยือนย่างกุ้งเพื่อบรรยายเกี่ยวกับ Debian ว่าจะเขียนต่อเรื่องพม่าโดยทั่วไป แต่ก็ติดเรื่อง &lt;a href="http://l10n.gnome.org/languages/th/gnome-3-2/ui/"&gt;แปล GNOME 3.2&lt;/a&gt; ก่อน &lt;a href="https://live.gnome.org/ThreePointOne"&gt;tarballs due ของ RC&lt;/a&gt; อยู่ เพิ่งจะมีเวลาเขียนต่อก็ตอนนี้เอง&lt;/p&gt;

&lt;p&gt;พม่าโดยทั่วไป ถ้าไม่นับเรื่องภาษาแล้ว ก็ถือได้ว่ามีอะไรคล้ายกับไทยพอสมควร&lt;/p&gt;

&lt;h4&gt;ผู้คน&lt;/h4&gt;

&lt;p&gt;ผู้ชายชาวพม่าส่วนใหญ่ยังคงนุ่งโสร่งกันเป็นธรรมดา แม้ในโอกาสที่เป็นทางการ สิ่งที่เป็นสมัยใหม่คงเป็นเสื้อเชิ้ต แต่ยังไม่พบการผูกเนคไทร่วมกับการนุ่งโสร่งแต่อย่างใด แต่ก็มีผู้ชายบางส่วนที่นุ่งกางเกงตามแบบตะวันตกบ้างเหมือนกัน ส่วนใหญ่เป็นคนสมัยใหม่&lt;/p&gt;

&lt;p&gt;แต่เมื่อผ่านสวนสาธารณะ คนที่ออกวิ่งจ๊อกกิงทุกคนนุ่งกางเกงกีฬานะครับ ไม่มีใครนุ่งโสร่งวิ่ง ;-)&lt;/p&gt;

&lt;p&gt;ส่วนผู้หญิง จะนุ่งซิ่นยาวกรอมเท้า เป็นภาพที่คล้ายกับที่ลาว แต่ต่างกันที่ลวดลายของซิ่นที่ดูแล้วรู้ทันทีว่าแบบไหนพม่าแบบไหนลาว ผู้หญิงบางคนนุ่งซิ่นที่ถักทอลวดลายสวยงามมาก ดูจะบ่งบอกฐานะของบุคคล&lt;/p&gt;

&lt;p&gt;และเอกลักษณ์อย่างหนึ่งของสาวพม่าคือการไว้ผมยาวโดยผูกรวบเป็นหางม้า ความยาวของผมเป็นที่สะดุดตามาก บางคนยาวถึงสะโพก แต่ที่ยาวที่สุดที่ผมเห็นนั้น ยาวถึงครึ่งขาท่อนบนทีเดียว&lt;/p&gt;

&lt;p&gt;แต่ถ้าเป็นหญิงสูงอายุ จะเกล้าผมเป็นมวยแล้วปักปิ่น&lt;/p&gt;

&lt;p&gt;และที่สะดุดตาอีกอย่าง คือการประแป้งชนิดหนึ่งที่แก้มของผู้หญิงทุกนาง โดยจะเห็นแป้งตั้งแต่เช้าจรดเย็น ลักษณะคล้ายการประดินสอพองของไทย แต่แป้งจะสีออกเขียวอ่อน จากความรู้ที่ได้จากชาวพม่า เป็นแป้งที่ทำจากหัวของพืชชนิดหนึ่ง&lt;/p&gt;

&lt;p&gt;ชาวพม่ายังคงเคี้ยวหมากกันโดยทั่วไป เดินไปตามท้องถนนจะเห็นรอยน้ำหมากบนทางเท้าอยู่ทั่วไป และจะได้กลิ่นน้ำหมากจาง ๆ อยู่ตลอด ชวนให้นึกถึงบรรยากาศชนบทไทยสมัยก่อนที่ผมเคยได้สัมผัสตอนเด็ก&lt;/p&gt;

&lt;h4&gt;บ้านเมือง&lt;/h4&gt;

&lt;p&gt;ย่านที่ผมพักในย่างกุ้งนั้น อยู่ใกล้ใจกลางเมืองซึ่งเป็นเมืองเก่าตั้งแต่ยุคอาณานิคม ถนนถูกซอยเป็นตารางถี่ยิบ บ้านเรือนเป็นตึกแถวอายุมากแล้ว ไม่ค่อยจะมีไฟถนน กลางคืนอาศัยไฟจากบ้านเรือนเป็นหลัก แต่ในส่วนที่ติดถนนใหญ่จะมีร้านรวงขายของชำ มือถือ หรือ accessory ของไอทีอยู่หนาแน่น&lt;/p&gt;

&lt;p&gt;ศาสนสถานของหลากหลายศาสนาก็มีแทรกอยู่ทั่วไป มีมัสยิดมุสลิม ศาลเจ้าแบบพุทธ หิ้งบูชาที่โคนต้นไม้แบบฮินดู โรงพยาบาลฟรีสำหรับผู้อนาถาของมุสลิม ส่วนโบสถ์คริสต์ที่เห็นจะไปตั้งบนถนนใหญ่&lt;/p&gt;

&lt;p&gt;บนถนน ที่พม่าจะขับรถเลนขวา แต่น่าแปลกใจว่ารถเกือบทั้งหมดมีที่นั่งคนขับอยู่ทางขวา เวลานั่งไปในรถแล้วยิ่งเพิ่มความหวาดเสียวเป็นสองเท่า จากเดิมที่เราไม่คุ้นเลนขวาอยู่แล้ว ยังเห็นคนขับอยู่ด้านชิดริมถนน บางครั้งเวลาจะเลี้ยวแอบเห็นคนขับต้องชะโงกหน้าดูรถจากทางแยกก่อนเลี้ยว และเวลาจะขึ้นรถต้องไปเปิดประตูทางฝั่งกลางถนน&lt;/p&gt;

&lt;p&gt;รถยนต์ส่วนใหญ่ที่พม่ามีสภาพเก่ามาก เข้าไปนั่งจะได้กลิ่นอับของรถเก่าแทบทุกคัน แท็กซี่บางคันไม่มีที่ไขกระจก เวลาฝนตกคนขับจะหยิบมือหมุนอันหนึ่งมาสวมเพื่อหมุน แล้วเวียนต่อให้ผู้โดยสารไขทีละประตูจนครบ ฟังแล้วอาจจะแปลกใจเล็กน้อย เพราะปกติแท็กซี่ที่เมืองไทยไม่ค่อยมีการเปิดปิดกระจก ก็เพราะแท็กซี่เมืองไทยติดแอร์ แต่แท็กซี่พม่าไม่มีแอร์ อยู่ย่างกุ้งมาอาทิตย์หนึ่ง เพิ่งจะเห็นแท็กซี่ติดแอร์แค่คันเดียวเท่านั้น ขับรถไปพอคนขับเกิดอยากจะคายหมาก ก็ต้องรอจังหวะติดไฟแดง เปิดประตูออกไปบ้วนลงพื้นถนน บ้วนทางหน้าต่างไม่ได้เพราะปิดกระจกอยู่&lt;/p&gt;

&lt;p&gt;อ้อ แต่เห็นอย่างนี้ ไฟจราจรที่พม่าเป็น LED มีการนับถอยหลังทุกสี่แยกนะครับ และเป็นอย่างนี้มาตั้งแต่เมื่อสิบกว่าปีก่อนที่ผมเคยไปเยือน ขณะนั้นสี่แยกในเมืองไทยยังไม่มีที่ไหนมีเลย&lt;/p&gt;

&lt;p&gt;เมื่อเข้าสู่ถนนเล็ก จะพบสามล้อถีบให้บริการ ลักษณะไม่เหมือนสามล้อถีบบ้านเรา คือคนขับจะอยู่ทางซ้าย ที่นั่งผู้โดยสารจะพ่วงอยู่ทางขวา (นี่สิถึงจะถูกหลัก) โดยเป็นที่นั่งเล็ก ๆ แคบ ๆ สองที่หันไปด้านหน้ากับด้านหลัง เอาพนักชนกัน ก็จะนั่งได้สองคนแบบห้อยเท้า ไม่มีประทุนบังแดดบังฝน ถ้าอยากมีร่มก็กางร่มถือเอาเอง&lt;/p&gt;

&lt;h4&gt;อาหารการกิน&lt;/h4&gt;

&lt;p&gt;อาหารของพม่านับว่าคุ้นลิ้นคนไทยพอสมควร โดยมีอาหารคล้ายไทย บางจานคล้ายที่อีสาน เช่น แกงหน่อไม้ใส่ใบย่านาง นอกจากนี้ก็มีอาหารสไตล์จีนและอินเดียบ้าง ร้านอาหารที่มีให้เห็นทั่วไปจะเป็นอาหารไทย (ข้าวผัด ผัดกะเพรา ผัดคะน้า ต้มยำกุ้ง ฯลฯ) อาหารไทใหญ่ (ก๋วยเตี๋ยวฉาน) แล้วก็อาหารมุสลิม (ข้าวหมกไก่) มีร้านอาหารจีนที่ขึ้นชื่อคือ Golden Duck (เป็ดย่าง อาหารโต๊ะจีน)&lt;/p&gt;

&lt;p&gt;รสชาติอาหาร มีอาหารรสจัดบ้าง แต่เท่าที่ได้ชิมมายังไม่มีจานไหนเผ็ดเกินลิ้นผม (ผมเป็นคนกินเผ็ดได้น้อยมากตามมาตรฐานคนไทย) อาจจะยังไม่เจอของจริงก็เป็นได้ ที่ร้านอาหารพม่า จะเสิร์ฟซุปให้ซดคล่องคอฟรี น้ำดื่มฟรี และถ้าครบเครื่องจริง ๆ จะมีน้ำตาลปึก (ภาษาพม่าเรียก &lt;q&gt;ชากรี&lt;/q&gt;) เป็นชิ้น ๆ ให้กินฟรีหลังอาหารด้วย&lt;/p&gt;

&lt;p&gt;ของหวาน ที่ได้ชิมสองอย่างรสชาติคล้ายของไทยมาก อย่างแรกคล้ายซ่าหริ่ม แต่จะมีเครื่องเป็นขนุนและไอศกรีมหนึ่งก้อนด้วย ใส่กะทิน้ำเชื่อม เสิร์ฟมาในแก้วทรงสูง ผมจำชื่อเรียกไม่ได้เสียแล้ว ส่วนอย่างที่สอง เรียกว่า "มอนต์เลซอง" (Montlasoung - မုန့်လေသင်း) รสชาตินึกถึงปลากริมไข่เต่าที่ไม่มีไข่เต่าเลย แล้วเติมมะพร้าวขูดลงไปลอยปนอยู่กับชิ้นปลากริมยาว ๆ รสชาติคล้ายกันมาก&lt;/p&gt;

&lt;p&gt;ขนมที่พม่าหลายชิ้นที่ได้ชิม จะหนักหวานแต่ไม่หวานจัด หลายอย่างมีกลิ่นนมข้น ไม่ทราบเหมือนกันว่าใส่นมข้นตรง ๆ เลย หรือเป็นส่วนผสมที่คล้ายนมข้น แล้วก็จะมีรสหวานแบบน้ำตาลปึกปนอยู่ด้วยเสมอ ๆ อ้อ.. ที่พม่ามีขนมครกขายตามข้างทาง เหมือนขนมครกทรงเครื่องของไทยมาก ๆ&lt;/p&gt;

&lt;p&gt;และที่พม่า ขนมเช้าที่คนไทยเรียกติดปากแบบผิดเพี้ยนว่า &lt;q&gt;&lt;a href="http://th.wikipedia.org/wiki/%E0%B8%9B%E0%B8%B2%E0%B8%97%E0%B9%88%E0%B8%AD%E0%B8%87%E0%B9%82%E0%B8%81%E0%B9%8B"&gt;ปาท่องโก๋&lt;/a&gt;&lt;/q&gt; นั้น ที่พม่าเรียกว่า &lt;q&gt;E Kya Kway&lt;/q&gt; (အီကြာ‌ကွေး - อีจาเกฺว) หรือตามภาษาแต้จิ๋วว่า &lt;q&gt;อิ่วจาก้วย&lt;/q&gt; (油炸粿) นั่นเอง&lt;/p&gt;

&lt;p&gt;อีกคำที่มีประโยชน์เวลาไปเห็นเมนูอาหาร คือ Kailan หมายถึงผักคะน้า&lt;/p&gt;

&lt;h4&gt;ภาษา&lt;/h4&gt;

&lt;p&gt;ภาษาพม่าอยู่ในตระกูล&lt;a href="http://en.wikipedia.org/wiki/Sino-Tibetan_languages"&gt;จีน-ทิเบต&lt;/a&gt; ซึ่งไม่มีความใกล้เคียงกับไทยเลย แต่ก็มีคำหลายคำที่อาจจะฟังกันรู้เรื่อง โดยเฉพาะคำบาลี-สันสกฤต แต่ต้องทำความเข้าใจเรื่องวิธีออกเสียงสักหน่อย&lt;/p&gt;

&lt;p&gt;เสียงที่แปลกที่สุดคือเสียง ร หรือ r ภาษาพม่าจะออกเป็น ย ยกเว้นในคำยืมจากภาษาอื่นจึงจะออกเสียงเป็น ร ดังนั้น ชื่อเมือง Rangoon จึงออกเสียงว่า &lt;q&gt;ย่างกุ้ง&lt;/q&gt; ไม่ใช่ &lt;q&gt;ร่างกุ้ง&lt;/q&gt; ตรงนี้ คุยกับ &lt;a href="http://satitk.blogspot.com/"&gt;น้องชาย&lt;/a&gt; ซึ่งชอบค้นคว้าเรื่องภาษาเหมือนกันก็ได้ข้อสังเกตว่า เสียง ร น่าจะเป็นสิ่งแปลกปลอมสำหรับภูมิภาคนี้ เพราะภาษาลาวแท้ก็ไม่มีเสียง ร แต่จะออกเสียงเป็น ฮ เช่น &lt;q&gt;เรือน&lt;/q&gt; (ເຮືອນ) ออกเสียงเป็น &lt;q&gt;เฮือน&lt;/q&gt; จนกระทั่งมีการยืมคำจากภาษาต่างประเทศ จึงได้มีอักษร &lt;q&gt;ร ระคัง&lt;/q&gt; (ຣ ຣະຄັງ) ขึ้นมาแทนเสียง ร หรือถ้าไปดูภาษาจีนก็ไม่มีเสียง ร เช่นกัน ไม่ว่าจะจีนแต้จิ๋ว ฮกเกี้ยน กวางตุ้ง หรือกระทั่งจีนกลาง เสียง r ในพินอินก็จะออกเสียงเป็น ย เหมือนพม่า (ที่มีบางตำราออกเสียงเป็น ร ห่อลิ้นนั้น น่าจะเป็นเสียงเพี้ยนมากกว่า) จะมีก็แต่ภาษาเขมรเท่านั้น ที่รัวลิ้นเสียง ร ชัดถ้อยชัดคำ เมื่อภาษาไทยกลางรับภาษาเขมรเข้ามาปนกับภาษาไทยดั้งเดิม จึงได้เกิดการรัวลิ้นของเสียง ร ตามเขมร แต่ถ้าเป็นภาษาไทยถิ่นอื่นโดยทั่วไป จะไม่มีเสียง ร รัวลิ้นนี้&lt;/p&gt;

&lt;p&gt;เสียงถัดมาที่เจอบ่อย คือ กฺร (ကြ) หรือ กฺย  (ကျ) ซึ่งจะ  romanize เป็น ky ทั้งคู่ แต่ออกเสียงเป็น จ เช่น ชื่อ Aung San Suu Kyi (အောင်ဆန်းစုကြည် - อองฉันจุกฺรี) จะออกเสียงเป็น อองชันสุจี (ฉ ออกเสียงเป็น sh, จ ออกเสียงเป็น ซ) ตรงนี้น่าจะเป็นหลักการเดียวกับอักษรควบไม่แท้ ทฺร = ซ ที่เรารับมาจากภาษาเขมร&lt;/p&gt;

&lt;p&gt;เสียงถัดมาคือเสียง ส (သ) พม่าจะออกเป็น th กัดลิ้นแบบในคำว่า three ในภาษาอังกฤษ และจะ romanize เป็น th เช่น ชื่อในภาษาบาลี &lt;q&gt;สุระ&lt;/q&gt; พม่าจะเขียนเป็น Thura ออกเสียงว่า &lt;q&gt;ธุ่ยะ&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;อักษรพม่า มาจากอักษรมอญซึ่งเป็นต้นแบบของอักษรธรรมล้านนาและธรรมอีสานเช่นกัน ดังนั้นจึงพอจะเห็นเค้าโครงของตัวอักษรที่คล้ายกันได้ แต่เนื่องจากภาษาพม่าเป็นคนละตระกูลกับภาษาตระกูลไท จึงมีหน่วยเสียงที่แตกต่างกัน และไม่สามารถอ่านสระพม่าได้ง่าย ๆ ด้วยการเทียบกับอักขรวิธีไทยแม้จะแกะอักษรออก แต่ถ้าเป็นการเขียนภาษาบาลี-สันสกฤตล่ะก็ น่าจะพออ่านได้&lt;/p&gt;

&lt;h4&gt;ไอทีทั่วไป&lt;/h4&gt;

&lt;p&gt;ที่พม่า การใช้คอมพิวเตอร์และอินเทอร์เน็ตค่อนข้างทุลักทุเล ปัญหาที่พบ เช่น:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ไฟตกบ่อย แม้แต่ในโรงแรมชั้นนำ บ้านเรือนทั่วไปจะมีไดนาโมสำหรับปั่นไฟเวลาไฟดับเสมอ วันหนึ่ง ๆ ดับวันละหลายครั้ง ถ้าเป็นสำนักงานที่ต้องใช้คอมพิวเตอร์ล่ะก็ UPS ถือเป็นสิ่งจำเป็นที่ขาดไม่ได้เลย &lt;/li&gt;
  &lt;li&gt; อินเทอร์เน็ตไม่ได้มีทั่วไป จะมีเฉพาะในร้านอินเทอร์เน็ตหรือตามสำนักงานเท่านั้น และแม้จะมี hotspot ในบางที่ แต่การเข้าใช้จะซับซ้อนมาก ต้องผ่านพร็อกซีแล้วไปเจอ captive portal อีกชั้น หลังจากต่อเน็ตได้แล้ว ผมแทบไม่กล้าปิดเครื่องเลย &lt;/li&gt;
  &lt;li&gt; มี ISP เพียงสองเจ้า ของรัฐเจ้าหนึ่ง และ subsidise จากรัฐอีกเจ้าหนึ่ง สรุปแล้วก็เสมือนมีเจ้าเดียวนั่นเอง &lt;/li&gt;
  &lt;li&gt; แบนด์วิดท์สูงสุดคือ 2 Mbps แต่โดยปกติจะช้ากว่านี้ &lt;/li&gt;
  &lt;li&gt; โดยปกติ พอร์ตที่จะเปิดให้ใช้มีเพียง http และ https นอกนั้นบล็อคหมด ทำให้ไม่สามารถใช้ ssh ในการ commit กับ VCS ได้เลย &lt;em&gt;นับว่าโหดพอ ๆ กับ สวทช. บ้านเราทีเดียว!&lt;/em&gt; &lt;/li&gt;
  &lt;li&gt; แม้เมื่อไปตั้งเซิร์ฟเวอร์ที่ศูนย์ข้อมูล ก็สามารถขอให้เปิด ssh ได้แค่ในประเทศเท่านั้น กล่าวคือ ไม่สามารถ remote เข้าไปดูแลเครื่องจากต่างประเทศได้เลย ต้องให้คนในประเทศทำล้วน ๆ และคนในประเทศก็ ssh ออกนอกประเทศไม่ได้ด้วย &lt;/li&gt;
  &lt;li&gt; อินเทอร์เน็ตมีการ filter อย่างเข้มงวด เว็บหนังสือพิมพ์ต่างประเทศจะถูกบล็อคหมด รวมถึงหนังสือพิมพ์ภาษาอังกฤษของไทยอย่าง Bangkok Post หรือ Nation ด้วย &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;อย่างไรก็ดี สิ่งที่น่ารักของพม่าก็คือ มีเต้าเสียบไฟที่เกือบจะเป็น universal อยู่ทั่วไป เพราะมาตรฐานเต้าเสียบของพม่าจะใช้ปลั๊กสามขาอันเบ้อเริ่มแบบอังกฤษ แต่เนื่องจากมีการซื้อเครื่องใช้ไฟฟ้าจากประเทศเพื่อนบ้านหลายแหล่ง ทั้งไทย มาเลเซีย สิงคโปร์ ญี่ปุ่น จีน ฯลฯ จึงจำเป็นต้องทำเต้าเสียบให้รองรับปลั๊กแบบต่าง ๆ จึงสามารถพบเต้าเสียบที่เกือบจะ universal ได้ตามผนังทั่วไป&lt;/p&gt;

&lt;p&gt;ที่พม่า โทรศัพท์แอนดรอยด์ที่แพร่หลายที่สุด คือ Huawei เจ้าภาพใจดีให้ผมยืมใช้สำหรับติดต่อระหว่างที่อยู่พม่า ใช้การได้ดีทีเดียว อย่างน้อย แอนดรอยด์ก็รุ่นใหม่กว่า HTC ของผมเยอะ ^_^'&lt;/p&gt;

&lt;p&gt;&lt;a href="http://theppitak.multiply.com/photos/album/63/63"&gt;เก็บภาพ&lt;/a&gt;ที่ย่างกุ้งมานิดหน่อยครับ เชิญชมได้&lt;/p&gt;

&lt;p&gt;สุดท้าย ต้องขอขอบคุณคุณหง่วยตุน (Ngwe Tun) เจ้าภาพผู้แสนอารี ที่คอยดูแลผมอย่างดีระหว่างอยู่ที่พม่า รวมทั้งคอยตอบข้อสงสัยต่าง ๆ เกี่ยวกับพม่าให้กับผมอย่างไม่รู้เบื่อ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5460597667072397084?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5460597667072397084/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/09/yangon.html#comment-form' title='1 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5460597667072397084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5460597667072397084'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/09/yangon.html' title='Yangon'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2337996298603054966</id><published>2011-09-14T13:56:00.002+07:00</published><updated>2011-09-14T14:15:57.135+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='myanmar'/><category scheme='http://www.blogger.com/atom/ns#' term='localization'/><title type='text'>Yangon Visit</title><content type='html'>&lt;p&gt;ไปเยือนย่างกุ้งระหว่างวันที่ 4-11 ก.ย. ที่ผ่านมาครับ เนื่องจากคุณ Ngwe Tun จากพม่าได้มาชวนผมไปบรรยายเรื่องการทำแพกเกจ Debian เพื่อช่วยให้ทีมพม่าสามารถเริ่มทำดิสโทรลินุกซ์ท้องถิ่นได้ (เพิ่งมาพบทีหลังว่าเขามีการ &lt;a href="https://www.facebook.com/notes/myanmar-nlp/comparison-between-myanmar-and-thai-localization-workshop/213448515376398"&gt;แปะประกาศ&lt;/a&gt; กันเป็นเรื่องเป็นราวเลย)&lt;/p&gt;

&lt;p&gt;วันแรกเป็นการเปรียบเทียบการรองรับภาษาไทยกับพม่าใน GNU/Linux ซึ่งผมต้องเตรียม&lt;a href="http://linux.thai.net/~thep/presents/Myanmar-visit-2011/thai-l10n/thai-l10n.pdf"&gt;สไลด์&lt;/a&gt;แบบเร่งด่วน เพราะเดิมคิดว่าเป็นการพูดคุยแบบไม่เป็นทางการ ที่ไหนได้ มีผู้อำนวยการของ MCF (Myanmar Computer Federation) มาเป็นประธานเลยทีเดียว&lt;/p&gt;

&lt;p&gt;ภาษาพม่านั้น มีการรองรับไปมากพอสมควร สามารถใช้ภาษาพม่าผ่านฟอนต์ OpenType ที่ใช้ GSUB ล้วน ๆ โดยไม่พึ่งพากลไกใน rendering engine เลย ซึ่งอาจมีปัญหาบ้างในการวาดข้อความปริมาณมาก ๆ เพราะจะกิน CPU หนักกว่าใช้ rendering engine&lt;/p&gt;

&lt;p&gt;input method ของพม่า มี XKB map แล้ว มี input method ที่อิงบน &lt;a href="https://code.google.com/p/keymagic/"&gt;keymagic&lt;/a&gt; และ &lt;a href="https://code.google.com/p/ibus/"&gt;ibus&lt;/a&gt; ที่สามารถสลับลำดับจาก visual order เป็น &lt;strike&gt;logical&lt;/strike&gt; phonetic order ในแบบ preedit ได้ (ภาษาพม่าใช้ &lt;strike&gt;logical&lt;/strike&gt; phonetic order แต่พิมพ์ดีดพม่าจะป้อนในแบบ visual order เหมือนภาษาไทย) แต่ยังแก้ในแบบ context-sensitive ไม่ได้ พอดีนักพัฒนามาเข้าประชุมด้วย ผมจึงเล่าเรื่อง surrounding API ของ GTK+ ไป และบอกว่าได้&lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=435880"&gt;ขอเพิ่ม API ใน ibus&lt;/a&gt; ไปแล้วด้วย ปรากฏว่าเขาตรวจสอบ document อย่างรวดเร็วและได้แนวทางพัฒนาแล้ว อืมม์.. ภาษาไทยสิยังไม่ได้ทำเลย ฮ่า ๆ&lt;/p&gt;

&lt;p&gt;เกี่ยวกับการแก้ไขข้อความนี้ ภาษาพม่ามีการใช้งานแปลก ๆ อยู่ในเรื่องการเลื่อนเคอร์เซอร์ คือเขาไม่ได้ต้องการเลื่อนทีละเซลล์หรือ cluster เหมือนภาษาทั่วไป แต่ต้องการเลื่อนทีละ&lt;em&gt;พยางค์&lt;/em&gt; แม้ผมจะได้บอกเขาไปว่าการเลื่อนเคอร์เซอร์เป็นคนละส่วนกับการตัดบรรทัดนะ สามารถทำแยกกันได้ เขาก็ยังยืนยันว่าต้องการเลื่อนทีละพยางค์ ผมจึงแนะให้เขาตรวจสอบ &lt;a href="http://unicode.org/reports/tr29/"&gt;UAX #29&lt;/a&gt; เพื่อหาทางเสนอแก้ไขต่อไป&lt;/p&gt;

&lt;p&gt;โลแคลพม่ามีเรียบร้อยแล้ว ทั้งใน GNU C library และ CLDR ของยูนิโค้ด และยังมีแอพเพล็ตปฏิทินพม่าสำหรับ gnome-panel อีกด้วย (ปฏิทินพม่าเป็นจันทรคติ เวลาอ่านหนังสือพิมพ์พม่าก็จะพบการแสดงวันที่ของฉบับทั้งแบบสากลและแบบพม่า)&lt;/p&gt;

&lt;p&gt;การตัดคำของพม่ายังไม่มีการรองรับในโปรแกรมทั่วไป แต่มีงานวิจัยใน &lt;a href="http://www.myanmarnlp.org.mm/"&gt;Myanmar NLP Lab&lt;/a&gt; เกี่ยวกับการตัดคำอยู่ โดยพยายามใช้ trigram แต่ผมได้ให้ข้อสังเกตว่า การตัดคำโดยทั่วไปของภาษาไทยในเดสก์ท็อปจะต้องการความเร็วและการประหยัดหน่วยความจำ จึงมักใช้พจนานุกรมอย่างเดียวมากกว่า โดยพยายามใช้ heuristics ต่าง ๆ ช่วยเพิ่มความถูกต้อง แต่ถ้าเป็นงาน NLP แล้ว แน่นอนว่าจะต้องการความถูกต้องมากกว่านั้น และต้องการข้อมูลสถิติมาช่วย&lt;/p&gt;

&lt;p&gt;ประเด็นของภาษาพม่าอีกเรื่องหนึ่งคือการ abuse รหัสยูนิโค้ด โดยพยายามใช้รหัสในช่องที่สงวนไว้มาแทนอักขระประสมบางชุด แล้วก็อ้างกันว่าเป็นการทำมาตรฐานยูนิโค้ด โดยมีรูปแบบการ abuse เหล่านี้อย่างน้อย 14 แบบ! ทำให้ไม่สามารถถ่ายโอนข้อมูล plain text กันได้ ต้องมีฟอนต์กำกับไปด้วยเสมอ ตรงนี้ทีแรกเขาเรียกว่า variation ผมจึงบอกเขาว่า ควรเรียกว่า abuse จะถูกต้องกว่า เพราะการทำตามมาตรฐานยูนิโค้ดนั้น ไม่ใช่แค่การใช้รหัส แต่หมายถึงการทำตาม guidelines ต่าง ๆ ของยูนิโค้ดที่กำกับมาด้วย&lt;/p&gt;

&lt;p&gt;และผมได้เล่ากรณี &lt;a href="http://thep.blogspot.com/2011/06/case-of-sarabun-it9.html"&gt;ฟอนต์ Sarabun IT9&lt;/a&gt; ของเราเป็นตัวอย่างเปรียบเทียบด้วย ว่านี่คือตัวอย่างการ abuse ของไทย และเราได้แก้ไขด้วยการ &lt;a href="http://thep.blogspot.com/2011/06/thai-numpad-experiment.html"&gt;สร้างผังแป้นพิมพ์สำหรับป้อนเลขไทยด้วย numpad&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;สำหรับงานแปล ทีมพม่าทีมใหม่กำลังเริ่มแปล GNOME และพยายาม take over &lt;a href="http://l10n.gnome.org/teams/my/"&gt;ทีมปัจจุบัน&lt;/a&gt; ในช่วงที่เราประชุมกันอยู่นั้น ก็มีบางช่วงที่ได้เห็นทีมพม่าถกกันเรื่องการบัญญัติศัพท์ไอทีกันอย่างออกรส หลังจากที่เขาได้ glossary แล้ว ก็จะไปตรวจแก้คำแปลต่าง ๆ ให้เป็นไปในแนวเดียวกัน ก่อนที่จะติดต่อขอ submit คำแปลต่อไป&lt;/p&gt;

&lt;p&gt;จากนั้น ตลอดสามวันถัดมา ผมก็ได้นำเสนอ tutorial เรื่อง &lt;a href="http://linux.thai.net/~thep/docs/debian/packaging/deb-packaging.pdf"&gt;Debian Packaging&lt;/a&gt; ซึ่งเป็นจุดประสงค์หลักของการมาครั้งนี้ โดยได้นำเสนอตั้งแต่วิธี build deb, วิธี upload, การใช้ QA tools, การสร้างแพกเกจซอฟต์แวร์, การกระจายแพกเกจโดยอัปโหลดอย่างเป็นทางการ หรือทำ repository ต่างหากแบบออนไลน์ หรือทำเป็น live CD&lt;/p&gt;

&lt;p&gt;นอกจากนี้ ก็ได้ใช้เวลาช่วงบ่ายของแต่ละวันในการเซ็ต Debian mirror ในพม่า โดยได้นำเสนอข้อมูลเบื้องต้นของ &lt;a href="http://linux.thai.net/~thep/docs/debian/mirror/deb-mirror.pdf"&gt;Debian Mirroring &amp;amp; Caching&lt;/a&gt; ด้วย&lt;/p&gt;

&lt;p&gt;ปัญหาหลักของการใช้ Debian ในพม่าตอนนี้คือการเข้าถึงอินเทอร์เน็ต ปัจจุบันอินเทอร์เน็ตยังไม่เข้าถึงตามบ้าน จุดที่จะใช้เน็ตความเร็วสูงได้ก็จะมีเพียงอินเทอร์เน็ตคาเฟ่ หรือไม่ก็ตามองค์กรไอที ดังนั้น สื่อหลักในการกระจายซอฟต์แวร์จึงเป็น CD หรือ DVD ซึ่งก็หมายความว่า ผู้ใช้ Debian จะใช้รุ่น stable เป็นหลัก ซึ่งไม่เหมาะกับผู้ใช้เดสก์ท็อปอย่างยิ่ง จะบอกให้เขา dist-upgrade เป็น testing ก็ไม่ได้ เพราะเขาไม่มีอินเทอร์เน็ตใช้กัน จะติดตั้ง testing ก็ยังไม่มีแผ่น official ให้ติดตั้ง netinst ยิ่งเป็นไปไม่ได้เลย ด้วยสภาพเช่นนี้ Debian จึงเป็นรองดิสโทรอื่นอย่าง Ubuntu&lt;/p&gt;

&lt;p&gt;การตั้ง Debian mirror ในพม่าจึงเป็นจุดเริ่มต้นที่จะทำให้ผู้ใช้ Debian ในพม่าได้รับความสะดวกมากขึ้น สำหรับผู้ที่เข้าถึงอินเทอร์เน็ตก็จะสามารถอัปเกรดได้รวดเร็วขึ้น และสำหรับผู้ที่ไม่สามารถเข้าถึงอินเทอร์เน็ต ทีมท้องถิ่นก็ยังสามารถตัดแผ่นทำ live CD จากรุ่น testing แจกจ่ายได้อย่างสะดวก เมื่อเทียบกับไม่มี mirror ในประเทศ&lt;/p&gt;

&lt;p&gt;วันสุดท้าย มีการนำเสนอแนะนำ Myanmar NLP Lab และงานวิจัยต่าง ๆ ซึ่งมีทั้ง OCR, information retrieval, machine translation และทรัพยากรทางภาษาของพม่า เช่น dictionary, lexicon, corpus ในส่วนของ OCR นั้น เขาใช้ &lt;a href="https://code.google.com/p/tesseract-ocr/"&gt;tesseract&lt;/a&gt; เป็นกลไก ปัจจุบันความถูกต้องอยู่ที่ 81%&lt;/p&gt;

&lt;p&gt;นอกจากนี้ ทางพม่ายังได้เสนอความช่วยเหลือทางเทคนิคสำหรับ &lt;a href="http://linux.thai.net/~thep/esaan-scripts/"&gt;โครงการอักษรอีสาน&lt;/a&gt; ของผม โดยได้แนะนำให้คุยกับนักพัฒนาฟอนต์พม่าเกี่ยวกับเทคนิคที่เขาใช้บนแมค ซึ่งสามารถนำมาประยุกต์ใช้กับอักษรธรรมอีสานได้ นอกจากนี้ ยังได้ให้เครื่อง Mac Mini มาเครื่องหนึ่งสำหรับทดสอบและพัฒนาฟอนต์ด้วย&lt;/p&gt;

&lt;p&gt;เชื่อว่าต่อไปชุมชนลินุกซ์ไทย-พม่าคงจะมีความร่วมมือกันมากขึ้นในอนาคต&lt;/p&gt;

&lt;p&gt;เรื่องทางเทคนิคก็คงมีเพียงเท่านี้ ไว้ blog หน้าค่อยเขียนถึงเรื่องทั่วไปของพม่าครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2337996298603054966?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2337996298603054966/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/09/yangon-visit.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2337996298603054966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2337996298603054966'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/09/yangon-visit.html' title='Yangon Visit'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-195199010219160810</id><published>2011-08-04T22:28:00.002+07:00</published><updated>2011-08-04T22:39:58.005+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debconf'/><title type='text'>DebConf11 Last Days</title><content type='html'>&lt;p&gt;เขียน blog เกี่ยวกับ &lt;a href="http://debconf11.debconf.org"&gt;DebConf 11&lt;/a&gt; มาได้ ๔ ตอน (&lt;a href="http://thep.blogspot.com/2011/07/finally-in-banja-luka.html"&gt;ตอนที่ ๐&lt;/a&gt;, &lt;a href="http://thep.blogspot.com/2011/07/debconf11-day-1-debian-day.html"&gt;ตอนที่ ๑&lt;/a&gt;, &lt;a href="http://thep.blogspot.com/2011/07/debconf11-day-2-dpl-qa.html"&gt;ตอนที่ ๒&lt;/a&gt;, &lt;a href="http://thep.blogspot.com/2011/07/debconf11-day-3-rolling-multiarch-tdd.html"&gt;ตอนที่ ๓&lt;/a&gt;) ก็มีอันต้องหยุดเขียน เพราะต้องง่วนแก้ปัญหา &lt;a href="http://debianclub.org"&gt;debianclub.org&lt;/a&gt; หนึ่ง (ซึ่งเป็น SSH session ที่ทรมานมาก ด้วยระยะทางที่ไกล) และพยายามเข้า hacklab ทำงานอีกหนึ่ง ก็ขอมาสรุปทีเดียวละกัน&lt;/p&gt;

&lt;h4&gt;เกี่ยวกับบอสเนีย&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt; บอสเนียผ่านศึกสงครามมาหลายครั้ง ถูกยึดครองโดยจักรวรรดิโรมัน, จักรวรรดิออตโตมาน, จักรวรรดิออสเตรีย-ฮังการี ถูกโครเอเชียและชาวเซิร์บถล่มในสงครามโลกครั้งที่ ๒ และยังมีสงครามฆ่าล้างเผ่าพันธุ์ที่เกิดขึ้นล่าสุดอีกด้วย &lt;/li&gt;
  &lt;li&gt; ผลของสงคราม ทำให้เมือง Banja Luka มีประชากรผู้หญิงมากเป็น ๗ เท่าของชาย เพราะผู้ชายต้องไปรบและตายในสนามรบเสียเยอะ &lt;/li&gt;
  &lt;li&gt; สมัยโรมัน โรมันยึดครอง Banja Luka โดยไม่ได้บริหารอะไรเลย เพราะชัยภูมิเป็นหุบเขา เข้าถึงลำบาก มีเพียงการตัดถนนเลียบแม่น้ำที่เป็นพรมแดนธรรมชาติกับโครเอเชียเท่านั้น &lt;/li&gt;
  &lt;li&gt; เมื่อคริสตศาสนาเข้าสู่ยุโรป พื้นที่ยุโรปตะวันออกนับถือนิกายออร์โทดอกซ์เป็นหลัก ในขณะที่ทางยุโรปตะวันตกจะนับถือนิกายแคทอลิก แต่บอสเนียมีนิกายของตนเองต่างหาก นิกายนี้เชื่อว่าพระเยซูคือมนุษย์คนหนึ่งซึ่งเป็นแบบอย่างในการดำรงชีวิต ไม่ได้เป็นบุตรพระเจ้า และจะมีนักบวชอาวุโสคอยสืบทอดคำสอนของพระเยซู เป็นหลักของบ้านเมือง ส่วนกษัตริย์นั้น เพื่อความอยู่รอดท่ามกลางขั้วอำนาจต่าง ๆ บางครั้งต้องประกาศพระองค์เป็นแคทอลิกบ้าง ออร์โทดอกซ์บ้าง แล้วแต่รัชสมัย แม้ที่จริงแล้วจะนับถือนิกายของบอสเนียเอง &lt;/li&gt;
  &lt;li&gt; การถูกจักรวรรดิออตโตมานซึ่งเป็นชาวเติร์กยึดครอง ทำให้ประชาชนถูกบังคับให้เข้ารีตเป็นมุสลิมมากมาย และมีการสร้างมัสยิด เกิดชุมชนมุสลิมกระจายเป็นแห่ง ๆ ปะปนกับคริสต์ทั้งแคทอลิกและออร์โทดอกซ์ &lt;/li&gt;
  &lt;li&gt; อักษรหลัก ๆ ที่ใช้มีสองชนิด คืออักษรละติน (จากรากฐานด้านแคทอลิก) และอักษรซีริลลิก (จากรากฐานด้านออร์โทดอกซ์) และยังมีบ้างที่ใช้อักษรกรีกด้วย ส่วนภาษาพูดก็เป็นภาษาเซิร์บ &lt;/li&gt;
  &lt;li&gt; Banja Luka เป็นเมืองที่ใหญ่เป็นอันดับสองของบอสเนีย เป็นเมืองหลักของเขตการปกครองที่เรียกว่า &lt;a href="http://en.wikipedia.org/wiki/Republika_Srpska"&gt;Republika Srpska&lt;/a&gt; ซึ่งแยกเป็นคนละส่วนกับส่วนที่เหลือของประเทศ มีธงชาติแยกต่างหากเป็นของตนเอง แต่เมืองหลวงยังถือว่าอยู่ที่ Sarajevo ที่เป็นเมืองหลวงของทั้งประเทศ &lt;/li&gt;
  &lt;li&gt; ที่ Sarajevo มีสะพานแห่งหนึ่งชื่อ &lt;a href="http://en.wikipedia.org/wiki/Latin_Bridge"&gt;Latin Bridge&lt;/a&gt; เป็นสถานที่สำคัญในประวัติศาสตร์โลก คือเป็นจุดที่ Archduke Franz Ferdinand รัชทายาทแห่งออสเตรียถูกลอบปลงพระชนม์ และเป็นชนวนไปสู่สงครามโลกครั้งที่ ๑ ในเวลาต่อมา &lt;/li&gt;
  &lt;li&gt; สภาพบ้านเมืองของบอสเนีย ถือว่ามีการพัฒนาพอประมาณ แต่ไม่มากเท่าประเทศในยุโรปตะวันตก ก็คงเป็นมาตรฐานของยุโรปตะวันออกทั่วไป ยังมีถนนปุปะ ทางลูกรังให้เห็นประปราย แต่ที่น่าสังเกตมากคือมีการปลูกข้าวโพดกันอย่างจริงจัง ไม่ใช่แค่ในไร่ แม้กระทั่งในบริเวณบ้านก็จะมีแปลงข้าวโพดให้เห็นในบ้านทั่วไป หรืออย่างน้อยก็ปลูกเป็นแนวกั้นอาณาเขต แล้วจึงมีการปลูกไม้ดอกไม้ผลอย่างอื่นแซมเหมือนบ้านทั่วไป &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;เนื้อหา DebConf&lt;/h4&gt;

&lt;p&gt;ถัดจาก blog ก่อน ๆ ก็มีเนื้อหาที่น่าสนใจที่ผมได้เข้าฟังดังนี้:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;&lt;a href="https://github.com/tassia/AppRecommender"&gt;AppRecommender&lt;/a&gt;&lt;/strong&gt; เป็นโครงการสร้างระบบแนะนำซอฟต์แวร์โดยผู้ใช้ด้วยกันเอง (ในลักษณะ &lt;q&gt;ผู้ใช้ที่โหลดโปรแกรมนี้ มักจะโหลดโปรแกรมนั้นด้วย&lt;/q&gt;) โดยได้สร้างเว็บ &lt;a href="http://deb.li/AppRec"&gt;survey&lt;/a&gt; เพื่อเก็บรวบรวมข้อมูล และสร้าง &lt;a href="http://tassia.org:8080"&gt;เว็บทดสอบการแนะนำซอฟต์แวร์&lt;/a&gt; &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;AltosUI&lt;/strong&gt; เป็นการเล่าประสบการณ์ของ Bdale Garbee และ Keith Packard เกี่ยวกับการทำ UI สำหรับติดตามและควบคุมการปล่อยจรวด โดยทั้งสองเป็นนักพัฒนาที่คร่ำหวอดด้านซอฟต์แวร์ระบบ แต่ไม่มีประสบการณ์เรื่องซอฟต์แวร์ UI สักเท่าไร แต่ก็ได้ทดลองทำ โดยเริ่มจากใช้ภาษาซีและ GTK+ ซึ่งปรากฏว่าพบปัญหามากมาย เช่น เขียนยากกว่าที่คิด, ระบบ GObject ที่ไม่ใช่การรองรับในระดับ syntax และจะพบ warning เกี่ยวกับ type error เมื่อ run-time เท่านั้น, ต้องอาศัยความรู้ในระดับโครงสร้างทั้งหมดเพียงเพื่อเขียนโปรแกรมง่าย ๆ ฯลฯ สุดท้าย เมื่อโครงการมีผู้สนใจมากจนต้องเปิดบริการเชิงพาณิชย์ และต้องรองรับผู้ใช้ Windows และ Mac ด้วย จึงเลือกใช้ภาษา Java แทน ซึ่งปรากฏว่าง่ายกว่ากันมาก ไม่มีปัญหาต่าง ๆ ที่ว่า ตัวโครงการอยู่ที่ &lt;a href="http://gag.com/rockets"&gt;gag.com/rockets&lt;/a&gt; &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;&lt;a href="http://www.debian.org/devel/buildd/"&gt;ระบบ Autobuilder ของ Debian&lt;/a&gt;&lt;/strong&gt; ซึ่งใช้ build แพกเกจสำหรับสถาปัตยกรรมต่าง ๆ ที่ Debian รองรับโดยอัตโนมัติ แบ่งเป็น 3 ชั้น คือ wanna-build เป็นระบบประสานงานการขอ build และจัดคิวผ่านฐานข้อมูล, buildd เป็น daemon สำหรับ build, และ sbuild เป็นระบบ chroot ที่ใช้ build (คล้าย pbuilder) &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;รายงานผลการปรับระบบใน debian-mentors&lt;/strong&gt; เมื่อปลายปีที่แล้ว มีการปรับระบบใน debian-mentors เพื่อให้ RFS ต่าง ๆ ได้รับการตอบสนองดีขึ้น โดยกำหนดให้แต่ละ RFS ต้องได้รับการตอบสนองภายใน ๔ วัน มิฉะนั้นจะเริ่มมีการรายงาน เพื่อให้ DD ที่สนใจจะช่วยได้มองเห็นทันที นอกจากนี้ยังมีการกำหนดให้ sponsoree มีการรีวิวกันเองด้วย ซึ่งผลที่ได้คือเหลือ RFS ตกค้างน้อยลง แต่ก็มีบางเดือนที่ตัวเลขตกค้างเพิ่มขึ้นบ้าง นอกจากนี้ ก็ได้เริ่มพัฒนา &lt;a href="http://expo.debian.net"&gt;expo.debian.net&lt;/a&gt; ขึ้นใช้แทน &lt;a href="http://mentors.debian.net"&gt;mentors.debian.net&lt;/a&gt; ซึ่งนอกจากหน้าตาที่สวยขึ้นแล้ว ยังอาจมีความสามารถอื่น ๆ ที่จะช่วยอำนวยความสะดวกในการรีวิว เช่น การแตกแฟ้มบางแฟ้มที่สำคัญขึ้นมาแสดงบนเว็บ มีข้อเสนอแนะว่าอาจจะกระจายงานบางส่วนออกไปยัง mailing list ของทีมเฉพาะด้านด้วย (ซึ่งผมคิดว่าก็มีการทำเป็นปกติอยู่แล้ว) &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;&lt;a href="http://wiki.debian.org/FreedomBox"&gt;FreedomBox&lt;/a&gt;&lt;/strong&gt; เป็นโครงการสร้างกล่องอุปกรณ์เล็ก ๆ ที่ทำหน้าที่เซิร์ฟเวอร์ส่วนตัวเพื่อการใช้เครือข่ายแบบรักษาความเป็นส่วนตัวของผู้ใช้ โดยทำงานผ่าน mesh network มีการก่อตั้ง &lt;a href="http://freedomboxfoundation.org/"&gt;FreedomBox Foundation&lt;/a&gt; ใช้ DreamPlug เป็น reference implementation เริ่มแรก และใน DebConf 11 ก็พยายามแฮ็กกันเพื่อสร้าง user-space tools สำหรับสั่งงาน &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;Language Skill Exchange&lt;/strong&gt; ไหน ๆ ก็มีคนหลายชาติมารวมกัน ก็เลยมีการเสนอทำกิจกรรมแลกเปลี่ยนความรู้ด้านภาษา โดยมีภาษาอิตาลี, สเปน, ไทย, จีน (แมนดาริน, หมิ่นหนาน), อาหรับ, รัสเซีย, เซิร์บ, โครเอเชีย, บอสเนีย, เยอรมัน, ฝรั่งเศส ก็พอสรุปคร่าว ๆ ว่า มีภาษาไทย, จีน และอาหรับที่ไม่มีกริยาช่วย และภาษาส่วนใหญ่ใช้คำขยายต่อท้ายคำหลัก (ไม่ใช่ใช้ข้างหน้าแบบภาษาอังกฤษและจีน) &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;เสนอตัวเจ้าภาพ DebConf 13&lt;/strong&gt; ถัดจาก DebConf 12 ที่นิคารากัว ก็มีผู้เสนอตัวเป็นเจ้าภาพ DebConf 13 หลายประเทศ ได้แก่ เวียนนา/ออสเตรีย, ลัตเวีย, สวิตเซอร์แลนด์, อิสตันบูล, กรีซ, สหราชอาณาจักร, WestLafayette/US (เมืองที่ Ian Murdock อยู่ขณะที่ประกาศตั้งโครงการ Debian และในปีที่จัด DebConf 13 นั้น Debian จะมีอายุครบ ๒๐ ปีพอดี), เบอร์ลิน/เยอรมนี ปิดท้ายด้วยไอเดียขำ ๆ จาก H01ger ว่า DebConf 14 อาจจะจัดที่ Martinique ซึ่งเป็นเกาะของฝรั่งเศสในอเมริกาใต้ ซึ่งก็ถือว่ายังอยู่ใน EU คนยุโรปไม่ต้องขอวีซ่า, และ DebConf 18 อาจจะจัดบนเรือเลยดีไหม? โดยล่องเรือไปรับ DD ตามท่าต่าง ๆ แล้วก็ประชุมและแฮ็กกันบนเรือนั่นแหละ แต่ปัญหาหลักคืออินเทอร์เน็ต แต่กว่าจะถึงปีนั้น อาจจะมีเทคโนโลยีรองรับแล้วก็ได้! (ทุกคนชี้ไปที่ Bdale!) &lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;บรรยากาศทั่วไปของ DebConf&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt; ผมได้พบกับ DD หลายคนที่เคยติดต่อกันแบบออนไลน์มาก่อน เช่น Martin Würtele (maxx) ซึ่งเป็น AM (application manager) ที่สอบผมตอนสมัครเข้าเป็น DD, Martin Michlmayr (tmb) อดีต DPL ที่เคยมางาน AOSS ที่จีน (แต่ผมไม่ได้ไป) และสนใจกิจกรรมโอเพนซอร์สในไทย, Raphaël Hertzog ผู้สร้าง facebook page ของ &lt;a href="http://www.facebook.com/debian"&gt;Debian&lt;/a&gt; และดึงผมเข้าร่วมเป็น admin และยังได้พบกับคนอื่น ๆ ที่ยังไม่เคยติดต่อกันมาก่อนอีกหลายคน &lt;/li&gt;
  &lt;li&gt; ผมได้สัมผัสกับบรรยากาศของ gift culture ที่ทุกคนล้วนตื่นตัวที่จะมีส่วนร่วม แม้แต่การดำเนินการประชุมยังมาจากอาสาสมัครผู้ฟังในห้องนั่นแหละ ไม่ต้องมีเจ้าภาพใด ๆ การอภิปรายแบบสร้างสรรค์ที่คึกคัก การรับอาสาทำงานอย่างเต็มใจ ซึ่งบรรยากาศระดับนี้ค่อนข้างหายากที่เมืองไทย จนผมเองก็รู้สึกไม่พร้อมที่จะมีส่วนร่วมเท่าไร ได้แต่ตั้งใจว่าต้องกลับไปเตรียมตัว ไปฝึกฝนให้มากกว่านี้ &lt;/li&gt;
  &lt;li&gt; ได้พบว่าบางครั้งไม่ใช่แค่เราที่กลัวฝรั่ง ฝรั่งบางคนก็กลัวที่จะนั่งคุยกับคนเอเชียเหมือนกัน เพราะคนเอเชียมักมีบุคลิกขรึม ๆ เขาก็ไม่รู้จะเปิดปากพูดด้วยเรื่องอะไร หรือชวนคุยแล้วเขาจะต้องรับภาระพูดเป็นต่อยหอยฝ่ายเดียวหรือเปล่า บางครั้งจึงต้องมีการ &lt;q&gt;break the ice&lt;/q&gt; ด้วยการเป็นฝ่ายชวนเขาคุยเสียหน่อย ซึ่งถ้าคิดประเด็นแรกได้แล้ว ก็จะสามารถสนทนาลื่นไหลต่อไปได้ &lt;/li&gt;
  &lt;li&gt; ได้พบว่าข่าวการเมืองไทยค่อนข้างฉาวโฉ่ คนทั่วโลกเขารู้รายละเอียดพอสมควรว่าเหลือง-แดงคิดอะไร ทำอะไร เรื่องนี้กลายเป็นประเด็นพูดคุยบนโต๊ะอาหารได้เลย (ซึ่งผมเองไม่ยอมเป็นฝ่ายเปิดประเด็นแน่) &lt;/li&gt;
  &lt;li&gt; &lt;a href="http://osm.org"&gt;OpenStreetMap&lt;/a&gt; ที่บอสเนียข้อมูลค่อนข้างหนาแน่น แค่พื้นที่แคบ ๆ ข้อมูลก็เกินขนาดที่ API รองรับได้แล้ว &lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-195199010219160810?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/195199010219160810/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/08/debconf11-last-days.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/195199010219160810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/195199010219160810'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/08/debconf11-last-days.html' title='DebConf11 Last Days'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8146497783317093805</id><published>2011-07-27T22:39:00.000+07:00</published><updated>2011-07-27T23:41:45.843+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debconf'/><title type='text'>DebConf11 Day 3: Rolling, Multiarch, TDD</title><content type='html'>&lt;p&gt;&lt;a href="http://debconf11.debconf.org"&gt;DebConf11&lt;/a&gt; วันที่ 3 ที่ผมเข้าฟังก็มีเรื่อง พบ Release Team, พบ Debian Sysadmins (DSA), Rolling BoF, Packaging with Git, Multiarch, Test-Driven Development&lt;/p&gt;

&lt;p&gt;เรื่องที่เป็นประเด็นน่าสนใจของวันนี้คงอยู่ที่ rolling release, multiarch support และ test-driven development ซึ่งเป็นเรื่องใหม่ที่มีการเสนอเข้า Debian ในรุ่น Wheezy นี้&lt;/p&gt;

&lt;p&gt;สำหรับ &lt;a href="http://cut.debian.net/"&gt;CUT&lt;/a&gt; และ &lt;a href="http://www.lucas-nussbaum.net/blog/?p=659"&gt;rolling release&lt;/a&gt; นี้ release team บอกว่าไม่มีปัญหา แต่อย่าให้ release team ต้องทำงานหนักขึ้นเป็นพอ ใน BoF นั้น Raphael Hertzog ได้เริ่มจากการพูดถึงจุดมุ่งหมายของ rolling release ว่าเป็นการเจาะกลุ่มผู้ใช้เดสก์ท็อปทั่วไป ไม่ใช่สำหรับผู้ใช้เซิร์ฟเวอร์ ซึ่งหมายความว่า สถาปัตยกรรมที่จะมีการใช้งานจริง ๆ อาจจะเหลือแค่ i386, amd64, armel ก็ได้&lt;/p&gt;

&lt;p&gt;คำถามถัดมาคือ สามารถใช้ testing เป็น rolling ได้เลยไหม?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; testing นั้นมีการอัปเดตสม่ำเสมอแน่ละ แต่มัน usable อย่างสม่ำเสมอด้วยหรือเปล่า? &lt;/li&gt;
  &lt;li&gt; เราพร้อมจะรองรับผู้ใช้ testing เต็มที่จริง ๆ หรือเปล่า? นี่ต้องเป็นภาระของ maintainer ทั้งหลายที่เพิ่มขึ้น &lt;/li&gt;
  &lt;li&gt; เราพร้อมจะแก้บั๊กให้แบบทันเหตุการณ์ได้หรือเปล่า? (โดยปกติ การอัปโหลดแพกเกจจะเอาขึ้นที่ unstable รอจนกระทั่ง ๑๐ วันผ่านไปโดยไม่มีบั๊กร้ายแรงจึงจะผ่านเข้า testing ยกเว้น security bug จึงจะมีการอัปโหลดเข้า testing แบบทันทีทันใด และถ้าเป็นกรณี migration เป็นชุดจะใช้เวลานานขึ้นอีก เพราะต้องรอ migrate พร้อมกัน) &lt;/li&gt;
  &lt;li&gt; มี installer ที่ดีหรือเปล่า? (โครงการ CUT จะทำ installer ที่ใช้การได้อย่างสม่ำเสมอสำหรับ testing) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;จากการสอบถามคำถาม ๓ ข้อ คือ&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt; testing usable ไหม? &lt;/li&gt;
  &lt;li&gt; Debian ควรรับรองให้ผู้ใช้ใช้ testing อย่างเป็นทางการไหม? &lt;/li&gt;
  &lt;li&gt; เราพร้อมจะ support ผู้ใช้ testing อย่างเต็มที่ไหม? &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;คำตอบของ DD ส่วนใหญ่จะตอบ yes ในข้อแรก แล้ว yes น้อยลงเรื่อย ๆ ในข้อหลัง ๆ&lt;/p&gt;

&lt;p&gt;ผมคิดว่าความเห็นส่วนใหญ่จะเป็นว่า stable นั้นเก่าเกินไปสำหรับผู้ใช้เดสก์ท็อป ส่วน unstable ก็ต้องอาศัยประสบการณ์พอสมควรในการดูแลระบบ จะมี testing ที่อยู่กลาง ๆ และแนะนำให้ผู้ใช้เดสก์ท็อปมือใหม่ใช้ แต่ถ้าจะถึงกับประกาศให้ใช้เป็นทางการนั้น จะต้องมีการปรับเปลี่ยนระบบการทำงานพอสมควร ซึ่งเมื่อเปรียบเทียบข้อดีข้อเสียแล้ว DD หลายคนจึงเลือกตอบ no มากกว่า แม้การใช้ testing ปัจจุบันก็ไม่ได้ส่งผลเสียอะไรขนาดนั้น (DD บางคนถึงกับบอกว่า unstable + apt-listbugs นั่นแหละดีที่สุดแล้ว)&lt;/p&gt;

&lt;p&gt;ในอีกทางหนึ่ง ก็มี DD บางคนได้ทำงานล่วงหน้าไปแล้วเพื่อทดลองกระบวนการต่าง ๆ ที่จะใช้กับ rolling&lt;/p&gt;

&lt;p&gt;คำถามถัดมาคือ แล้วจะทำอย่างไรให้ rolling นั้น rolling ต่อไปเรื่อย ๆ โดยเฉพาะในช่วง freeze? ก็มีแนวทางอย่างน้อย ๒ แนวทาง:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ทำ symlink ให้ rolling == testing ในช่วงปกติ แล้ว fork rolling ในช่วง freeze
       &lt;ul&gt;
         &lt;li&gt; DD ต้องแยกสมาธิดูแลทั้ง testing และ rolling แยกกันในช่วง freeze อาจทำให้ออก stable ช้าลงไปอีก &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ทำ rolling แยกต่างหากเลย
       &lt;ul&gt;
         &lt;li&gt; สามารถสร้างกฎใหม่ ๆ ได้ &lt;/li&gt;
         &lt;li&gt; อาจเป็นอุปสรรคต่อการออก stable มากขึ้นไปอีก? &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ครั้งนี้เป็นการระดมสมอง ยังไม่มีการตัดสินใจอย่างใด&lt;/p&gt;

&lt;p&gt;ข้ามมาที่เรื่อง Multiarch ซึ่งหัวเรี่ยวหัวแรงคือ Steve Langasek เล่าว่า เริ่มมีแนวคิดนี้มาตั้งแต่ปี 2009 ที่ Barcelona จนกระทั่งเริ่ม implement ครั้งแรกใน Ubuntu 11.04 เพียงไม่กี่แพกเกจ เพียงเพื่อให้สามารถติดตั้ง flash plugin แบบ i386 บน amd64 ได้เท่านั้น แล้วจึงมาเริ่มทำใน Debian ในรุ่น Wheezy นี้ โดยทยอยแก้ไขไลบรารีต่าง ๆ ให้รองรับ multiarch ทั้งระบบ ซึ่งเป็นการย้ายขนานใหญ่กว่าใน Ubuntu มาก&lt;/p&gt;

&lt;p&gt;สิ่งที่ Steve ได้เรียนรู้จากการผลักดันครั้งนี้คือ:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; เอกสารประกอบนั้นสำคัญมาก ไม่ใช่แค่แก้ policy แล้วก็จบ แต่ต้องมีเอกสารสรุปให้ทุกคนทำตามได้โดยสะดวกด้วย &lt;/li&gt;
  &lt;li&gt; แบ่งงานเป็นส่วน ๆ ทำไปทีละส่วน เพราะไลบรารีต่าง ๆ มีความสัมพันธ์กันเป็นชุด ๆ &lt;/li&gt;
  &lt;li&gt; ไม่มีอะไรที่จะคงอยู่ถาวรไปกว่าวิธีแก้แบบชั่วคราวอีกแล้ว (Nothing is so permanent as temporary solution.) ดังนั้น อย่าคิดแต่ว่าจะแก้แบบชั่วคราวไปก่อน &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;สิ่งที่เราจะได้จากการรองรับ multiarch คือ:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; สภาพแวดล้อมสำหรับการจำลองเครื่องต่าง ๆ แบบทันทีทันใด ไม่ต้องไปอาศัย chroot อีกแล้ว &lt;/li&gt;
  &lt;li&gt; การคอมไพล์ข้ามสถาปัตยกรรม (cross-compilation) ไม่ใช่เรื่องยากอีกต่อไป (Steve สาธิตการคอมไพล์แพกเกจสำหรับ arm โดยไม่ต้องใช้ chroot ไม่ต้องติดตั้งอะไรพิเศษ เสร็จในเวลาอันรวดเร็ว) &lt;/li&gt;
  &lt;li&gt; การปรับระบบข้ามสถาปัตยกรรม (cross-grading) ทำได้ทันทีโดยไม่ต้องเริ่มติดตั้งใหม่ เช่น จาก arm เป็น armel, จาก i386 เป็น amd64, จาก armel เป็น armhf &lt;/li&gt;
  &lt;li&gt; รองรับซอฟต์แวร์ที่แจกจ่ายแบบไบนารีอย่างเดียว (เช่น Adobe flash player) ได้ดีขึ้น &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ส่วนเรื่องสุดท้าย คือ test-driven developement นั้น เริ่มจากสรุประบบการทดสอบคุณภาพที่ Debian มีอยู่แล้ว เช่น archive rebuild (จับบั๊ก FTBFS), lintian, piuparts, auto-REJECT ที่ ftp-master, การทดสอบแพกเกจขณะคอมไพล์ (make check), การทดสอบการเชื่อมรวม (&lt;a href="http://edos.debian.net/"&gt;EDOS&lt;/a&gt;), การวิเคราะห์ซอร์สโค้ดแบบอัตโนมัติ (CADA)&lt;/p&gt;

&lt;p&gt;จากนั้นก็เป็นการสอบถามทุกคน ว่ายังมีการทดสอบแบบใดอีกไหมที่ตนเองทำอยู่ เผื่อจะนำมาใช้ใน Debian โดยรวมต่อไป&lt;/p&gt;

&lt;p&gt;รายละเอียดขอจบเพียงเท่านี้ เนื่องจากเวลาในการเขียน blog หมดลงแล้ว..&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8146497783317093805?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8146497783317093805/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-3-rolling-multiarch-tdd.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8146497783317093805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8146497783317093805'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-3-rolling-multiarch-tdd.html' title='DebConf11 Day 3: Rolling, Multiarch, TDD'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-9048872279738387404</id><published>2011-07-26T12:41:00.001+07:00</published><updated>2011-07-26T13:04:41.755+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debconf'/><title type='text'>DebConf11 Day 2: DPL, QA</title><content type='html'>&lt;p&gt;&lt;a href="http://debconf11.debconf.org"&gt;DebConf11&lt;/a&gt; วันที่สอง เป็นการเริ่มเข้าสู่โหมด &lt;q&gt;conference&lt;/q&gt; อย่างแท้จริง เนื้อหาจะเริ่มเจาะกลุ่ม contributor ทั้งหลาย&lt;/p&gt;

&lt;p&gt;เริ่มจาก เจ้าภาพมาเล่าถึงที่มาที่ไปของการจัด DebConf ที่บอสเนียในครั้งนี้ แม่งานของทางเจ้าภาพ คือ Adnan Hodzic ประธานกลุ่ม NVO DIVA เริ่มมีแนวคิดจะจัด DebConf ที่บอสเนียมาตั้งแต่ DebConf 7 และการเสนอตัวนั้น ทางเจ้าภาพก็ยังไม่คาดคิดว่าจะได้จัด แต่ก็พยายามผลักดันเต็มที่ โดยเข้าหารัฐบาล จนหน่วยงานของรัฐเห็นชอบ หลังจากนั้นรัฐบาลก็เป็นฝ่ายสนับสนุนออกเงินทุนให้ทุกอย่าง ดังจะเห็นได้จากพิธีเปิดในวันแรก มีคนระดับสูงของรัฐบาลมากล่าวเปิดงานหลายคน ตั้งแต่ระดับรัฐมนตรีลงมา&lt;/p&gt;

&lt;p&gt;ทีมเจ้าภาพทำงานร่วมกับทีมจัดงานของเดเบียนอย่างใกล้ชิด เข้าไปคุยกับรัฐบาลด้วยกัน &lt;a href="http://penta.debconf.org/dc11_schedule/images/person-192-128x128.png"&gt;ทรงผม&lt;/a&gt;ของ &lt;a href="http://layer-acht.org/blog/debian"&gt;Holger&lt;/a&gt; ไม่เป็นอุปสรรคต่อการเข้าพบรัฐมนตรี หลังจากที่ Adnan convince รัฐบาลได้แล้ว&lt;/p&gt;

&lt;p&gt;ผมเองยอมรับว่าทีมเจ้าภาพทำงานแข็งขันมาก เอาแค่เรื่องวีซ่าของผู้เข้าร่วมงานก็ต้องเตรียมการอย่างดี ตามแก้ปัญหาต่าง ๆ อย่าง&lt;a href="http://thep.blogspot.com/2011/07/finally-in-banja-luka.html"&gt;กรณีของผม&lt;/a&gt;เป็นต้น ซึ่งเขาทำงานได้ไม่ขาดตกบกพร่อง&lt;/p&gt;

&lt;p&gt;ถัดมาเป็น session แรกของ DPL (&lt;a href="http://upsilon.cc/~zack/blog/planet-debian/"&gt;Stefano Zacchiroli&lt;/a&gt;) พูดถึงจุดแข็งจุดอ่อนของ Debian และแนวทางของโครงการที่จะทำต่อไป&lt;/p&gt;

&lt;p&gt;ในช่วงแรก ๆ หลังการก่อตั้ง Debian นั้น มี distro ไม่หลากหลาย Debian จึงมีจุดเด่นชัดเจน แต่ทุกวันนี้มี distro มากมายมหาศาล แล้วอะไรที่ยังเป็นความพิเศษของ Debian อยู่?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;คุณภาพ (quality)&lt;/strong&gt; Debian มีวัฒนธรรมของความเป็นเลิศทางเทคนิค มีตั้งแต่ policy ที่แน่นหนา มีเครื่องมือควบคุมคุณภาพอย่าง lintian, piuparts, การ rebuild แพกเกจทั้ง archive เพื่อตรวจสอบบั๊กประเภท FTBFS (Fails-To-Build-From-Source) เป็นระยะ โดยทุกแพกเกจได้รับการตรวจสอบเท่าเทียมกันหมด ผู้ดูแลแพกเกจล้วนแต่เป็นผู้เชี่ยวชาญด้านซอฟต์แวร์ และที่สำคัญคือนโยบาย &lt;q&gt;we release when it's ready&lt;/q&gt; &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;เสรีภาพ (freedom)&lt;/strong&gt; Debian ได้ส่งเสริมวัฒนธรรมซอฟต์แวร์เสรีอย่างแข็งขันมาตั้งแต่ปี 1993 ทุกอย่างใน Debian เป็นซอฟต์แวร์เสรีทั้งหมด ตั้งแต่ตัวซอฟต์แวร์เอง, โครงสร้างพื้นฐานที่ใช้ดำเนินโครงการ, และความเปิดกว้างในกระบวนการทำงาน สิ่งที่บุคคลภายนอกรับรู้คือ Debian ไม่ทรยศต่ออุดมการณ์ซอฟต์แวร์เสรีเด็ดขาด และยังมีมาตรฐานสูงในเรื่องการส่งเสริมเสรีภาพด้วย &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;ความเป็นอิสระ (independence)&lt;/strong&gt; Debian อยู่ได้ด้วยการทำงานของอาสาสมัครล้วน ๆ ไม่มีโครงสร้างแบบบริษัทหรือลำดับชั้นการบริหารงาน ไม่มีบริษัทใดบริษัทหนึ่งคอยค้ำจุนหรือชี้นำได้ แต่อยู่ได้ด้วยการบริจาค (ทั้งในรูปตัวเงินและฮาร์ดแวร์) และวัฒนธรรมการให้ &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;กระบวนการตัดสินใจ (decision making)&lt;/strong&gt; มีสองส่วน คือ do-ocracy และ democracy โดย do-ocracy คือการให้อำนาจตัดสินใจกับคนที่ลงมือทำ ส่วน democracy คือการใช้เสียงส่วนใหญ่ของชุมชนตัดสินปัญหา do-ocracy มักใช้กับงานทางเทคนิค และ democracy มักใช้กับสิ่งที่นอกเหนือจากนั้น ซึ่งผลของ do-ocracy คือ เครดิตจะติดตัวคนทำไปด้วย &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;งานปลายน้ำ (derivatives)&lt;/strong&gt; Debian เป็นต้นน้ำให้กับ distro ปลายน้ำที่ยัง active อยู่ประมาณ 130 distro ซึ่ง distro เหล่านี้ยังคงใช้ประโยชน์จาก Debian และพึ่งพา Debian อยู่ (แม้ผู้ใช้จำนวนมากจะไม่ทราบก็ตาม) ถ้า Debian ทำงานผิดพลาด จะมีคนเดือดร้อนจำนวนมาก &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;เหล่านี้คือจุดแข็งของ Debian แต่จุดแข็งเหล่านี้ก็สามารถย้อนกลับมาเป็นอุปสรรคได้เช่นกัน&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;ขาดคน?&lt;/strong&gt; ปีที่แล้ว คน Debian บ่นกันมากว่า Debian ขาดคนทำงาน แต่ถ้าดูสถิติปีนี้ก็จะเห็นว่าสามารถดึงดูดคนเข้าร่วมได้มากพอสมควร (DD เพิ่มขึ้น 25 คน, DM เพิ่มขึ้น 30 คน ปัจจุบันมี DD 911 คน และ DM อีก 149 คน) &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;คุณภาพ?&lt;/strong&gt; การทำงานที่มีคุณภาพนั้นใช้เวลานาน แต่จากสถิติ เราก็ทำได้ดีขึ้น (etch ใช้เวลา 22 เดือน, lenny 22 เดือน, squeeze 24 เดือน ในขณะที่ยังต่ำกว่าเวลาเฉลี่ยคือ 25 เดือน) แนวทางที่จะทำคือ ใช้นโยบาย time-based freeze, ใช้กระบวนการ release ที่ทุกคนต้องร่วมกันรับผิดชอบ (ไม่ใช่ดูแค่แพกเกจของตัวเอง), รวมทั้งการเสนอ trade-off อย่าง &lt;a href="http://cut.debian.net/"&gt;CUT&lt;/a&gt; หรือ &lt;a href="http://debianclub.org/node/623"&gt;rolling&lt;/a&gt; &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;เสรีภาพ?&lt;/strong&gt; การตั้งมาตรฐานสูงเรื่องเสรีภาพจะเป็นอุปสรรคไหม? คำตอบสั้น ๆ คือ &lt;q&gt;ไม่&lt;/q&gt; โดยมีวงเล็บต่อท้ายว่า &lt;q&gt;(Well, maybe, but it's not negotiable)&lt;/q&gt; (ได้รับเสียงปรบมือเกรียวกราวในห้องประชุม) &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;ความเป็นอิสระและ do-ocracy?&lt;/strong&gt; ข้อเสียคือเรื่องนี้กระตุ้นได้แต่งานทางเทคนิค ไม่สามารถกระตุ้นการทำงานอย่างอื่นที่ไม่ geek ได้ เช่น งานเอกสาร งานตรวจสอบ งานบริหาร งานประชาสัมพันธ์ งานบัญชี งานด้านกฎหมาย ฯลฯ แต่งานเหล่านี้ก็ขาดเสียมิได้ มิฉะนั้นพวก geek ก็ hack กันไม่ถนัดเหมือนกัน แนวทางที่ควรทำคือ ให้การยอมรับงานเหล่านี้มากขึ้น เปิดรับผู้เข้าร่วมด้านต่าง ๆ มากขึ้น รวมทั้งทุกคนเองก็ต้องพร้อมอาสาเข้ามาทำด้วย &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;democracy?&lt;/strong&gt; แน่นอนว่าการใช้ประชาธิปไตยจะทำให้เกิดความล่าช้าโดยธรรมชาติ เพราะจะต้องมีคนบางส่วนที่ไม่เห็นด้วยและอภิปรายคัดค้าน แต่ก็ต้องเข้าใจว่า ประชามติ (concensus) กับ เอกฉันท์ (unanimity) เป็นคนละเรื่องกัน และแม้เราจะใช้ทั้ง democracy และ do-ocracy แต่ถ้าจะต้องการให้อะไรเกิดขึ้นก็ต้องลงมือทำ! แนวทางที่ควรทำคือ สนับสนุนเทคโนโลยีที่ทำให้เกิดการ fork ได้ เช่น PPA, test-driven development ซึ่งได้มีการเสนอใน Debian กันอยู่ &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;งานปลายน้ำ?&lt;/strong&gt; distro ปลายน้ำบางครั้งก็เป็นอุปสรรคได้ ถ้าเขาลดทอนอุดมคติของเราลง แต่ในขณะเดียวกัน งานปลายน้ำก็อาจเป็นผลดีได้ เพราะเขาช่วยเจาะกลุ่มผู้ใช้กลุ่มต่าง ๆ ให้ โดยสิ่งที่จะเป็นผลดีกับทุกคน คือการสมทบงานกลับไปสู่ต้นน้ำ แนวทางที่ควรทำคือ ส่งเสริมการทำงานร่วมกันระหว่างงานปลายน้ำและต้นน้ำ, พยายามอธิบายแนวคิดของ Debian ให้กับผู้เข้าร่วมต่าง ๆ ได้รับทราบ, เผยแพร่วัฒนธรรมการตอบแทนกลับคืนสู่ชุมชน (give-back) ของ Debian ตาม Social Contract ข้อ 2 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ข้อสรุปคือ:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; Debian ยังมีบทบาทสำคัญในโลกซอฟต์แวร์เสรีอยู่ &lt;/li&gt;
  &lt;li&gt; ถ้า Debian ล้มเหลว จะมีผู้เดือดร้อนจำนวนมาก &lt;/li&gt;
  &lt;li&gt; จุดแข็งต่าง ๆ ของ Debian สามารถเป็นดาบสองคมได้ ซึ่งเราต้องจัดการให้ดี &lt;/li&gt;
  &lt;li&gt; ขอให้ใช้ความกล้าที่จะรับผิดชอบงานต่าง ๆ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ถัดจากนั้น อ.กิตติ์กับผมได้แยกไปฟังกันคนละห้อง อ.กิตติ์อยู่ในห้องประชุมใหญ่ ผมไปฟังห้องเล็ก&lt;/p&gt;

&lt;p&gt;ห้องเล็กวันนี้ เนื้อหาเป็นเรื่องของการควบคุมคุณภาพ (QA) ใน Debian&lt;/p&gt;

&lt;p&gt;เรื่องแรกคือ มีการเสนอมาตรการกลั่นกรองคุณภาพซอฟต์แวร์ที่จะเข้าสู่ Debian โดยปัจจุบัน Debian มีซอฟต์แวร์หลากหลายมาก ซอฟต์แวร์บางตัวเขียนโค้ดยุ่งเหยิง แก้บั๊กยาก ควรจะให้เข้า Debian หรือไม่? โดยมีการเสนอมาตรการการให้คะแนนคุณภาพซอฟต์แวร์ไว้ดังนี้:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;ไม่มีขีดกำหนดตายตัว&lt;/strong&gt; คะแนนรวมจะเป็นตัวเลขบอกระดับคุณภาพเท่านั้น ไม่มีขีดขั้นว่าเท่าไรจึงจะผ่านเกณฑ์ แต่จะอาศัยความกดดันทางสังคมเป็นหลัก &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;uniqueness&lt;/strong&gt; คือถ้าซอฟต์แวร์นั้นไม่มีซอฟต์แวร์ทดแทนอื่นแล้ว ก็จำเป็นต้องให้คะแนนไว้ แม้คุณภาพโค้ดจะไม่ดีก็ตาม เพื่อให้คง feature ไว้ &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;ตำแหน่งใน dependency tree&lt;/strong&gt; ถ้าซอฟต์แวร์นั้นมีแพกเกจอื่น depend อยู่มาก ก็จำเป็นต้องให้คะแนนไว้เช่นกัน &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;สถิติ popcon&lt;/strong&gt; ถ้ามีผู้ใช้เยอะ ก็ให้คะแนนสูง &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;ข้อมูลใน UDD&lt;/strong&gt; เกี่ยวกับจำนวนบั๊ก ความสม่ำเสมอในการดูแลแพกเกจ &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;จำนวนรูโหว่ที่พบ&lt;/strong&gt; โดยนับเป็นจำนวน CVE-ID ต่อ LOC &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;ปริมาณ comment&lt;/strong&gt; โดยคิดสัดส่วนต่อ LOC (ใช้ ohcount) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;โดยอาจจะเริ่มจากการประเมินคุณภาพแพกเกจที่มีอยู่ทั้งหมดก่อน เพื่อให้เกิดค่ากลางที่แพกเกจใหม่ ๆ สามารถเปรียบเทียบตัวเองได้ ว่าเข้าขั้นหรือยัง&lt;/p&gt;

&lt;p&gt;เรื่องอื่น ๆ ที่เสนอคือ อาจให้ ITP ต้องมี DD รับรอง 2 คนไหม? DD อาจทำ peer-review กันเองผ่าน mentors ด้วยดีไหม นอกเหนือจากการ mentor sponsoree?&lt;/p&gt;

&lt;p&gt;เรื่องที่สองเป็นสถานะของ Ruby ใน Debian โดยได้พูดถึงอุปสรรคต่าง ๆ ที่ผ่านมาและการแก้ไข&lt;/p&gt;

&lt;p&gt;อุปสรรคหลักคือ Ruby พัฒนาโดยคนญี่ปุ่น เมลลิงลิสต์ที่นักพัฒนาคุยกันจะใช้ภาษาญี่ปุ่นเป็นหลัก ทำให้เข้าร่วมได้ยาก นอกจากนี้ Ruby ยังมีระบบแพกเกจของตัวเอง คือ RVM และ Rubygems และไม่ยอมรับระบบแพกเกจของ distro ทำให้เกิดความไม่ลงรอยกันกับทีม Debian แต่ทีม Debian ก็ได้กำจัดข้อเสียต่าง ๆ ใน Debian จนกระทั่งได้รับการยอมรับแล้ว และได้สร้างเครื่องมือ &lt;q&gt;gem2deb&lt;/q&gt; เพื่อแปลงแพกเกจ Rubygems ให้เป็น source package ของ Debian และได้ทยอยแปลงแพกเกจใน Debian ให้ใช้รูปแบบใหม่นี้ไปเรื่อย ๆ ทีละส่วน&lt;/p&gt;

&lt;p&gt;นอกจากนี้ก็ได้พูดถึงเป้าหมายของ Wheezy ว่าอาจจะใช้ Ruby 1.9.3 มี Jruby ใน non-free ส่วน Rubidious นั้นอยู่ระหว่าง ITP ในโหมดที่เรียกว่า &lt;q&gt;cookie-licking&lt;/q&gt; (หมายความว่า เจ้าของบั๊กบอกว่ากำลังทำ ๆ มาเป็นเวลานาน แต่ไม่มีความคืบหน้า คนอื่นจะเข้าไปทำก็ไม่กล้า เปรียบเหมือนการเลียคุกกี้แต่ไม่กิน คนอื่นจะกินก็ไม่กล้าหยิบ)&lt;/p&gt;

&lt;p&gt;เรื่องถัดจากนั้นก็เป็นการประชุม BoF (&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Birds_of_a_Feather_%28computing%29"&gt;Birds of a Feather&lt;/a&gt;: การประชุมระดมสมอง) ในกลุ่ม QA, Lintian และ Piuparts (อ่านว่า &lt;q&gt;พิวพาร์ทส์&lt;/q&gt;) ซึ่งรายละเอียดขอละไว้ก่อน เนื่องจาก blog ยาวมากแล้ว และคนเขียนกำลังหิวข้าว :-P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-9048872279738387404?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/9048872279738387404/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-2-dpl-qa.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9048872279738387404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9048872279738387404'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-2-dpl-qa.html' title='DebConf11 Day 2: DPL, QA'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2371481568140758045</id><published>2011-07-25T14:14:00.001+07:00</published><updated>2011-07-25T14:27:02.591+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debconf'/><title type='text'>DebConf11 Day 1: Debian Day</title><content type='html'>&lt;p&gt;&lt;a href="http://debconf11.debconf.org/"&gt;DebConf11&lt;/a&gt; วันแรก เป็นกิจกรรม Debian Day เน้นการเผยแพร่ความรู้ทั่วไปเกี่ยวกับ Debian ให้คนทั่วไปฟัง&lt;/p&gt;

&lt;p&gt;คนแรกที่ขึ้นพูดคือ &lt;a href="http://www.gag.com/bdale/blog/index.html"&gt;Bdale Garbee&lt;/a&gt; ซึ่งนับเป็นนักพัฒนา Debian ที่ร่วมทำงานกับ Debian มายาวนานที่สุดในบรรดานักพัฒนาที่ยัง active อยู่ในปัจจุบัน (ดู &lt;a href="http://raphaelhertzog.com/2011/03/28/people-behind-debian-bdale-garbee-chair-of-the-technical-committee/"&gt;บทสัมภาษณ์โดย Raphaël Hertzog&lt;/a&gt;) ปัจจุบันทำงานกับ HP งานอดิเรกของเขาคือสร้างจรวด!&lt;/p&gt;

&lt;p&gt;Bdale เล่าประวัติศาสตร์ของ Debian ว่าเริ่มออกรุ่น 0.01 ในปี 1993 (เขาเข้าร่วมในปี 1994 ซึ่งเป็นปีที่ออกรุ่น 0.91) และรุ่น 0.93 ในปี 1995 ก็เริ่มใช้ dpkg จัดการแพกเกจ ถือเป็น distro แรกที่มีระบบจัดการแพกเกจแบบมี dependency&lt;/p&gt;

&lt;p&gt;นอกจากนี้ Debian ยังเป็น distro แรกที่มีการพัฒนาแบบเปิดโดยอาศัยชุมชนล้วน ๆ โดยเป็น distro แรกที่ทำ &lt;a href="http://www.debian.org/social_contract"&gt;Social Contract&lt;/a&gt; พร้อมกับร่าง &lt;a href="http://www.debian.org/social_contract#guidelines"&gt;Debian Free Software Guidelines (DFSG)&lt;/a&gt; เพื่อความชัดเจนในทางปฏิบัติ นอกเหนือจากหลักการ &lt;a href="http://www.gnu.org/philosophy/free-sw"&gt;Software Freedom&lt;/a&gt; ของ Free Software Foundation ด้วย ซึ่งต่อมา เมื่อมีการบัญญัติคำว่า Open Source ในภายหลัง ก็ได้นำ DFSG นี้ไปใช้เป็น &lt;a href="http://www.opensource.org/docs/osd"&gt;Open Source Definition&lt;/a&gt; แทบจะทั้งดุ้น มีการปรับเปลี่ยนถ้อยคำนิดหน่อยไม่ให้เจาะจง Debian เท่านั้น&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bugs.debian.org/"&gt;Bug Tracking System (BTS)&lt;/a&gt; ของ Debian เริ่มใช้มาตั้งแต่ปี 1994 เป็น mail-in/web-out&lt;/p&gt;

&lt;p&gt;มีการร่าง &lt;a href="http://www.debian.org/doc/debian-policy/"&gt;Debian Policy&lt;/a&gt; เพื่อเป็นข้อกำหนดทางเทคนิคของการทำงานร่วมกันในชุมชน&lt;/p&gt;

&lt;p&gt;มี &lt;a href="http://www.debian.org/devel/constitution"&gt;Debian Constitution&lt;/a&gt; (ธรรมนูญเดเบียน) เพื่อเป็นบทบัญญัติในการตัดสินกรณีต่าง ๆ ที่เกิดขึ้น ประกอบด้วยกระบวนการตัดสินใจอย่างเป็นแบบแผน (formal decision making), การแบ่งอำนาจหน้าที่ (Developers, Technical Committee, Project Secretary, Project Leader, Delegates), และกำหนดกระบวนการลงคะแนน (voting process)&lt;/p&gt;

&lt;p&gt;สิ่งที่นักพัฒนาอาวุโสท่านนี้บอกว่าได้เรียนรู้มีสองเรื่อง:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; อย่าประเมินค่าของคุณค่าต่าง ๆ ต่ำเกินไป (Never underestimate value of values)
       &lt;ul&gt;
         &lt;li&gt; คุณค่า (values) ทำให้เกิดวิสัยทัศน์ (vision), กุศโลบาย (strategy) และเป้าหมาย (objectives) &lt;/li&gt;
         &lt;li&gt; คุณค่าเป็นเหมือนสมอยึด (anchor) เมื่อเกิดความสับสนวุ่นวายขึ้น &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; สัญญาประชาคมภายใน (internal social contract) มีความสำคัญพอ ๆ กับสัญญาประชาคมภายนอก (external social contract) กล่าวคือ
       &lt;ul&gt;
         &lt;li&gt; Debian ยังขาด Code of Conduct (ระเบียบชุมชน) &lt;/li&gt;
         &lt;li&gt; ... (ฟังไม่ทัน) ... &lt;/li&gt;
         &lt;li&gt; มักเกิดเผด็จการของคนกลุ่มน้อยที่เสียงดัง (tyranny of vocal-minority) ขึ้นบ่อย ๆ &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;นอกจากนี้ยังได้พูดถึง facility ทางเทคนิคของ Debian เช่น ระบบแพกเกจ และระบบ &lt;a href="http://buildd.debian.org/"&gt;auto-build&lt;/a&gt; ซึ่งทำให้ Debian รองรับเครื่องหลากหลายสถาปัตยกรรมได้โดยไม่เป็นภาระของนักพัฒนาเลย&lt;/p&gt;

&lt;p&gt;คนต่อมาที่ขึ้นพูดคือ &lt;a href="http://www.enricozini.org/blog/pdo/"&gt;Enrico Zini&lt;/a&gt; ซึ่งเป็น DD ที่เต็มไปด้วยชีวิตชีวามาก ๆ คนหนึ่ง นำเสนอเรื่องในชุมชน Debian ว่ามีหลากหลายแค่ไหน เช่น:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; มีคนจากหลากหลายอาชีพ ตั้งแต่นักเรียน อาจารย์ พนักงานบริษัท เจ้าของกิจการ ไปจนถึงพนักงานดับเพลิง บางคนสร้างจรวดเป็นงานอดิเรก บางคนท่องอวกาศเป็นงานอดิเรก! &lt;/li&gt;
  &lt;li&gt; มีคนหลายวัย ตั้งแต่เด็กไปจนแก่ บางคนมีลูกแล้ว บางคนมีหลานแล้ว บางคนลูกก็ยังมาเป็น DD อีก บางคนพบรักกันใน DebConf บางคนจัดงานแต่งงานใน DebConf บางคนมาฮันนีมูนที่ DebConf!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ดังนั้น จึงไม่ควรยึดมั่นถือมั่นอะไรมากใน Debian ยกเว้นเรื่องสำคัญที่ผูกโยงทุกคนเข้าด้วยกัน ได้แก่ Social Contract, DFSG, &lt;a href="http://www.debian.org/devel/dmup"&gt;DMUP&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;เวลามีปัญหาเกิดขึ้น Debian ก็มีแนวทางแก้ปัญหาของตัวเอง โดยผ่านโครงสร้างต่าง ๆ ใน Debian Contitution (ธรรมนูญเดเบียน) ซึ่ง Bdale ได้พูดไปแล้ว&lt;/p&gt;

&lt;p&gt;ถัดจากนั้น Jesus Climent (ผมเพิ่งทราบว่าชื่อของเขาไม่ได้ออกเสียงว่า &lt;q&gt;จีซัส&lt;/q&gt; แต่เป็น &lt;q&gt;เฮซัส&lt;/q&gt;) ซึ่งเป็น DD ที่ทำงานที่ Google ก็มาเล่าให้ฟังเกี่ยวกับการใช้ Debian ใน Google ซึ่งระบบต่าง ๆ ใน Debian ทำให้ Google สามารถถอดเปลี่ยน เพิ่ม หรือซ่อมแซม storage ต่าง ๆ ที่มีมากมายมหาศาลได้แบบไม่ต้องปิดระบบ ไม่ต้องรีบูต ไม่ต้องใช้คนสั่ง ทุกอย่างอัตโนมัติหมด รวมถึงการอัปเกรดและทดสอบระบบด้วย&lt;/p&gt;

&lt;p&gt;(Jesus เข้ามาคุยกับเราก่อนหน้านั้น เขาบอกว่าเคยมาเที่ยวเมืองไทย ชอบเมืองไทยมาก ถึงขนาดไปทำรอยสักภาษาไทยไว้เป็นที่ระลึก)&lt;/p&gt;

&lt;p&gt;ปิดท้ายด้วย Gerfried Fuchs (&lt;a href="http://rhonda.deb.at/blog/"&gt;rhonda&lt;/a&gt;) พูดถึงระบบ e-card ของออสเตรีย ซึ่งเป็น smartcard สำหรับจัดการระบบแบบเชื่อมรวมทุกอย่างในบัตรเดียว โดยเริ่มจากบริการสาธารณสุขก่อนในขั้นแรก และจะขยายไปยังระบบอื่น ๆ สำหรับบริการประชาชน รวมไปถึงการขยายไปใช้ทั่วทั้ง EU ในอนาคตด้วย บริษัท SVC ของเขาพัฒนาระบบโดยใช้ Debian เป็นฐาน&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2371481568140758045?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2371481568140758045/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-1-debian-day.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2371481568140758045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2371481568140758045'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/07/debconf11-day-1-debian-day.html' title='DebConf11 Day 1: Debian Day'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3293462937136261013</id><published>2011-07-24T12:12:00.001+07:00</published><updated>2011-07-24T12:40:58.041+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trip'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><title type='text'>Finally in Banja Luka</title><content type='html'>&lt;p&gt;บันทึกการเดินทางจากขอนแก่นถึง Banja Luka เพื่อร่วมงาน &lt;a href="http://debconf11.debconf.org"&gt;DebConf11&lt;/a&gt; เป็นการเดินทางที่ลุ้นระทึกตลอดทาง&lt;/p&gt;

&lt;p&gt;ปัญหาหลักคือเรื่องวีซ่าเข้าประเทศ เริ่มจากเงื่อนไขสำคัญคือไม่มีสถานทูตบอสเนียในประเทศไทย ถ้าจะขอวีซ่าต้องไปขอที่สถานทูตบอสเนียในมาเลเซีย แต่เผอิญมาติดเงื่อนไขอีกอย่างของผม คือแม่ยังไม่หายเจ็บแขน ยังต้องคอยทำงานต่าง ๆ แทนแม่อยู่ ถ้าจะต้องเดินทางไปไหน จะต้องหาคนมาอยู่แทนให้ได้ก่อน ซึ่งก็ได้พยายามหลายทาง ตั้งแต่คุยกับน้อง ๆ (ซึ่งตอนนี้ย้ายไปอยู่ต่างจังหวัดกันหมด) ให้มาช่วยอยู่แทน ซึ่งแต่ละคนก็ติดภาระของครอบครัวตัวเองเช่นกัน หรือจะเป็นการพยายามจ้างคนที่ไว้ใจได้มาอยู่แทน แต่สุดท้ายก็ได้น้อง ๆ มาช่วยในช่วงที่ผมมาร่วม DebConf แต่ในช่วงที่ไปขอวีซ่าที่มาเลเซียนั้น ยังไม่สะดวก&lt;/p&gt;

&lt;p&gt;เผอิญได้ข้อมูลมาว่าสามารถขอวีซ่าโดยส่งหลักฐานทาง DHL ได้ จึงฝาก &lt;a href="http://kitty.in.th"&gt;อ.กิตติ์&lt;/a&gt; ซึ่งจะไปด้วยกันช่วยดำเนินการให้ ซึ่งฝ่ายวิเทศฯ ของ มข. ก็ช่วยดำเนินการและติดตามผลให้เป็นอย่างดี แต่สุดท้ายจวนถึงวันเดินทาง วีซ่าก็ยังไม่ส่งกลับมา&lt;/p&gt;

&lt;p&gt;จึงรีบติดต่อเจ้าภาพ ว่าจะสามารถขอ visa on arrival ได้หรือไม่ ซึ่งเจ้าภาพก็ดีใจหาย ดำเนินการทุกอย่างให้ โดยเข้าใจว่าเขาได้ติดต่อขอวีซ่าสำหรับผู้เข้าร่วมงานทุกคนอยู่แล้ว จึงได้ส่งหลักฐานที่จำเป็นมา ให้เรายื่นต่อสายการบินและ ต.ม. ว่าเราจะได้วีซ่าเมื่อไปถึง&lt;/p&gt;

&lt;p&gt;ตัดฉับมาที่สนามบินสุวรรณภูมิคืนวันที่ ๒๑ ก.ค. อ.กิตติ์กับผมลงจากเครื่องบินจากขอนแก่นก็ตรงไปเช็กอินที่ Turkish Airways เพื่อเดินทางไปบอสเนีย &lt;em&gt;ปรากฎว่าเจ้าหน้าที่ปฏิเสธที่จะให้เราขึ้นเครื่อง!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;สาเหตุคือหลักฐานของเราอ่อนเกินไป เป็นเพียงหนังสือของเอกชนว่าได้ยื่นขอวีซ่าให้เราแล้ว แต่ยังไม่มีลายเซ็นรับรองจากรัฐบาลบอสเนียว่าเราจะได้วีซ่าแน่นอน และจากกรณีต่าง ๆ ที่เขาเคยพบในอดีตที่มีการส่งกลับจากวิธีขอวีซ่าแบบนี้ ทำให้เขาต้องปฏิเสธเราเพื่อความแน่ใจ&lt;/p&gt;

&lt;p&gt;คืนนั้น อ.กิตติ์ จึงพาไปพักที่โรงแรมใกล้ ๆ สนามบิน และพยายามติดต่อขอหลักฐานเพิ่มเติมจากเจ้าภาพ แต่เวลานั้นที่บอสเนียเลย ๕ โมงเย็นซึ่งเป็นเวลาเลิกงานแล้ว จึงต้องรอดำเนินการในวันรุ่งขึ้น ซึ่งจะเริ่มได้ก็ตรงกับเวลาบ่ายโมงในบ้านเราเป็นอย่างเร็ว และเขายังขอหลักฐานเพิ่มเติมของเรา คือสำเนาหนังสือเดินทาง ซึ่งในยามฉุกละหุกอย่างนั้นก็มีแต่ภาพถ่ายจากกล้องมือถือเท่านั้นที่เราทำได้&lt;/p&gt;

&lt;p&gt;จากนั้น คืนวันที่ ๒๑ ต่อครึ่งเช้าของวันที่ ๒๒ เราจึงทำได้แต่เพียงนั่งรอ.. ก็อ่านหนังสือหรือทำงานไปตามเรื่อง ผมเองนั่งอ่านภาพถ่ายใบลานอักษรอีสานที่ได้ดาวน์โหลดมาเก็บไว้ ทั้งอักษรธรรมและไทยน้อย จนสามารถอ่านได้หลายส่วน จึงทยอยปริวรรตเก็บไว้ และทำให้เจอกรณีเพิ่มเติมให้แก้ฟอนต์เพิ่มอีก&lt;/p&gt;

&lt;p&gt;ช่วงบ่ายวันที่ ๒๒ หลังจากเช็กเอาต์โรงแรมแล้ว ก็นั่งรออีเมลอยู่ที่ล็อบบี้ จนราวเกือบ ๕ โมงเย็นจึงมีเมลตอบกลับมาพร้อมหนังสือที่มีลายเซ็นเจ้าหน้าที่ เราจึงนำไปพิมพ์ออกกระดาษด้วยบริการของโรงแรม แล้วพยายามโทรติดต่อสายการบิน แต่โครงข่าย DTAC เจ้ากรรมดันมาเสียในช่วงเวลานั้น โทรออกไปไหนไม่ได้เลย แม้แต่โทรหากันเอง จึงตัดสินใจนั่งลีมูซีนของโรงแรมไปสนามบินเลย แล้วไปลุ้นเอาที่เคาน์เตอร์เช็กอินกันเลย&lt;/p&gt;

&lt;p&gt;เนื่องจากเป็นเที่ยวบินดึก กว่าเคาน์เตอร์จะเปิดก็สองทุ่ม ก็เดินโต๋เต๋ในสนามบินโดยพยายามทำใจให้ผ่อนคลาย จนเคาน์เตอร์เปิดก็ตรงเข้าไปยื่นหลักฐาน คราวนี้เจ้าหน้าที่ยอมให้เช็กอิน และพยายามหาที่นั่งว่างในเที่ยวบินคืนนั้นให้ โดยบอกให้เราไปถ่ายเอกสารหนังสือรับรองเพิ่มด้วย เพื่อเอาไว้ใช้อีกสองครั้ง คือเมื่อไปเปลี่ยนเครื่องที่อิสตันบูล และอีกครั้งเมื่อไปขอวีซ่าที่ซาราเจโว&lt;/p&gt;

&lt;p&gt;เป็นอันอุ่นใจว่าได้ไปแน่ แต่ยังต้องลุ้นต่อว่าจะเจออุปสรรคทำนองนี้ระหว่างทางอีกหรือเปล่า&lt;/p&gt;

&lt;p&gt;เกือบตีสามของวันที่ ๒๓ ตามเวลาที่อิสตันบูล อ.กิตติ์กับผมก็ลงเครื่องมารอต่อเครื่องที่จะออกตอนเที่ยงไปซาราเจโว พยายามจะงีบแต่ก็ไม่หลับ นาฬิกาชีวะซึ่งเป็นเวลา ๗ โมงเช้าแล้วมันตื่นตัวเรียบร้อย เลยได้แต่นั่งอ่านหนังสือพิมพ์รอ &lt;em&gt;เป็นไม่กี่ครั้งที่อ่านหนังสือพิมพ์จนครบทุกหน้า!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;เกือบเที่ยง จึงไปขึ้นเครื่อง คราวนี้เจ้าหน้าที่ให้ผ่านโดยง่าย ไม่ถามหาแม้กระทั่งหนังสือรับรองที่ว่านั้น!&lt;/p&gt;

&lt;p&gt;ราวเกือบบ่ายสองของวันที่ ๒๓ ตามเวลาที่ซาราเจโว (นาฬิกาชีวะเป็นเวลา ๑ ทุ่ม) พวกเราลงจากเครื่องมาผ่าน ต.ม. อ.กิตติ์ชวนไปติดต่อที่ห้องวีซ่าเลย แต่ห้องปิด จึงมาต่อแถวตรวจหนังสือเดินทางตามปกติ เจ้าหน้าที่ก็คัดแยกให้เรามาขอวีซ่าก่อน เจออุปสรรคอีกครั้งเมื่อเจ้าหน้าที่บอกว่าเราจะต้องจ่ายค่าวีซ่าเป็นเงิน KM ซึ่งเป็นสกุลเงินของบอสเนียเท่านั้น แต่เราถือแต่เงินยูโรและดอลลาร์สหรัฐกันมา และขณะนั้นเคาน์เตอร์แลกเงินในสนามบินปิดแล้ว! (สนามบินนานาชาติซาราเจโว ขนาดพอ ๆ กับสนามบินขอนแก่น มีรันเวย์เดียว มีที่จอดเครื่องบินได้ไม่เกินสองลำ และทั้งสนามบินมีเคาน์เตอร์แลกเงินเพียงเคาน์เตอร์เดียว!)&lt;/p&gt;

&lt;p&gt;เจ้าหน้าที่บอกว่า จะต้องให้คนบอสเนียมาจ่ายเงินให้เรา จึงโทรติดต่อเจ้าภาพ ซึ่งตอนนี้อยู่ที่ Banja Luka กัน ถ้าจะเดินทางมาต้องใช้เวลา ๕-๖ ชั่วโมง แต่เจ้าภาพเจรจากับเจ้าหน้าที่จนได้ ว่าให้เราจ่ายค่าวีซ่าไปก่อน แล้วไปเบิกคืนกับเขา โดยพยายามหาแลกเงินกับใครก็ได้ในสนามบินไปก่อน อ.กิตติ์ถือเงินยูโร ผมถือเงินดอลลาร์สหรัฐ (ผมไม่ได้แลกเงินยูโรไป เพราะยังมีเงินดอลลาร์สหรัฐตกค้างจากการไปต่างประเทศครั้งก่อน ๆ ที่ยังไม่ได้แลกคืนอยู่ และเราไม่สามารถแลกเงิน KM จากเมืองไทยได้ ไม่มีธนาคารไหนให้แลก) เงินยูโรมีโอกาสแลกได้สูงกว่า เขาจึงพา อ.กิตติ์ เข้าไปหาแลกเงินจากคนในสนามบิน ก็ได้เงิน KM กลับมาจ่ายค่าธรรมเนียม &lt;em&gt;และในที่สุดเราก็ได้วีซ่า!&lt;/em&gt; และได้ประทับตราเข้าเมืองได้ (เป็นอีกครั้งที่อยากใช้คำว่า &lt;q&gt;ปลาบปลื้มน้ำตาไหล&lt;/q&gt;)&lt;/p&gt;

&lt;p&gt;จากนั้น จึงต้องยอมจ่ายค่าแท็กซี่เป็นเงินยูโรไปก่อน (ซึ่งมีโอกาสโดนโขกสูง) เพื่อไปสถานีรถบัสที่จะไป Banja Luka อ.กิตติ์พยายามหาที่แลกเงินจนได้ โดยเจ้าหน้าที่บอกว่าสามารถแลกเงินได้ที่ที่ทำการไปรษณีย์ใกล้ ๆ นั้น&lt;/p&gt;

&lt;p&gt;บ่ายสามโมงครึ่ง รถบัสออก ทางที่จะไป Banja Luka นั้น ผ่านภูเขาหลายลูก ทิวทัศน์ข้างทางสวยงามน่าดูชมทีเดียว มีเขาเตี้ย ๆ แต่มีเมฆปกคลุมยอดเขาซึ่งหลายแห่งเป็นหน้าผาชัน ชวนให้นึกถึงคำว่า &lt;em&gt;ขุนเขายะเยือก&lt;/em&gt; บทกวีของฮั่นชาน มีบ้านคนอยู่ตามเชิงเขาเรียงรายขึ้นไปบนเขาแม้ในที่สูง ๆ คล้ายการตั้งบ้านเรือนของชาวเขาที่เคยเห็นที่ภาคเหนือของไทย และที่สังเกตได้คือ จะเห็นบ้านข้างทางปลูกข้าวโพดในบริเวณบ้านกันเป็นปกติ เป็นแปลงเล็กบ้างใหญ่บ้าง หรือบางบ้านปลูกแค่เป็นแถวคล้ายไม้ประดับ แต่ดูเหมือนจะเป็นสิ่งที่ขาดไม่ได้สำหรับบ้านคนแถวนี้ แปลกดี&lt;/p&gt;

&lt;p&gt;ระหว่างทาง บางช่วงมีลำธารสายใหญ่แทรกระหว่างกลางหน้าผาสูงชัน ซึ่งถนนที่เราผ่านนั้นอยู่บนฝั่งหนึ่งของหน้าผานั้น เป็นภาพทิวทัศน์ที่แปลกตาพอสมควร&lt;/p&gt;

&lt;p&gt;เราชมวิวทิวทัศน์และคุยกันได้แค่ประมาณครึ่งทาง หรืออาจจะไม่ถึงก็ไม่อาจรู้ได้ เพราะที่เหลือนั้นหลับตลอดทาง อันเนื่องมาจากทางวกวนอ้อมเขา ประกอบกับนาฬิกาชีวะที่ตอนนั้นเลยเวลานอนแล้ว เป็นการหลับที่ไม่เรียกว่าอิ่มได้ เพราะยังคงรู้สึกตัวตื่นในรถเป็นระยะ ๆ ประกอบกับแสงอาทิตย์ข้างนอกที่ไม่มีทีท่าว่าจะมืดลงง่าย ๆ ผมสาบานได้ว่ายังเห็นคนตกปลากันอยู่ในลำธารข้างล่างราวกับเป็นกลางวัน ในขณะที่นาฬิกาในรถบอกเวลาสองทุ่มแล้ว! จนกระทั่งสามทุ่มนั่นแหละ ที่ฟ้าจะเริ่มแดงและมืดลงอย่างรวดเร็ว&lt;/p&gt;

&lt;p&gt;ระหว่างทางรถบัสจอดแวะให้เข้าห้องน้ำที่ปั๊มน้ำมัน ทำให้ได้สังเกตป้ายราคาน้ำมัน ที่นี่น้ำมันดีเซลแพงเท่าน้ำมันเบนซิน โดยดีเซลบางชนิดแพงกว่าด้วยซ้ำ ราคาก็ตกลิตรละ ๒.๓๐ KM ก็ราว ๆ ๕๐ บาท&lt;/p&gt;

&lt;p&gt;เกือบสี่ทุ่ม รถบัสส่งเราลงที่สถานี Banja Luka เรานั่งแท็กซี่ต่อมาที่โรงแรมเพื่อเช็กอิน รับคูปองมาทานอาหารเย็นแล้วเข้าห้องพักหลับเป็นตาย นับเวลาเดินทางตั้งแต่ออกจากกรุงเทพฯ ก็ราว ๒๘ ชั่วโมง&lt;/p&gt;

&lt;p&gt;เรื่องนี้สอนให้รู้ว่า ชีวิตจะง่ายขึ้นมากถ้าพยายามขอวีซ่าให้เรียบร้อยตั้งแต่ก่อนออกเดินทาง ซึ่งถ้าไม่ติดขัดเงื่อนไขที่ว่าไป ผมก็ควรไปขอวีซ่าที่มาเลเซียตั้งแต่แรก ครั้งนี้นับว่าโชคดีที่มากับผู้มีประสบการณ์การเดินทางอย่าง อ.กิตติ์ ไม่งั้นคงลำบากลำบนกว่านี้มาก&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3293462937136261013?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3293462937136261013/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/07/finally-in-banja-luka.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3293462937136261013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3293462937136261013'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/07/finally-in-banja-luka.html' title='Finally in Banja Luka'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4485778718095910231</id><published>2011-07-14T17:05:00.001+07:00</published><updated>2011-07-14T17:08:03.144+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><title type='text'>Esaan Tham Font with GSUB</title><content type='html'>&lt;p&gt;ทิ้งค้างไว้จาก &lt;a href="http://thep.blogspot.com/2011/03/thai-languages-scripts.html"&gt;blog ที่แล้ว&lt;/a&gt; เสียนาน ก็เพิ่งได้โอกาสกลับมาทำ &lt;a href="http://linux.thai.net/~thep/esaan-scripts/"&gt;โครงการอักษรอีสาน&lt;/a&gt; ต่อ โดยหลังจากที่ได้ glyph ต่าง ๆ เรียบร้อยแล้ว ก็ถึงคราวทำเรื่องกฎการแสดงข้อความ&lt;/p&gt;

&lt;p&gt;ดังที่ได้&lt;a href="http://linux.thai.net/~thep/esaan-scripts/#todo"&gt;อธิบายไว้&lt;/a&gt; ว่าอักษรธรรมในยูนิโค้ดจะลงรหัสในข้อความในลำดับที่เรียกว่า &lt;em&gt;&lt;q&gt;logical order&lt;/q&gt;&lt;/em&gt; ตามแบบอักษรอินเดีย (ซึ่งจากการที่โดน&lt;a href="http://linux.thai.net/~thep/thai-vs-indic.html"&gt;กระแนะกระแหน&lt;/a&gt;บ่อย ๆ ว่าอักษรไทยกับลาวเป็น &lt;q&gt;ข้อยกเว้น&lt;/q&gt; ของ logical order สำหรับอักษรในตระกูลเดียวกัน ราวกับว่าสองอักษรนี้ไม่ &lt;q&gt;logical&lt;/q&gt; กระนั้น ก็ทำให้ผมอยากจะเรียก &lt;em&gt;&lt;q&gt;logical order&lt;/q&gt;&lt;/em&gt; เสียใหม่ว่า &lt;em&gt;&lt;q&gt;phonetic order&lt;/q&gt;&lt;/em&gt;) ซึ่งลำดับการเก็บแบบ logical order หรือ phonetic order นี้ แตกต่างจากลำดับที่แสดงผลจริงซึ่งเรียกว่า &lt;em&gt;&lt;q&gt;visual order&lt;/q&gt;&lt;/em&gt; ทำให้ต้องมีการเรียงลำดับ glyph เสียใหม่ขณะแสดงผล&lt;/p&gt;

&lt;p&gt;เนื่องจากทางเลือกอื่น คือการรอให้ rendering engine รองรับอักษรธรรม หรือการรอให้ไมโครซอฟท์จัดทำข้อกำหนดของการแสดงอักษรธรรมด้วย OpenType เป็นเรื่องที่ไม่สามารถสำเร็จได้ในเวลาอันสั้น ผมจึงจำเป็นต้องใช้วิธีสร้างกฎ GSUB ให้สามารถวาดแสดงได้ในตัวเองโดยไม่พึ่ง preprocessing ใน rendering engine เลย&lt;/p&gt;

&lt;p&gt;โจทย์หนักที่สุดคือการสลับลำดับสระหน้า เพราะ GSUB ไม่มีรูปแบบกฎที่ซับซ้อนพอที่จะเขียนการสลับ AB เป็น BA ได้ เครื่องมือที่มีให้คือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; Multiple substitution คือการแทน glyph 1 glyph ด้วย glyph string เช่น A → XYZ &lt;/li&gt;
  &lt;li&gt; Ligature substitution คือการแทน glyph string ด้วย glyph 1 glyph เช่น XYZ → A &lt;/li&gt;
  &lt;li&gt; Contextual substitution คือการกำหนด substitution (multiple หรือ ligature ข้างต้น) ที่จะกระทำเมื่อพบแพตเทิร์นที่กำหนด เช่น ถ้าพบ abc ให้ใช้กฎ P ที่ตำแหน่ง glyph ที่ 2 เป็นต้น &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ยังมี substitution แบบอื่นอีกพอประมาณ แต่ก็ไม่ได้มีความสามารถมากไปกว่านี้ ซึ่งจะพบว่าการเขียนกฎง่าย ๆ แค่ AB → BA นั้น ไม่ใช่เรื่องง่ายเอาเสียเลย แต่โชคดีที่เผอิญไปได้เคล็ดวิชาจากเพื่อนชาวพม่ามาว่าเขามีลูกสูตรกันแบบนี้:&lt;/p&gt;

&lt;blockquote&gt;
AB → BAB [Mul. A → BA]&lt;br /&gt;
BAB → BA [Lig. AB → A]
&lt;/blockquote&gt;

&lt;p&gt;คือใช้ contextual 2 กฎ, multiple 1 กฎ และ ligature อีก 1 กฎ โดย contextual นั้นสามารถกำหนดแพตเทิร์นเป็นคลาสได้ แต่ multiple และ ligature นั้น ต้องลิสต์ทุก combination แบบเรียงตัวเท่านั้น&lt;/p&gt;

&lt;p&gt;เนื่องจากรูปแบบระหว่างทาง (คือ BAB ในตัวอย่างข้างต้น) นั้นสุ่มเสี่ยงที่จะไปชนกับข้อความจริง ผมจึงดัดแปลงกฎเสียใหม่เป็นแบบนี้:&lt;/p&gt;

&lt;blockquote&gt;
AB → BA&lt;em&gt;x&lt;/em&gt;B [Mul. A → BA&lt;em&gt;x&lt;/em&gt;]&lt;br /&gt;
BA&lt;em&gt;x&lt;/em&gt;B → BA [Lig. A&lt;em&gt;x&lt;/em&gt;B → A]
&lt;/blockquote&gt;

&lt;p&gt;โดย &lt;em&gt;x&lt;/em&gt; เป็น dummy ตัวหนึ่งที่ใส่เข้ามาเพื่อป้องกันการ match กับข้อความจริง จะเลือก glyph อะไรก็ได้ที่ไม่มีที่ใช้ในข้อความจริง&lt;/p&gt;

&lt;p&gt;และในบางกฎ ก็เหมาะที่จะทำข้างหลังก่อน ซึ่งจะทำให้ลดจำนวนกฎ contextual ลงได้:&lt;/p&gt;

&lt;blockquote&gt;
AB → A&lt;em&gt;x&lt;/em&gt;BA [Mul. B → &lt;em&gt;x&lt;/em&gt;BA]&lt;br /&gt;
A&lt;em&gt;x&lt;/em&gt;BA → BA [Lig. A&lt;em&gt;x&lt;/em&gt;B → B]
&lt;/blockquote&gt;

&lt;p&gt;ได้สูตรแบบนี้แล้ว ผมก็มานั่งออกแบบกฎ GSUB สำหรับอักษรธรรมอีสานได้แล้ว โดยหลังจากประมวลอักขรวิธีต่าง ๆ แล้ว ก็สรุปเป็นขั้นตอนการทำงานดังนี้:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt; สลับลำดับ &lt;em&gt;ไม้อังแล่น&lt;/em&gt; (ง สะกดเหนือพยัญชนะ) ในภาษาบาลี
&lt;pre&gt;
  NGA-above + SAKOT + Cons --&amp;gt; Cons + NGA-above
&lt;/pre&gt;
       &lt;/li&gt;
  &lt;li&gt; เปลี่ยนพยัญชนะเป็นรูปตัวห้อย/ตัวเฟื้องเมื่อตามหลัง &lt;code&gt;SAKOT&lt;/code&gt;
&lt;pre&gt;
  SAKOT + Cons --&amp;gt; Cons.sub
&lt;/pre&gt;
       &lt;/li&gt;
  &lt;li&gt; สลับลำดับสระหน้า
&lt;pre&gt;
  Cons + [sub|medial-RA] + LV --&amp;gt; LV + Cons + [sub|medial-RA]
&lt;/pre&gt;
       &lt;/li&gt;
  &lt;li&gt; สลับลำดับ &lt;em&gt;ระวง&lt;/em&gt;
&lt;pre&gt;
  Cons + medial-RA --&amp;gt; medial-RA + Cons
&lt;/pre&gt;
       &lt;/li&gt;
  &lt;li&gt; จัดการรูปย่อ &lt;em&gt;น + า&lt;/em&gt; แบบซับซ้อน
&lt;pre&gt;
  NA + {sub|tone|UV|BV} + AA --&amp;gt; NAA + {sub|tone|UV|BV}
&lt;/pre&gt;
       &lt;/li&gt;
  &lt;li&gt; จัดการรูปย่อทั่วไป
&lt;pre&gt;
  NA + AA --&amp;gt; NAA
  WA + tall-AA --&amp;gt; WAA
&lt;/pre&gt;
       &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;หลังจากได้ลำดับกฎแล้ว ก็มา implement กฎแต่ละกฎด้วยสูตรข้างต้น โดยมีเคล็ดในการลดจำนวนกฎอยู่ว่า ให้พยายามเลือกเซ็ตที่ใหญ่ที่สุด (เช่น พยัญชนะ) เป็นตัวแปลง แล้วไปลิสต์รายการในตาราง multiple/ligature substitution เป็นหมวด ๆ เอา จะทำให้ได้จำนวนหมวดน้อย จัดการในระดับบนได้ง่าย ถ้าเราไปเลือกแปลงเซ็ตเล็ก (เช่น สระหน้า) แทน จะทำให้ได้หมวดเล็ก ๆ จำนวนมาก จำนวน contextual substitution มาก จัดการในระดับบนได้ลำบาก&lt;/p&gt;

&lt;p&gt;หมายเหตุ: แม้จะลดปริมาณกฎลงแล้ว แต่ก็ยังมากอยู่ดี ทำใน fontforge อย่างเดียวไม่ไหว งานนี้สำเร็จได้ด้วย vim ครับ ;-)&lt;/p&gt;

&lt;p&gt;ทำฟอนต์เสร็จแล้ว ก็ทำ &lt;a href="http://linux.thai.net/~thep/esaan-scripts/tham-test-woff.html"&gt;หน้าทดสอบฟอนต์&lt;/a&gt; เอาไว้ด้วย โดยฝังฟอนต์ลงในเว็บเลย เปิดด้วย Firefox/Iceweasel ตั้งแต่รุ่น 4 ขึ้นไปได้ผลดี ส่วน Chrome/Chromium หรือเบราว์เซอร์อื่นที่ใช้ WebKit (เช่น Epiphany, Midori) นั้น แสดงอักษรได้อยู่ แต่กฎ GSUB จะไม่ทำงาน ทำให้ลำดับการแสดงไม่ใช่ลำดับสำหรับมนุษย์อ่าน ส่วน IE ไม่มีให้ทดสอบครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4485778718095910231?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4485778718095910231/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/07/esaan-tham-font-with-gsub.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4485778718095910231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4485778718095910231'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/07/esaan-tham-font-with-gsub.html' title='Esaan Tham Font with GSUB'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3760754895754819823</id><published>2011-06-28T14:44:00.003+07:00</published><updated>2011-06-28T15:30:00.666+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libthai'/><category scheme='http://www.blogger.com/atom/ns#' term='scim'/><title type='text'>scim-thai 0.1.2</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/node/241"&gt;scim-thai 0.1.2&lt;/a&gt; ออกไปแล้วเมื่อวานนี้ ก็คงเป็นตัวสุดท้ายในการปรับรุ่นแพกเกจต่าง ๆ ใน linux.thai.net ระลอกนี้ (แต่ไม่ใช่หมดแค่นี้ อาจมีการออกรุ่นตัวอื่นที่ได้ปรับรุ่นไปแล้วอีกถ้าจำเป็น)&lt;/p&gt;

&lt;p&gt;สำหรับ scim-thai รุ่นนี้ ถือเป็น maintenance release คือไม่ได้มีการเพิ่มความสามารถใหม่อะไร แต่เป็นการแก้ปัญหาเล็ก ๆ น้อย ๆ เกี่ยวกับระบบ build ที่ตรวจพบในช่วง 3 ปีที่ผ่านมา กล่าวคือ&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ปรับการ config การแปลข้อความด้วย gettext จาก &lt;code&gt;gettextize&lt;/code&gt; ให้มาใช้ autopoint แทน ซึ่งทำให้ปรับข้อมูล PO ได้แนบเนียนไร้ร่องรอยมากขึ้น &lt;/li&gt;
  &lt;li&gt; แก้ปัญหาการคอมไพล์ในกรณีที่ libthai ไม่ได้ติดตั้งไว้ในพาธมาตรฐาน เป็นปัญหาที่พบในระหว่างพัฒนา libthai ซึ่งต้องติดตั้งแยกต่างหากจาก libthai ของระบบ แล้วทำให้พบว่า make rule ของ scim-thai ยังติดปัญหาการคอมไพล์กับ libthai ที่แยกติดตั้งต่างหากนี้อยู่ กลายเป็นกรณีตัวอย่างให้อุดรูรั่ว &lt;/li&gt;
  &lt;li&gt; แก้ปัญหาเรื่องการกำหนด &lt;code&gt;LDFLAGS&lt;/code&gt; ซึ่งพบระหว่างที่จะ build แพกเกจ Debian รุ่นใหม่โดยปรับการ build ให้ใช้แฟล็ก "&lt;code&gt;-Wl,--as-needed&lt;/code&gt;" แล้วพบว่าแฟล็กนี้ไม่มีผล ตรวจสอบแล้วพบว่าเป็นปัญหาการใช้ target &lt;code&gt;*_LDFLAGS&lt;/code&gt; ใน &lt;code&gt;Makefile.am&lt;/code&gt; ในการเพิ่มไลบรารีให้กับมอดูล ซึ่งพอสคริปต์ &lt;code&gt;configure&lt;/code&gt; กำหนด &lt;code&gt;LDFLAGS=-Wl,--as-needed&lt;/code&gt; แล้ว แฟล็กนี้มันจะไปต่อท้ายค่าใน target &lt;code&gt;*_LDFLAGS&lt;/code&gt; อีกที ซึ่งผมดันไปลิสต์ไลบรารีในนั้นเสียแล้ว ค่า &lt;code&gt;LDFLAGS&lt;/code&gt; จากการ configure ก็เลยไปต่อท้ายอยู่หลังรายชื่อไลบรารี จึงไม่มีผลกับไลบรารี ที่ถูกแล้ว ต้องใช้ target &lt;code&gt;*_LIBADD&lt;/code&gt; ในการเพิ่มไลบรารีแทน ชื่อไลบรารีจึงจะมาอยู่หลัง &lt;code&gt;LDFLAGS&lt;/code&gt; ในคำสั่งคอมไพล์ เป็นปัญหาที่มาดูทีหลังก็งง ว่าตอนนั้นผมทำแบบนั้นไปได้อย่างไร ทำให้ต้องมางมอยู่นานกว่าจะเจอ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;สำหรับผู้ที่สนใจเรื่องการใช้แฟล็ก &lt;code&gt;--as-needed&lt;/code&gt; ของลิงเกอร์ ก็ขออธิบายสักหน่อย&lt;/p&gt;

&lt;p&gt;แฟล็ก &lt;code&gt;--as-needed&lt;/code&gt; ใช้เพื่อให้ object file ที่ได้นั้น ลิงก์เฉพาะกับไลบรารีที่มีการใช้ symbol โดยตรงเท่านั้น (ตรวจสอบการลิงก์ได้ด้วยคำสั่ง &lt;code&gt;objdump -p &lt;em&gt;{so/exe-file}&lt;/em&gt;&lt;/code&gt; แล้วดูที่บรรทัด &lt;code&gt;NEEDED&lt;/code&gt; ทั้งหลายใน Dynamic Section)&lt;/p&gt;

&lt;p&gt;กล่าวคือ สมมติว่า object file ของเรามีการเรียกใช้ libA และ libB โดย libA ไปลิงก์กับ libP, libQ อีกที เวลาลิงก์จะต้องใส่ไลบรารีทั้งหมดที่ใช้ คือเป็น "&lt;code&gt;-lA -lB -lP -lQ&lt;/code&gt;" และลิงเกอร์ก็จะลิงก์ทุกไลบรารีเข้ามาใน object file ของเรา นี่คือกรณีปกติ&lt;/p&gt;

&lt;p&gt;การลิงก์ดังกล่าวมีปัญหาในทางปฏิบัติ เพราะไลบรารีต่าง ๆ มีการต่อยอดกันเป็นทอด ๆ หลายชั้น เช่น เฉพาะ GTK+ ก็มีไลบรารีลูกต่อพ่วงมาอีกถึง 44 ตัว:&lt;/p&gt;

&lt;pre&gt;
$ &lt;strong&gt;ldd /usr/lib/libgtk-3.so.0.0.10 | wc -l&lt;/strong&gt;
44
&lt;/pre&gt;

&lt;p&gt;ในนี้ก็มีตั้งแต่ pango, glib, ati, cairo, freetype, libxcb และพรรคพวกอีกมากมาย และการลิงก์เฉพาะ GTK+ เข้ามาในโปรแกรมของเรา ก็จะต้องลิงก์ไลบรารีเหล่านี้เข้ามาทั้งหมด ทั้งที่ไม่มีการเรียกใช้ฟังก์ชันโดยตรงเลยก็ตาม&lt;/p&gt;

&lt;p&gt;ความจริง ตอน run-time ก็จะต้องโหลดไลบรารีเหล่านี้เข้ามาทั้งหมดอยู่แล้ว ไม่งั้น GTK+ ก็ทำงานไม่ได้ อ้าว แล้วถ้างั้นมีปัญหาอะไร?&lt;/p&gt;

&lt;p&gt;ปัญหาก็คือ การลิงก์ตรงกับไลบรารีใด ๆ จะหมายถึงการเกิด dependency ระหว่างแพกเกจของไลบรารีที่ลิงก์กันนั้น ทำให้ระบบแพกเกจโดยรวมมี dependency จำนวนมโหฬารเกินความจำเป็น และจะเป็นอุปสรรคต่อการขยับไลบรารีหนึ่ง ๆ ขึ้นสู่ major version ใหม่ (ซึ่งอาจไม่ ABI compatible กับรุ่นเก่า) เพราะจะต้องตามไป rebuild แพกเกจทั้งหมดที่ลิงก์ตรงกับมันอยู่ กลายเป็นปริมาณงานที่มากเกินจำเป็น ในเมื่อโปรแกรมคุณแค่ใช้ฟังก์ชันของ GTK+ เท่านั้น ทำไมจะต้องไป rebuild เมื่อมีการปรับ major version ของ cairo หรือ freetype ด้วย? สู้ให้เรื่องพวกนี้มัน encapsulate อยู่ในแพกเกจ GTK+ เท่านั้นไม่ดีหรือ?&lt;/p&gt;

&lt;p&gt;นี่จึงเป็นที่มาของการใช้แฟล็ก &lt;code&gt;--as-needed&lt;/code&gt; ในการ build แพกเกจของ distro ต่าง ๆ เพื่อให้มีการลิงก์เฉพาะกับไลบรารีที่มีการใช้ symbol โดยตรงเท่านั้น แล้วเวลาโหลดหรือติดตั้ง มันก็จะทำงานเป็นทอด ๆ ตามลำดับ dependency เอง ถ้ามีการปรับ major version ก็จะ rebuild เฉพาะแพกเกจที่มีการเรียกใช้ symbol โดยตรงเท่านั้น&lt;/p&gt;

&lt;p&gt;บางคนอาจถามว่า แล้วทำไมไม่แค่ลิงก์แบบ "&lt;code&gt;-lgtk-3-0&lt;/code&gt;" กับแพกเกจที่ใช้ GTK+ ก็พอล่ะ? ไม่ต้องแถมพ่วงพวก pango, glib ฯลฯ มาด้วยก็ได้ คำตอบคือการลิงก์แบบนี้ไม่ portable ครับ ลิงเกอร์ของ GNU อาจทำได้ แต่ยูนิกซ์ทั่วไปทำไม่ได้ ต้องใส่ library ที่ต้องการตามลำดับให้ครบด้วยจึงจะลิงก์ผ่าน (เข้าใจว่ามาจากวิธีลิงก์แบบ static ที่ต้องมีไลบรารีครบ) ดังนั้น พวก link flags ที่ได้จาก &lt;code&gt;pkg-config&lt;/code&gt; จึงมีไลบรารีที่ต้องใช้แถมพ่วงมาทั้งหมดเสมอ แล้วลิงเกอร์ของ GNU สามารถมาคัดออกอีกทีด้วยตัวเลือก &lt;code&gt;--as-needed&lt;/code&gt; ได้&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3760754895754819823?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3760754895754819823/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/scim-thai-012.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3760754895754819823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3760754895754819823'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/scim-thai-012.html' title='scim-thai 0.1.2'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2772949616499702647</id><published>2011-06-21T11:47:00.003+07:00</published><updated>2011-06-21T12:02:05.666+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debianclub'/><category scheme='http://www.blogger.com/atom/ns#' term='localization'/><category scheme='http://www.blogger.com/atom/ns#' term='xorg'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Thai Numpad Experiment</title><content type='html'>&lt;p&gt;จาก &lt;a href="http://thep.blogspot.com/2011/06/case-of-sarabun-it9.html"&gt;กรณีฟอนต์ Sarabun IT9&lt;/a&gt; ที่ผมได้ทิ้งท้ายไว้เรื่องวิธีแก้ปัญหาที่ถูกหลักการ โดยควรแก้ที่ระบบป้อนข้อความ (input method) ผมจึงทดลองดัดแปลงผังแป้นพิมพ์ไทยให้สามารถล็อคแป้นตัวเลข (numpad) ให้เป็นเลขไทยได้&lt;/p&gt;

&lt;p&gt;เพื่อกำหนด spec เบื้องต้น ผมจึงได้ขอความเห็นสมาชิก &lt;a href="https://www.facebook.com/home.php?sk=group_223479904332239"&gt;DebianClub Gang&lt;/a&gt; ใน Facebook ดู ซึ่งมีความเห็นทั้งแบบที่เห็นว่าควรให้แป้นตัวเลขพิมพ์เลขไทยในโหมดภาษาไทยไปเลย, แบบที่เสนอว่าควรให้มีตัวเลือก config ผังแบบปกติและแบบพิมพ์เลขไทย และแบบที่เสนอว่าควรให้มีปุ่มสำหรับล็อคตัวเลขไทย&lt;/p&gt;

&lt;p&gt;ก็ทดลองทำทีละขั้น ได้ผังรุ่นต่าง ๆ ดังนี้:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt; สร้างผังอีกชุดหนึ่งต่างหาก (&lt;code&gt;basic_thaipad&lt;/code&gt;, &lt;code&gt;pat_thaipad&lt;/code&gt;, &lt;code&gt;tis_thaipad&lt;/code&gt;) ซึ่งแป้นตัวเลขจะกดได้เลขไทยเสมอในโหมดภาษาไทย วิธีนี้ผู้ใช้ต้องเลือก layout พิเศษเอาเองตอน config &lt;/li&gt;
  &lt;li&gt; ใช้ XKB option &lt;code&gt;"keypad:aldig"&lt;/code&gt; ในการเพิ่มการป้อนเลขไทยเข้าในผังชุดเดิม แทนการเปลี่ยน layout วิธีนี้ผู้ใช้ไม่ต้องแก้ config ส่วน layout แต่ต้องเพิ่ม XKB option เอา &lt;/li&gt;
  &lt;li&gt; กำหนดปุ่ม ScrollLock เพื่อใช้ล็อคแป้นตัวเลขในโหมดภาษาไทยให้กดได้เลขไทย ถ้าไม่ล็อคก็ได้เลขอารบิกเหมือนเดิม (เสนอโดย Dr.Mamazaki J. Kasookie) วิธีนี้ผู้ใช้ไม่ต้อง config อะไรเพิ่มเลย &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;รุ่นสุดท้ายนี้เอง ที่เป็นรุ่นที่เริ่มเผยแพร่ให้ทดลองใช้เพื่อขอความเห็น โดยได้แปะประกาศไว้ที่ &lt;a href="http://debianclub.org/node/627"&gt;debianclub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;รายละเอียดทางเทคนิคของผังนี้ก็คือ ต้องใช้ปุ่มแบบ 8 ระดับ โดยต้องเพิ่ม type ของปุ่มแบบ "&lt;code&gt;EIGHT_LEVEL_KEYPAD&lt;/code&gt;" ที่ยังไม่มีข้อกำหนดใน XKB ปัจจุบัน&lt;/p&gt;

&lt;p&gt;สาเหตุที่ต้องใช้ปุ่มแบบ 8 ระดับก็เพราะจำเป็นต้องหลบปุ่มระดับ 3 ที่ใช้ในผัง &lt;code&gt;tis&lt;/code&gt; ที่ใช้ป้อนอังคั่นคู่ (๚) ซึ่งถ้ากำหนดให้ใช้เลขไทยที่ระดับ 3 แล้วใช้ ScrollLock ล็อคที่ระดับ 3 ก็จะทำให้ปุ่ม [น/ฯ] ถูกล็อคเป็น [๚] ตลอด ทำให้ป้อน น และ ฯ โดยไม่ปลด ScrollLock ไม่ได้ และจะใช้งานในกรณีปกติไม่สะดวก ส่วนระดับ 4 นั้น มีไว้สำหรับระดับ 3 ที่มีการกด Shift ดังนั้นจึงต้องเลื่อนขึ้นไปใช้ระดับ 5 ซึ่งจะมีในข้อกำหนดของปุ่มแบบ 8 ระดับที่เริ่มมีใน X protocol ตั้งแต่ xorg 7.0.8 เป็นต้นมา&lt;/p&gt;

&lt;p&gt;และเนื่องจาก XKB มีแต่ข้อกำหนด 8 ระดับสำหรับปุ่มปกติเท่านั้น ยังไม่มีข้อกำหนดสำหรับสำหรับ numpad จึงต้องกำหนดขึ้นเอง ซึ่งผมออกแบบไว้อย่างนี้ ซึ่งอาจตรงตามความต้องการของกรณีเรา แต่ภาษาอื่นจะว่าอย่างไรคงต้องถกกันอีกที:&lt;/p&gt;

&lt;table border="1"&gt;
  &lt;tr&gt;&lt;th&gt;Shift&lt;/th&gt;&lt;th&gt;NumLock&lt;/th&gt;&lt;th&gt;Level3&lt;/th&gt;&lt;th&gt;Level5&lt;/th&gt;&lt;th&gt;ผลลัพธ์&lt;/th&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 1&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 2&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 2&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 1&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 3&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 4&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 3&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;level 4&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 1&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 5&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 5&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 1&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 6&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 7&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;no&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 7&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;yes&lt;/td&gt;&lt;td&gt;level 6&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;หลักการคือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ปุ่ม NumLock จะใช้สลับโหมดระหว่างตัวเลข (level 2-7) กับลูกศร (level 1) ถ้า NumLock ล็อคอยู่ ปุ่ม numpad จะได้ตัวเลข แต่ถ้า NumLock ไม่ล็อค numpad จะกลายเป็นปุ่มลูกศร &lt;/li&gt;
  &lt;li&gt; ปุ่ม Shift ใช้เปลี่ยนปุ่ม numpad ให้เป็นโหมดตัวเลข มีค่าเท่ากับการล็อค NumLock แต่ถ้า NumLock กำลังล็อคอยู่ ปุ่ม Shift จะมีผลยกเลิก NumLock ซึ่งนี่เป็นพฤติกรรมปกติของ XKB &lt;/li&gt;
  &lt;li&gt; ปุ่ม Level3 (ปกติจะใช้ Right_Alt) จะยกแคร่ปุ่ม numpad ขึ้นสู่ระดับ 3 และถ้ามีการกด Shift ร่วมด้วย ก็จะยกแคร่ขึ้นสูร่ะดับ 4 ส่วนปุ่ม NumLock ไม่มีผลใด ๆ กับระดับ 3 ซึ่งนี่ก็เป็นพฤติกรรมปกติของ XKB เช่นกัน (นัยว่าระดับ 3 มักเป็นการยกแคร่ชั่วคราว ไม่ใช่การล็อค จึงมีผลทับการล็อคของ NumLock) &lt;/li&gt;
  &lt;li&gt; ปุ่ม Level5 (ในกรณีของเราใช้ ScrollLock) จะล็อคปุ่ม numpad ไว้ที่ระดับ 5 แต่จะมีผลหลังพิจารณา NumLock/Shift แล้วเท่านั้น การให้ NumLock มีความสำคัญสูงกว่าก็เพื่อความสะดวกในการสลับไปมาระหว่างการป้อนตัวเลขกับการใช้ปุ่มลูกศรนั่นเอง &lt;/li&gt;
  &lt;li&gt; ในระดับ 5 นี้ ปุ่ม Level3 จะมีผลในการยกแคร่ปุ่ม numpad จากระดับ 1 (NumLock ไม่ล็อค) ขึ้นสู่ระดับ 6 และจากระดับ 5 (NumLock ล็อคอยู่) ขึ้นสู่ระดับ 7 ตามลำดับ &lt;/li&gt;
  &lt;li&gt; ระดับ 8 ยังไม่มีที่ใช้ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;การกำหนด XKB type ของปุ่ม ต้องกำหนดไว้ละเอียดเพื่อ (พยายาม) ให้ครอบคลุมกรณีของภาษาต่าง ๆ แต่ในการกำหนดผังของเรา เราก็เพียงกำหนดระดับการยกแคร่ของปุ่ม numpad ง่าย ๆ แบบนี้:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ระดับ 1: เป็นปุ่มลูกศร, Home, End, PgUp, PgDn, Ins, Del &lt;/li&gt;
  &lt;li&gt; ระดับ 2: เป็นเลขอารบิก, จุดทศนิยม &lt;/li&gt;
  &lt;li&gt; ระดับ 3-8: เป็นเลขไทย, จุดทศนิยม &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;แต่ปุ่ม 8 ระดับนี้ จะมีผลเฉพาะเมื่ออยู่ในโหมดภาษาไทยเท่านั้น ส่วนเมื่ออยู่ในโหมดภาษาอังกฤษ ก็จะมีเพียง 2 ระดับแรกเท่านั้นตามปกติ&lt;/p&gt;

&lt;p&gt;ดังนั้น โดยสรุปสำหรับผู้ใช้ในกรณีใช้งานปกติก็คือ:&lt;/p&gt;

&lt;table border="1"&gt;
  &lt;tr&gt;&lt;th&gt;NumLock&lt;/th&gt;&lt;th&gt;ภาษา&lt;/th&gt;&lt;th&gt;ScrollLock&lt;/th&gt;&lt;th&gt;ผลลัพธ์&lt;/th&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;ไม่ล็อค&lt;/td&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;ลูกศร&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;ล็อค&lt;/td&gt;&lt;td&gt;US&lt;/td&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;เลขอารบิก&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;ล็อค&lt;/td&gt;&lt;td&gt;TH&lt;/td&gt;&lt;td&gt;ไม่ล็อค&lt;/td&gt;&lt;td&gt;เลขอารบิก&lt;/td&gt;&lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;ล็อค&lt;/td&gt;&lt;td&gt;TH&lt;/td&gt;&lt;td&gt;ล็อค&lt;/td&gt;&lt;td&gt;เลขไทย&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;หากต้องการทดสอบ ผม build deb สำหรับ &lt;code&gt;&lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/x/xkeyboard-config/"&gt;xkb-data&lt;/a&gt;&lt;/code&gt;เอาไว้ที่ &lt;a href="http://debianclub.org/node/352"&gt;debclub repository&lt;/a&gt; โดยอ่านข้อมูลสรุปสำหรับผู้ใช้ได้ที่ &lt;a href="http://debianclub.org/node/627"&gt;บทความที่ debianclub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;อย่างไรก็ดี การใช้งานอาจเกิดปัญหากับการใช้งาน IM module ของ GTK+ บางตัว กล่าวคือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ถ้าใช้ X Input Method (ค่าปริยาย) จะใช้ผังแป้นพิมพ์ใหม่นี้ได้ทันที &lt;/li&gt;
  &lt;li&gt; ถ้าใช้ Thai-Lao input method (มีมาใน GTK+ ให้เลือกได้) จะต้องใช้ &lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/g/gtk+2.0/"&gt;GTK+ 2&lt;/a&gt; และ &lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/g/gtk+3.0/"&gt;GTK+ 3&lt;/a&gt; ที่แพตช์แก้บั๊กแล้วจาก debclub repo จนกว่าบั๊ก &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=652720"&gt;GNOME #652720&lt;/a&gt; จะแก้ไขที่ต้นน้ำ &lt;/li&gt;
  &lt;li&gt; ถ้าใช้ Thai (libthai) จากแพกเกจ &lt;code&gt;gtk-im-libthai&lt;/code&gt; หรือ &lt;code&gt;gtk3-im-libthai&lt;/code&gt; จะต้องเป็น&lt;a href="http://thep.blogspot.com/2011/06/gtk-im-libthai-020.html"&gt;รุ่น 0.2.0 ขึ้นไป&lt;/a&gt; ขณะที่เขียนนี้ได้ upload เข้า unstable (sid) แล้ว แต่ยังต้องรอครบกำหนดจึงจะย้ายเข้า testing (wheezy) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ดังนั้น สำหรับตอนนี้จึงขอแนะนำให้ติดตั้งผ่าน &lt;a href="http://debianclub.org/node/352"&gt;debclub repository&lt;/a&gt; จะสะดวกที่สุดครับ ทดลองแล้วต้องการปรับแก้อะไรก็แนะนำเข้ามาได้ครับ ถ้าใช้การได้ดี ก็จะได้ผลักดันแพตช์ต่าง ๆ เข้าที่ต้นน้ำเพื่อให้มีผลกับทุก distro ต่อไป&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2772949616499702647?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2772949616499702647/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/thai-numpad-experiment.html#comment-form' title='5 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2772949616499702647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2772949616499702647'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/thai-numpad-experiment.html' title='Thai Numpad Experiment'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-477233405110444413</id><published>2011-06-19T15:31:00.001+07:00</published><updated>2011-06-19T15:33:21.585+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libthai'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debianclub'/><category scheme='http://www.blogger.com/atom/ns#' term='localization'/><title type='text'>gtk-im-libthai 0.2.0</title><content type='html'>&lt;p&gt;ออก &lt;a href="http://linux.thai.net/node/240"&gt;gtk-im-libthai 0.2.0&lt;/a&gt; ไปแล้วเมื่อวานซืน แต่เพิ่งมีเวลาได้เขียนบันทึกวันนี้เอง&lt;/p&gt;

&lt;p&gt;รุ่นนี้มีการเปลี่ยนแปลงที่สำคัญ คือพอร์ตโค้ดไปยัง GTK+ 3 โดยจะ build และติดตั้งมอดูลสำหรับทั้ง GTK+ 2 และ GTK+ 3 ตามแต่จะ configure โดยใช้ซอร์สเดียวกัน ทำให้รุ่นนี้ต้องการ GTK+ 2 รุ่น 2.21.8 ขึ้นไป ที่มี macro ใหม่ของ GTK+ 3 โดยยังคง compatibility กับ GTK+ 2 รุ่นเก่าไว้อยู่&lt;/p&gt;

&lt;p&gt;นอกจากนี้ก็ได้ปรับปรุงระบบ build ใหม่ให้จัดการการติดตั้ง/ถอดถอนได้รัดกุมขึ้น และเปลี่ยนมาใช้แมโครรุ่นใหม่ ๆ ของ autotools&lt;/p&gt;

&lt;p&gt;การเปลี่ยนแปลงต่าง ๆ เหล่านี้ถือว่าใหญ่พอสมควร จึงได้ออกรุ่นใหม่เป็น 0.2.0 แทนที่จะเป็น 0.1.6&lt;/p&gt;

&lt;p&gt;นอกจากนี้ ก่อนออกรุ่นยังได้พบบั๊กอีกตัวหนึ่งในระหว่างพัฒนา solution สำหรับการป้อนเลขไทยด้วย numpad แทนการใช้ &lt;a href="http://thep.blogspot.com/2011/06/case-of-sarabun-it9.html"&gt;ฟอนต์ Sarabun IT9&lt;/a&gt; คือการไม่รับปุ่มที่เป็น level 3 shift จึงได้แก้ไข พร้อมกับรายงานบั๊ก &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=652720"&gt;GNOME #652720&lt;/a&gt; ใน Thai-Lao IM module ของ GTK+ ซึ่งมีอาการเดียวกันไว้ด้วย (มี deb ที่แก้แล้วที่ &lt;a href="http://debianclub.org/node/352"&gt;debclub repository&lt;/a&gt; [&lt;code&gt;&lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/g/gtk+2.0/"&gt;gtk+2.0&lt;/a&gt;&lt;/code&gt;, &lt;code&gt;&lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/g/gtk+3.0/"&gt;gtk+3.0&lt;/a&gt;&lt;/code&gt;]) ซึ่งหลังจากแก้แล้วก็สามารถใช้ผังแป้นพิมพ์ใหม่ที่ผมดัดแปลงให้ป้อนเลขไทยด้วย numpad ได้ ส่วนรายละเอียดของผังแป้นพิมพ์ใหม่นั้น ขอเขียนแยกใน blog ต่างหากครับ&lt;/p&gt;

&lt;p&gt;ผู้ใช้ Debian sid ก็คงได้พบการ upgrade ไปแล้วเมื่อวานนี้ โดยถ้าคุณใช้ GNOME 3 จาก experimental อยู่ ก็อาจจะติดตั้งแพกเกจใหม่เพิ่ม คือ &lt;code&gt;gtk3-im-libthai&lt;/code&gt; เพื่อให้ใช้กับ GTK+ 3 ได้ โดยแพกเกจเดิม (&lt;code&gt;gtk-im-libthai&lt;/code&gt;) นั้น จะเป็นมอดูลสำหรับ GTK+ 2.x เท่านั้นครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-477233405110444413?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/477233405110444413/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/gtk-im-libthai-020.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/477233405110444413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/477233405110444413'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/gtk-im-libthai-020.html' title='gtk-im-libthai 0.2.0'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8951349469098117929</id><published>2011-06-17T19:40:00.001+07:00</published><updated>2011-06-17T19:42:35.922+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Life &amp; Thanks</title><content type='html'>&lt;p&gt;ช่วงนี้งานผมคืบคลานไปอย่างเชื่องช้า เนื่องจากแม่ผมลื่นหกล้มเมื่อเดือนก่อน (คืนก่อนวัน Ubuntu Release Party พอดี) หลังจากพักฟื้นแล้วยังมีอาการเอ็นข้อมือช้ำตกค้างอยู่จนถึงวันนี้ ไม่สามารถใช้มือซ้ายทำงานได้ ทำให้ผมต้องทำงานต่าง ๆ แทนแม่เกือบทั้งหมด บวกกับงานดูแลผู้ป่วยด้วย ก็ทำให้ได้รู้ว่างานของแม่บ้านนั้นเหนื่อยหนักขนาดไหน ว่างจากงานบ้านผมถึงได้มานั่งเขียนโปรแกรมหรือเตรียมสไลด์ไปบรรยายทีละนิด ๆ ไม่ค่อยได้มีเวลาต่อเนื่องพอจะทำงานที่ต้องการสมาธิสูงได้ ตอนนี้มีธุระอะไรเข้ามาก็จำเป็นต้องบอกปัดไปก่อน&lt;/p&gt;

&lt;p&gt;ตอนนี้อาการของแม่ก็ค่อย ๆ ดีขึ้นวันละนิด ๆ เหมือนกัน อีกไม่นานคงหายดีครับ&lt;/p&gt;

&lt;p&gt;สำหรับบล็อกนี้ก็ขอเขียน&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt;ผู้สนับสนุนงานพัฒนาของผมในเดือน พ.ค. และ มิ.ย. นี้ โดยเมื่อปลาย พ.ค. &lt;a href="https://noistuff.wordpress.com/"&gt;คุณหน่อย SNC&lt;/a&gt; ได้ส่งอาหารเสริมมาให้แม่ผมทาน และเมื่อต้น มิ.ย. นี้ &lt;a href="http://donga-n.blogspot.com/"&gt;คุณโด่ง KDE&lt;/a&gt; ได้หย่อนสตางค์ลงหมวกเพื่อสนับสนุนงานพัฒนาของผม&lt;/p&gt;

&lt;p&gt;ขอขอบคุณทั้งสองท่านที่ช่วยสนับสนุนงานของผมนะครับ ขอให้รวย ๆ ชีวิตการงานราบรื่น สุขภาพแข็งแรงครับ :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8951349469098117929?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8951349469098117929/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/life-thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8951349469098117929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8951349469098117929'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/life-thanks.html' title='Life &amp; Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2935542113655293694</id><published>2011-06-15T16:56:00.001+07:00</published><updated>2011-06-15T16:58:02.866+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><title type='text'>The Case of Sarabun IT9</title><content type='html'>&lt;p&gt;เป็นเรื่อง.. เมื่อมติ ครม. สองอย่าง คือให้ใช้ฟอนต์สารบรรณและเลขไทยในเอกสารราชการ ได้ผสมกันทำให้เกิดกรณี &lt;a href="http://thaiopensource.org/article/%E0%B9%80%E0%B8%A5%E0%B8%B4%E0%B8%81%E0%B9%83%E0%B8%8A%E0%B9%89-sarabun-it9-%E0%B9%80%E0%B8%96%E0%B8%B4%E0%B8%94"&gt;ฟอนต์ Sarabun IT9&lt;/a&gt; ที่ดัดแปลงฟอนต์สารบรรณในชุด &lt;a href="http://thep.blogspot.com/2010/09/dip-sipa-13-postscardware-fonts.html"&gt;13 ฟอนต์โพสต์การ์ดแวร์ของ DIP-SIPA&lt;/a&gt; ให้ป้อนเลขไทยด้วยแป้นตัวเลข (numpad) ได้ แต่เป็นวิธีที่ไม่ถูกหลักการ คือไปเปลี่ยนรูปร่างของตัวเลขอารบิกให้เป็นเลขไทย ทำให้ข้อมูลที่เก็บลงในแฟ้มแตกต่างจากสิ่งที่แสดงบนหน้าจอ&lt;/p&gt;

&lt;p&gt;เรื่องนี้ต้องแยกพูดเป็นสองประเด็น คือประเด็นเรื่องกฎหมาย กับประเด็นเรื่องเทคนิค&lt;/p&gt;

&lt;p&gt;ประเด็นเรื่องกฎหมายนั้น ข้อมูลที่ผมได้รับจากการพูดคุยกับเพื่อนใน Facebook ก็คือ ผู้ดัดแปลงฟอนต์ Sarabun IT9 &lt;a href="http://itplayroom.blogspot.com/2010/10/font.html?showComment=1297819073339#c7281728007152459487"&gt;ได้แจ้งเป็นลายลักษณ์อักษร แต่ไม่ได้รับอนุญาตให้ดัดแปลง&lt;/a&gt; (กรมทรัพย์สินทางปัญญาอนุญาต แต่ SIPA ไม่อนุญาต) จึงได้ลบฟอนต์ออกจากเว็บดาวน์โหลด แต่นั่นก็สายไปแล้ว เพราะฟอนต์ได้เผยแพร่ออกไปในเน็ตเรียบร้อยแล้ว&lt;/p&gt;

&lt;p&gt;นี่ถือเป็นกรณีตัวอย่างที่แสดงให้เห็นว่า เงื่อนไขข้อ (2) ในสัญญาอนุญาตของฟอนต์โพสต์การ์ดแวร์ที่ให้แจ้งเป็นลายลักษณ์อักษรก่อนแก้นั้น ได้ทำให้ตัวฟอนต์ไม่ใช่ซอฟต์แวร์เสรีหรือโอเพนซอร์สตามที่กล่าวอ้างจริง เพราะต้องผ่านการอนุญาตเสียก่อนจึงจะแก้ไขได้ &lt;em&gt;ไม่ต่างอะไรกับซอฟต์แวร์ proprietary เลย&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;ส่วนประเด็นทางเทคนิคนั้น นักคอมพิวเตอร์ทั่วไปย่อมเข้าใจได้ไม่ยากว่าวิธีการนี้เป็นสิ่งที่ไม่ควรทำ เพราะการเก็บข้อมูลไม่ได้มีความประสงค์จะให้คนอ่านเพียงอย่างเดียว แต่มีการประมวลผลโดยโปรแกรมด้วย เช่น การสืบค้นข้อมูล การคำนวณตัวเลข การแปลงค่าตัวเลข การตัดบรรทัด ฯลฯ การที่ข้อมูลที่เก็บไม่ตรงกับสิ่งที่แสดงผล โดยเฉพาะเมื่อมีข้อมูลสองชุดที่ต่างกันแต่แสดงผลเหมือนกัน จึงทำให้เกิดความสับสนภายในกระบวนการทำงาน แม้เปลือกนอกจะให้ผลลัพธ์ที่ดูถูกต้องในตอนแรก แต่จะเจอปัญหาต่อไปในระยะยาว ถ้าเทียบกับการทำงานของคนก็อาจจะเรียกว่าผักชีโรยหน้าได้&lt;/p&gt;

&lt;p&gt;ผมพอเข้าใจแนวคิดของ SIPA ได้ ที่ไม่ยอมอนุญาตให้ดัดแปลงแบบนี้ น่าจะเป็นเหตุผลทางเทคนิคเป็นหลัก แต่ในทางกฎหมายแล้ว นี่กลับเป็นการแสดงให้เห็นจริงว่าฟอนต์ชุดนี้ไม่ได้ &lt;em&gt;"ส่งเสริมการร่วมมือในการสร้างสรรค์ฟอนต์ในวงกว้าง"&lt;/em&gt; อย่างที่โปรยไว้ที่ต้นสัญญาอนุญาต&lt;/p&gt;

&lt;p&gt;ปัญหาก็คือ ถ้า SIPA ตอบอนุญาต ก็จะเป็นการรับรองความถูกต้องทางเทคนิคของฟอนต์ที่ดัดแปลง ซึ่ง SIPA คงยอมไม่ได้ แต่ถามว่าเอาเข้าจริง SIPA จะดำเนินการทางกฎหมายกับผู้ที่ดัดแปลงโดยไม่ขออนุญาตผู้นี้หรือไม่? ผมไม่สามารถตอบแทนได้ ทราบแต่ว่า แค่มีการตอบไม่อนุญาตไปครั้งเดียวก็ได้ทำลายเจตนารมณ์ของโครงการไปแล้วส่วนหนึ่ง ถ้ายังดำเนินการฟ้องร้องต่ออีก คงไม่มีนักพัฒนาซอฟต์แวร์เสรีที่ไหนอยากช่วยปรับปรุงฟอนต์ชุดนี้อีกเป็นแน่ ลำพังไม่ต้องมีการปฏิเสธให้เห็น เขาก็ยังลังเลกันอยู่แล้ว&lt;/p&gt;

&lt;p&gt;นี่เป็นปัญหาอีกอย่างของเงื่อนไขข้อ (2) ของสัญญาอนุญาต คือกลายเป็นว่า DIP และ SIPA จะต้องร่วมรับผิดชอบกับความถูกต้องทางเทคนิคของผู้ดัดแปลงด้วย ถ้าไม่ผ่านเกณฑ์ก็ไม่สามารถปล่อยให้ทำได้ แม้จะเปลี่ยนชื่อหลบแล้วก็ตาม แต่ถ้าไม่มีเงื่อนไขข้อนี้ แล้วปล่อยให้มันเป็นซอฟต์แวร์เสรีตามที่ควรจะเป็น DIP และ SIPA ก็ไม่ต้องมารับภาระที่เสี่ยงต่อการทำลายบรรยากาศความเปิดกว้างตรงนี้ แต่สามารถใช้วิธีรณรงค์ชี้แจงผู้ใช้ (อย่างที่ท้ายที่สุดก็ต้องมาทำอยู่ดีแบบตอนนี้) แทนได้&lt;/p&gt;

&lt;p&gt;ปัจจุบันมีผู้ใช้หลายคนบ่นว่าฟอนต์สารบรรณเส้นบางเกินไป อยากให้ผู้จัดทำฟอนต์ปรับแก้ ก็น่าสนใจว่าฟอนต์ที่ประกาศเจตนารมณ์ว่าเปิดกว้างต่อการร่วมกันพัฒนา กลับไม่มีใครกล้าแตะต้อง ผมจึงยังยืนยัน ว่าสัญญาอนุญาตของฟอนต์โพสต์การ์ดแวร์ของ DIP และ SIPA ควรได้รับการแก้ไขเพื่อให้เป็นซอฟต์แวร์เสรีตามที่กล่าวอ้างอย่างแท้จริง&lt;/p&gt;

&lt;p&gt;ส่วนประเด็นทางเทคนิคของฟอนต์ Sarabun IT9 ที่ได้ระบาดไปทั่วแล้วนั้น ขอสนับสนุนการรณรงค์ให้เลิกใช้เช่นกันครับ รวมถึง &lt;a href="http://itplayroom.blogspot.com/2009/06/font-fontthai-itt-it.html"&gt;ฟอนต์ของไมโครซอฟท์ที่ผู้พัฒนาคนเดียวกันได้ลักลอบดัดแปลง&lt;/a&gt; ด้วย&lt;/p&gt;

&lt;p&gt;สำหรับทางแก้ หากต้องการป้อนภาษาไทยด้วยแป้นตัวเลข ก็ควรแก้ที่ input method โดยดัดแปลงผังแป้นพิมพ์เล็กน้อย ซึ่งผมจะได้เขียนถึงในโอกาสต่อไป&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2935542113655293694?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2935542113655293694/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/case-of-sarabun-it9.html#comment-form' title='5 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2935542113655293694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2935542113655293694'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/case-of-sarabun-it9.html' title='The Case of Sarabun IT9'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-1338980990993736814</id><published>2011-06-10T23:13:00.001+07:00</published><updated>2011-06-10T23:15:04.625+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><title type='text'>FOSS Why and How</title><content type='html'>&lt;p&gt;เมื่อวันที่ 7 มิ.ย. ได้รับเกียรติจากศูนย์คอมพิวเตอร์ มข. ให้ไปบรรยายเรื่องโอเพนซอร์สเนื่องในโอกาสครบรอบ 25 ปีของศูนย์ฯ ก็เลยถือโอกาสรวบรวมเกร็ดความคิดต่าง ๆ เกี่ยวกับซอฟต์แวร์เสรีและโอเพนซอร์สที่เคยคิดหรือพูดไว้ในโอกาสต่าง ๆ ของตัวเอง มาเรียบเรียงเป็นเรื่องราว&lt;/p&gt;

&lt;p&gt;เนื้อหาของ &lt;a href="http://linux.thai.net/~thep/presents/KKUCC-25y/foss.pdf"&gt;ตัวสไลด์ [PDF]&lt;/a&gt; พยายามชักนำผู้ฟังให้เห็นแนวโน้มการเปลี่ยนแปลงของสังคมที่เอื้อให้เกิดการสร้างซอฟต์แวร์แนวใหม่ที่ผู้ใช้เริ่มมีส่วนร่วมมากขึ้น โดยพูดถึงภาพรวมทั้งโลก มาถึงวงการซอฟต์แวร์โลกและของไทยเอง พยายามให้เห็นแนวโน้มของการผลิตแนวใหม่ แล้วจึงเข้าสู่หลักการของเสรีภาพซอฟต์แวร์ และลักษณะของวัฒนธรรมโอเพนซอร์ส อธิบายลักษณะการทำงานคร่าว ๆ แล้วปิดท้ายด้วยแนวปฏิบัติในรายละเอียด&lt;/p&gt;

&lt;p&gt;ผมคิดว่าการทำความเข้าใจตลอดสายแบบนี้ น่าจะช่วยให้ผู้ฟังเห็นภาพของโลกซอฟต์แวร์เสรีและโอเพนซอร์ส และตระหนักถึงบทบาทของตนเองในการเข้าร่วม&lt;/p&gt;

&lt;p&gt;เพราะ FOSS ไม่ใช่เพียงสินค้าชิ้นหนึ่งในตลาดทุนนิยม แต่มันคือกระบวนการผลิตแบบใหม่ที่ไม่ได้แบ่งแยกผู้บริโภคออกจากกระบวนการผลิตเด็ดขาดเหมือนโรงงานอุตสาหกรรมอีกต่อไป โดยที่การร่วมผลิตของผู้บริโภคก็เป็นไปอย่างเป็นธรรมชาติเสียด้วย&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-1338980990993736814?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/1338980990993736814/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/06/foss-why-and-how.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1338980990993736814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1338980990993736814'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/06/foss-why-and-how.html' title='FOSS Why and How'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8751103062718038953</id><published>2011-04-18T19:45:00.000+07:00</published><updated>2011-04-18T19:46:01.625+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอขอบคุณ&lt;/a&gt; &lt;a href="http://noistuff.wordpress.com/"&gt;คุณหน่อย SNC&lt;/a&gt; และ &lt;a href="http://www.thaitux.info/"&gt;คุณวิทยา&lt;/a&gt; ที่ได้ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt; อีกครั้ง เพื่อสนับสนุนงานพัฒนาซอฟต์แวร์เสรีของผม ขอบคุณในการสนับสนุนมาตลอด ขอให้ทั้งสองท่านและครอบครัวมีสุขภาพแข็งแรง การงานราบรื่นครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8751103062718038953?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8751103062718038953/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/04/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8751103062718038953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8751103062718038953'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/04/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5857704049070484512</id><published>2011-04-15T12:28:00.002+07:00</published><updated>2011-04-15T13:12:20.211+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='culture'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Science behind the Songkran Shift</title><content type='html'>&lt;p&gt;จากที่ได้เขียนถึง &lt;a href="http://thep.blogspot.com/2011/04/songkran-shift.html"&gt;การเลื่อนของวันสงกรานต์&lt;/a&gt; ไป โดยได้กล่าวถึงความแตกต่างระหว่างปีที่เป็นคาบการโคจรของโลกรอบดวงอาทิตย์ที่ตำราสุริยยาตร์ใช้ คือ 365.25875 วัน (ข้อมูลดาราศาสตร์คือ 365.256363004 วัน) กับปีตามปฏิทิน Gregorian ซึ่งยาวเพียง 365.2425 วันเท่านั้น ทำให้วันสงกรานต์เลื่อนออกไปทีละน้อย แล้วปีทั้งสองนี้ต่างกันอย่างไร?&lt;/p&gt;

&lt;p&gt;ปฏิทิน Gregorian ที่เราใช้กันอยู่ เป็นปฏิทินสำหรับดูฤดูกาลบนโลก ซึ่งคาบของปีจะอ้างอิงกับ equinox และ solstice โดยจะพยายามให้วันทั้งสี่ตกอยู่ในวันที่เดียวกันทุกปี (อาจมีการ&lt;a href="http://en.wikipedia.org/wiki/File:Gregoriancalendarleap_solstice.svg"&gt;เลื่อนขึ้นเลื่อนลง&lt;/a&gt;ได้ไม่เกินหนึ่งวัน) ทำให้สามารถบอกฤดูกาลได้จากปฏิทิน ซึ่งจะช่วยให้ผู้คนบนโลกสามารถวางแผนการเพาะปลูก การปรับตัวกับสภาพอากาศ และอื่น ๆ ได้&lt;/p&gt;

&lt;p&gt;ส่วนนิยามของสงกรานต์คือ &lt;em&gt;การโคจรเข้าราศีเมษของดวงอาทิตย์&lt;/em&gt; คือเป็นการอ้างอิงดวงดาวคงที่ คาบของสงกรานต์จึงหมายถึง &lt;a href="http://en.wikipedia.org/wiki/Sidereal_year"&gt;ปี sidereal&lt;/a&gt; คือคาบของการโคจรของโลกรอบดวงอาทิตย์ในทางดาราศาสตร์&lt;/p&gt;

&lt;p&gt;&lt;em&gt;สิ่งที่ทำให้ปฏิทินฤดูกาลแตกต่างจากคาบการโคจรของโลกรอบดวงอาทิตย์ก็คือ &lt;a href="http://en.wikipedia.org/wiki/Precession_(astronomy)#Astronomy"&gt;การควงส่ายของแกนโลก&lt;/a&gt; ครับ&lt;/em&gt;&lt;/p&gt;

&lt;div style="float: right; left-margin: 1em"&gt;&lt;a href="http://en.wikipedia.org/wiki/Precession_(astronomy)#Astronomy"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Earth_precession.svg/250px-Earth_precession.svg.png" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;โลกไม่ได้หมุนรอบตัวเองรอบแกนคงที่เหมือนไก่ย่างในเตาอบ แต่มีการหมุนควงของแกนเหมือนลูกข่างด้วย ด้วยอัตราประมาณ 1 องศาต่อ 72 ปี (ตกรอบละเกือบ 26,000 ปี) การหมุนควงนี้ ทำให้ตำแหน่งของ solstice และ equinox มีการเปลี่ยนแปลงตามแนวการเอียงของแกนโลกที่เปลี่ยนไปด้วย โดยทิศทางการควงจะทำให้ solstice และ equinox มาถึงเร็วขึ้นเมื่อเทียบกับการไม่หมุนควง ด้วยเหตุนี้ ปีฤดูกาลจึงสั้นกว่าคาบการโคจรของโลกรอบดวงอาทิตย์เล็กน้อย&lt;/p&gt;

&lt;p&gt;ด้วยตัวเลข 365.25875 วัน/ปีที่ตำราสุริยยาตร์ใช้ ก็เท่ากับว่าวันสงกรานต์โดยเฉลี่ยจะขยับเพิ่ม 1 วันในระยะเวลา 1 / (365.25875 - 365.2425) = 61.54 ปี และจะน็อครอบปีปฏิทินในเวลา 61.54×365.2425 = 22,476.46 ปี&lt;/p&gt;

&lt;p&gt;ผมลองคำนวณวันมหาสงกรานต์และเถลิงศกของ พ.ศ. 25031 (= 2554 + 22477) ก็ได้ว่าอย่างนี้ (สังเกตว่าปีปฏิทินจะเลื่อนไปข้างหน้าหนึ่งปี):&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; วันมหาสงกรานต์: 13 เมษายน 25032, 11:43:48 น. &lt;/li&gt;
  &lt;li&gt; วันเถลิงศก: 15 เมษายน 25032, 15:41:24 น. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;แล้วเจอกันครับ ถ้ามนุษย์ยังอยู่ในโลกนี้และสามารถผ่านสงกรานต์หน้าหนาวช่วงธันวามาได้ :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5857704049070484512?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5857704049070484512/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/04/science-behind-songkran-shift.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5857704049070484512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5857704049070484512'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/04/science-behind-songkran-shift.html' title='Science behind the Songkran Shift'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4620017190102748878</id><published>2011-04-13T21:20:00.002+07:00</published><updated>2011-04-13T21:39:08.183+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='culture'/><title type='text'>Songkran Shift</title><content type='html'>&lt;p&gt;อ.กิตติ์ได้นำเสนอ &lt;a href="http://kitty.in.th/index.php?room=blog&amp;date=2011-04-13"&gt;วิธีคำนวณวันมหาสงกรานต์ตามสูตรของ พันตรี บุนนาค ทองเนียม&lt;/a&gt; ซึ่งสูตรน่าสนใจมาก หลังจากคุยกันผ่าน Facebook ผมก็แยกธาตุสูตรได้ดังนี้&lt;/p&gt;

&lt;p&gt;ตัวสูตร:
&lt;blockquote&gt;
  เถลิงศก = (จศ * 0.25875) - floor(จศ/4 + 0.5) + floor (จศ/100 + 0.38) - floor(จศ/400 + 0.595) - 5.53375
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;เป็นการหาส่วนต่างระหว่างคาบการโคจรของโลกรอบดวงอาทิตย์ที่ 365.25875 วัน (ข้อมูลดาราศาสตร์ = 365.256363004 วัน แต่ช่างมันก่อน ในที่นี้เราจะใช้ค่าของสุริยยาตร์) กับปฏิทิน Gregorian ที่ 1 ปีจะมี 365.2425 วัน เท่านั้น ทำให้วันสงกรานต์โดยเฉลี่ยจะขยับออกไปทีละนิด&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; (จศ * 0.25875) = เศษวันที่เกิน 365 วันทั้งหมดที่เกิดขึ้นนับตั้งแต่ จศ 0 มา &lt;/li&gt;
  &lt;li&gt; จากนั้น ลบด้วยจำนวนเศษวันที่ปฏิทิน Gregorian ได้เพิ่มเข้ามาในช่วงเดียวกัน คือ floor(จศ/4 + 0.5) - floor(จศ/100 + 0.38) + floor(จศ/400 + 0.595) โดยถือว่า ที่ จ.ศ. 0 ซึ่งเท่ากับ ค.ศ. 638 นั้น เฟสเริ่มต้นของ modulo แต่ละตัวตามปฏิทิน Gregorian จะเป็น (638 % 4) / 4 = 0.5, (638 % 100) / 100 = 0.38 และ (638 % 400) / 400 = 0.595 ตามลำดับ &lt;/li&gt;
  &lt;li&gt; จากนั้น บวกด้วยเวลาของวันเถลิงศกของ จ.ศ. 0 คือ -5.53375 คือราว 5 วันครึ่งก่อน 0 นาฬิกาของวันที่ 31 มีนาคม (ซึ่งนับเป็นวันที่ 0 ก่อนวันที่ 1 ของเดือนเมษายน) ซึ่งคำนวณแล้วก็ตกวันที่ 25 มีนาคม พ.ศ. 1811 เวลา 11 นาฬิกา 11 นาที 24 วินาที เป็นเวลาอ้างอิง &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;จากวันเถลิงศกที่เวลาอ้างอิง ผ่านมาพันกว่าปี ตอนนี้วันเถลิงศกเลื่อนจาก 25 มีนาคม มาเป็นวันที่ 16 เมษายนแล้ว เพราะคาบของสงกรานต์ยาวกว่าปีปฏิทิน Gregorian ส่วนวันมหาสงกรานต์ตามสูตร "มหาสงกรานต์ = เถลิงศก - 2.165 วัน" ก็เลื่อนจาก 23 มีนาคม มาเป็น 14 เมษายน&lt;/p&gt;

&lt;p&gt;ที่น่าสังเกตคือ ในเมื่อคาบของสงกรานต์ยาวกว่าปีปฏิทิน Gregorian ก็เท่ากับว่าวันสงกรานต์จะเลื่อนไปข้างหน้าเรื่อย ๆ ไม่มีย้อนกลับ ยกเว้นกรณีปัดเศษเล็ก ๆ น้อย ๆ และขณะนี้สงกรานต์ก็ได้เลื่อนมาเป็น 14-16 เมษายนแล้ว โดยปีหน้า 2555 จะเป็นปีสุดท้ายที่วันเถลิงศกยังตกวันที่ 15 เพราะอาศัยความที่เป็นปีอธิกสุรทิน แต่ก็จวน 16 รอมร่อ (23:43:48 น.) ต่อจากนั้น ตั้งแต่ 2556 เป็นต้นไป วันเถลิงศกก็จะไม่กลับมาตกวันที่ 15 อีกแล้ว แม้ปีอธิกสุรทินถัดไป คือ 2559 วันที่เพิ่มเข้ามาไม่สามารถยื้อวันเถลิงศกให้อยู่ในวันที่ 15 ได้อีกแล้ว (เถลิงศก 16 เมษายน 2559 0:34:12 น.)&lt;/p&gt;

&lt;p&gt;จึงน่าสนใจว่า ในขณะที่วันสงกรานต์ตามประเพณีมีวันไม่ตรงกับปฏิทินสากล แต่วันหยุดราชการยังคงเป็น 13-15 เมษายน ไม่เปลี่ยนแปลง ทำให้เกิดความสับสนในการเฉลิมฉลองตามประเพณี เช่นที่อภิปรายกันใน &lt;a href="http://www.reurnthai.com/index.php?topic=1717.0"&gt;กระทู้เรือนไทย&lt;/a&gt; ว่าทำให้บางปีต้องประกอบพิธีวันพญาวันในวันเนาที่เป็นวันที่ห้ามทำพิธีใด ๆ เพราะปฏิทินราชการว่าอย่างนั้น แม้จะขัดกับปฏิทินโหราศาสตร์ เป็นต้น&lt;/p&gt;

&lt;p&gt;จากที่คำนวณนี้ ปี 2556 อาจเป็นโอกาสอันดีที่ราชการจะเปลี่ยนวันหยุดราชการในช่วงสงกรานต์ให้เป็น 14-16 เมษายนแทน ถ้าจะยังใช้วันหยุดตายตัวเหมือนเดิม อย่างน้อยก็จะไม่ขัดกับวันตามประเพณีทุกปีเหมือนใช้วันหยุดเดิม&lt;/p&gt;

&lt;p&gt;สวัสดีปีใหม่ไทยครับ :-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4620017190102748878?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4620017190102748878/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/04/songkran-shift.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4620017190102748878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4620017190102748878'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/04/songkran-shift.html' title='Songkran Shift'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4039872650336238870</id><published>2011-03-25T12:37:00.001+07:00</published><updated>2011-03-25T12:40:16.515+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libthai'/><title type='text'>LibThai 0.1.15</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/node/230"&gt;LibThai 0.1.15&lt;/a&gt; ออกไปแล้วเมื่อวานนี้ รุ่นนี้ไม่มีการเปลี่ยนแปลงในส่วนโค้ด มีแต่การปรับข้อมูลพจนานุกรมที่ใช้ตัดคำตามปกติ&lt;/p&gt;

&lt;p&gt;พูดถึงการปรับพจนานุกรมตัดคำ โดยปกติจะมีทั้งการเพิ่มคำใหม่และตัดคำประสมที่ก่อให้เกิดความกำกวมออก โดยในรุ่นนี้ได้รับ &lt;a href="http://groups.google.com/group/thai-linux-foss-devel/browse_thread/thread/986f74d786c9bace"&gt;feedback จากคุณวิทยา&lt;/a&gt; เกี่ยวกับกรณีต่าง ๆ ที่พบ ช่วยให้ปรับพจนานุกรมเพื่อรองรับกรณีต่าง ๆ เหล่านั้น&lt;/p&gt;

&lt;p&gt;ส่วนเรื่องการเพิ่มคำใหม่ ผมจะคอยสังเกตคำใหม่จากแหล่งต่าง ๆ แล้วเพิ่มคำเข้าในพจนานุกรมอยู่เรื่อย ๆ เพื่อให้ libthai รู้จักคำกว้างขวางขึ้น หาขอบเขตของคำได้ถูกต้องยิ่งขึ้น รวมทั้งลดจำนวนการ recover เมื่อพบคำที่ไม่อยู่ในพจนานุกรม ทำให้ใช้เวลาตัดคำน้อยลงด้วย&lt;/p&gt;

&lt;p&gt;แหล่งข้อมูลที่ผมได้มาก็เช่น:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ข่าวประจำวันในหนังสือพิมพ์ ทั้งออนไลน์และออฟไลน์ (ส่วนใหญ่จะออนไลน์) ทำให้ได้ศัพท์การเมือง ชื่อเมืองในข่าวต่างประเทศ ศัพท์ธุรกิจ ชื่อยี่ห้อสินค้า ศัพท์แฟชั่น วงการบันเทิง ไลฟ์สไตล์ &lt;/li&gt;
  &lt;li&gt; เว็บต่าง ๆ ในอินเทอร์เน็ต &lt;/li&gt;
  &lt;li&gt; หัวข้อสนทนาใน social network จะพบคำในสาขาต่าง ๆ ที่หลากหลาย และจากคำเสนอแนะเพิ่มเติมของเพื่อน ๆ &lt;/li&gt;
  &lt;li&gt; อีเมลส่วนตัว เช่น เพื่อนบางคนเปิดเบเกอรี่ ก็จะพูดถึงรายการขนมต่าง ๆ ทำให้ได้ชื่อขนมใหม่ ๆ มาเรื่อย ๆ แม้เจ้าตัวก็ยังไม่รู้ ว่ากำลังช่วยพัฒนา libthai อยู่ :-) &lt;/li&gt;
  &lt;li&gt; ป้ายสินค้า ฉลากสินค้า ป้ายร้าน ป้ายโฆษณา ฯลฯ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;พูดง่าย ๆ คือ แทบทุกอย่างรอบตัวสามารถเป็นแหล่งข้อมูลให้ libthai ได้ แต่การจะเพิ่มคำเข้าในพจนานุกรม ก็จะต้องมีการกลั่นกรองเสียก่อนว่าคุ้มหรือไม่ บางคำเป็นคำที่ใช้เฉพาะกลุ่มมาก ๆ ก็ยังไม่เพิ่ม คำที่มีตัวสะกดหลากหลายก็จะพยายามเพิ่มคำที่เป็นมาตรฐานไว้ก่อน โดยมีสมมุติฐานว่าโอกาสที่ผู้คนจะสะกดตรงตามมาตรฐานมีมากกว่าแบบย่อย ๆ ที่แต่ละคนสะกดแบบของตัวเอง แต่ถ้ามีการสะกดผิดจากมาตรฐานไปในทางเดียวกันมากพอก็จะเพิ่มแบบย่อยที่มีความถี่สูงสุดอันดับต้น ๆ ไว้ โดยตัดสินจากการใช้ search engine ตรวจสอบจำนวนเอกสารที่พบ&lt;/p&gt;

&lt;p&gt;หลักเกณฑ์ต่าง ๆ เหล่านี้ก็เพื่อให้การเพิ่มคำแต่ละรายการมีผลต่อเอกสารให้กว้างที่สุด ไม่ให้เปลืองหน่วยความจำโดยเปล่าประโยชน์&lt;/p&gt;

&lt;p&gt;ความจริงยังมีแผนบางอย่างในการปรับโครงสร้างโค้ดของ libthai เหมือนกัน แต่ต้องหาเวลาว่างให้ได้ก่อน ที่ผ่านมาก็มีงานอื่นมากแทรกมากมายนับตั้งแต่ &lt;a href="http://thep.blogspot.com/2010/03/thailand-mini-debcamp-2010.html"&gt;MiniDebCamp 2010&lt;/a&gt; เป็นต้นมา ทำให้ร้างราจากการทำงานกับซอฟต์แวร์ที่ LTN มาเป็นแรมปี รวมถึงกับ Debian เองด้วย blog ก็เขียนน้อยลงมาก นี่เดี๋ยวก็ต้องกลับไปเร่งงานที่รับมาแบบกึ่ง full-time ต่อ แต่ขอออก thaifonts-arundina อีกตัวให้เสร็จก่อน&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4039872650336238870?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4039872650336238870/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/libthai-0115.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4039872650336238870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4039872650336238870'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/libthai-0115.html' title='LibThai 0.1.15'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5950585808340440555</id><published>2011-03-21T16:36:00.001+07:00</published><updated>2011-03-21T16:37:45.275+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>ThaiLaTeX 0.4.5</title><content type='html'>&lt;p&gt;ถัดจาก &lt;a href="http://thep.blogspot.com/2011/03/swath-041.html"&gt;swath 0.4.1&lt;/a&gt; ก็เป็น &lt;a href="http://linux.thai.net/node/196"&gt;ThaiLaTeX 0.4.5&lt;/a&gt; เป็นการรวมสิ่งที่เปลี่ยนแปลงในช่วงหนึ่งปีครึ่งที่ผ่านมา&lt;/p&gt;

&lt;p&gt;สิ่งที่เด่นที่สุดในรุ่นนี้ก็คงเป็นเรื่อง &lt;a href="http://thep.blogspot.com/2010/09/thailatex-now-supports-pali-sanskrit.html"&gt;การรองรับข้อความภาษาบาลี-สันสกฤต&lt;/a&gt; ด้วยคำสั่ง &lt;code&gt;\textpali{}&lt;/code&gt; โดยความสามารถที่สำคัญก็คือการใช้ ญ ฐ ที่ไม่มีเชิง และนอกจากนี้ก็ยังรองรับการใช้นิคหิตบนสระอิ ซึ่งหนังสือสวดมนต์หลายเล่มจำเป็นต้องเลี่ยงไปใช้สระอึแทน เช่น &lt;strong&gt;สีเลน นิพฺพุตึ ยนฺติ&lt;/strong&gt; (อ่านว่า &lt;em&gt;สีเลนะ นิพพุติง ยันติ&lt;/em&gt; ไม่ใช่ &lt;em&gt;สีเลนะ นิพพุตึ ยันติ&lt;/em&gt;) แต่ใน ThaiLaTeX จะสามารถพิมพ์เป็น &lt;strong&gt;สีเลน นิพฺพุติํ ยนฺติ&lt;/strong&gt; ได้เลย&lt;/p&gt;

&lt;p&gt;ความสามารถนี้ ใช้การได้ทั้งกับเอกสาร UTF-8 และ TIS-620 โดยถ้าเป็น TIS-620 &lt;a href="http://thep.blogspot.com/2011/03/thailatex-tis620-inputenc-and-pali.html"&gt;จะต้องใช้แพกเกจ &lt;code&gt;inputenc&lt;/code&gt; ประกอบด้วย&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;การใช้ภาษาบาลี-สันสกฤตใน ThaiLaTeX ควรใช้ร่วมกับ &lt;a href="http://thep.blogspot.com/2011/03/swath-041.html"&gt;swath 0.4.1&lt;/a&gt; ขึ้นไป ซึ่งได้แก้บั๊กเกี่ยวกับคำบาลี-สันสกฤตแล้ว&lt;/p&gt;

&lt;p&gt;นอกจากการใช้ภาษาบาลี-สันสกฤต ก็มีการแก้บั๊กจิปาถะที่ผมพบในระหว่างเตรียมเอกสารในโอกาสต่าง ๆ เช่น การวางทันฑฆาตและนิคหิตบน ป ปลา ซึ่งผมพบระหว่างเตรียมสไลด์งาน OSSFest 2010 เมื่อเดือนตุลา การปรับคำแปลของหัวข้อ "References" จาก "หนังสืออ้างอิง" เป็น "เอกสารอ้างอิง" ซึ่งน่าจะเหมาะกว่า เพราะบางครั้ง reference ก็เป็นบทความหรือหน้าเว็บ&lt;/p&gt;

&lt;p&gt;ได้อัปโหลดขึ้นที่ &lt;a href="http://www.ctan.org/tex-archive/language/thai/thailatex"&gt;CTAN&lt;/a&gt; แล้ว รอผู้ดูแลตรวจสอบสักพักคงได้เข้า ส่วนที่ Debian ก็ได้อัปโหลดแพกเกจไปแล้วเช่นกัน อาจจะต้องรอสักหน่อยเพราะขณะนี้ FTP-master ของ Debian มีปัญหาขัดข้องบางประการ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5950585808340440555?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5950585808340440555/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/thailatex-045.html#comment-form' title='2 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5950585808340440555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5950585808340440555'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/thailatex-045.html' title='ThaiLaTeX 0.4.5'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3374634414923817612</id><published>2011-03-20T15:54:00.002+07:00</published><updated>2011-03-20T16:00:15.755+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='swath'/><title type='text'>swath 0.4.1</title><content type='html'>&lt;p&gt;ตามแผนการที่ได้พูดถึงใน &lt;a href="http://thep.blogspot.com/2011/03/thaifonts-scalable-0415.html"&gt;ท้าย blog thaifonts-scalable 0.4.15&lt;/a&gt; ก็มาถึงคิวของ swath ซึ่งขอเปลี่ยนลำดับให้ออกก่อน ThaiLaTeX เพื่อเป็นการเตรียม tool ให้เรียบร้อยก่อน พอ ThaiLaTeX ตัวใหม่มาถึง ผู้ใช้จะได้ใช้ภาษาบาลี-สันสกฤตได้ทันที ประกอบกับจะได้ใช้ swath ตัวใหม่ในการ build เอกสารทดสอบของ ThaiLaTeX ตัวใหม่ด้วย&lt;/p&gt;

&lt;p&gt;หลังจากไม่ได้อัปเดตมาถึง 2 ปี &lt;a href="http://linux.thai.net/node/195"&gt;swath 0.4.1&lt;/a&gt; ก็มีการเปลี่ยนแปลงเพียงเล็กน้อยในแง่ความสามารถของโปรแกรม คือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; แก้บั๊กเรื่องการตัดคำเมื่อเจอคำบาลีที่ใช้นิคหิตบนสระอิ เช่น กิสมิํ ซึ่ง swath ตัวเก่าจะตัดคำระหว่าง "มิ" กับนิคหิต ซึ่งไม่ถูกต้อง ในรุ่นนี้ได้แก้ไขบั๊กนี้แล้ว รวมทั้งได้แก้บั๊กเดียวกันสำหรับพินทุ ยามักการ และลากข้างยาวด้วย &lt;/li&gt;
  &lt;li&gt; เพื่อให้ผู้ใช้เปลี่ยนพจนานุกรมที่ใช้ตัดคำได้สะดวกขึ้น ก็ได้เปลี่ยนพฤติกรรมของตัวเลือก &lt;code&gt;-d&lt;/code&gt; ซึ่งเดิมจะใช้กำหนด&lt;em&gt;ไดเรกทอรี&lt;/em&gt;ที่บรรจุแฟ้มพจนานุกรมของ swath ให้เป็นที่อื่น ก็เปลี่ยนให้มากำหนดเป็น&lt;em&gt;แฟ้ม&lt;/em&gt;ได้ด้วย เนื่องจากหลังจากที่เปลี่ยนมาใช้ libdatrie 0.2 ซึ่งสามารถเก็บข้อมูล trie ทั้งตัวในแฟ้มเดียวได้ ก็ไม่จำเป็นต้องระบุเป็นไดเรกทอรีเหมือนเดิมอีกแล้ว สามารถระบุแฟ้มของ trie ได้เลย ดังนั้น สมมุติว่าคุณอยากเปลี่ยนไปใช้พจนานุกรมของ libthai ในการตัดคำแทนของ swath เอง ก็เพียงสั่งดังนี้:
&lt;pre&gt;
$ &lt;strong&gt;swath -d /usr/share/libthai/thbrk.tri -f latex &amp;lt; in.tex &amp;gt; out.tex&lt;/strong&gt;
&lt;/pre&gt;
       หรือจะกำหนดตัวแปรสภาพแวดล้อมชื่อ &lt;code&gt;SWATHDICT&lt;/code&gt; แทนก็ได้ (ในรุ่นเก่าจะใช้ตัวแปร &lt;code&gt;WORDSEGDATA&lt;/code&gt; ซึ่งอิงชื่อโปรแกรมสมัยเริ่มแรกก่อนที่จะเปลี่ยนชื่อเป็น swath รุ่นนี้จึงขอเปลี่ยนชื่อ) เช่น:
&lt;pre&gt;
$ &lt;strong&gt;export SWATHDICT=/usr/share/libthai/thbrk.tri&lt;/strong&gt;
$ &lt;strong&gt;swath -f latex &amp;lt; in.tex &amp;gt; out.tex&lt;/strong&gt;
&lt;/pre&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;นั่นคือสิ่งที่เห็นภายนอก ส่วนโค้ดภายในก็ได้ทำความสะอาดโค้ด ลดการทำงานที่ไม่จำเป็นลงบ้าง แต่ไม่ได้ปรับอะไรใหญ่โตมากนัก เนื่องจาก swath เป็นโค้ดที่ค่อนข้างเปราะบาง แก้ไปแล้วมีโอกาสพังสูง (เคยพังมาแล้วในรุ่น 0.3.2) จึงต้องค่อย ๆ แก้ไปทีละนิดละหน่อย พร้อมกับมีการทดสอบทุกขั้นตอนที่แก้ ว่ายังทำงานปกติดีหรือเปล่า :-P รุ่นนี้หากพบ regression ก็กรุณาแจ้งผมโดยทันทีครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3374634414923817612?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3374634414923817612/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/swath-041.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3374634414923817612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3374634414923817612'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/swath-041.html' title='swath 0.4.1'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8637828058329298014</id><published>2011-03-17T11:57:00.002+07:00</published><updated>2011-03-17T12:10:02.291+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>ThaiLaTeX tis620 inputenc and Pali-Sanskrit</title><content type='html'>&lt;p&gt;จากที่ได้ &lt;a href="http://thep.blogspot.com/2010/09/thailatex-now-supports-pali-sanskrit.html"&gt;เพิ่มการรองรับภาษาบาลี-สันสกฤตใน ThaiLaTeX&lt;/a&gt; ไปเมื่อปีกลาย ปรากฏว่าตอนนั้นได้ทดสอบกับแค่เอกสารที่เป็น UTF-8 เท่านั้น (&lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample.tex"&gt;pali-sample.tex&lt;/a&gt; และ &lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample.pdf"&gt;PDF ผลลัพธ์&lt;/a&gt;) แต่เมื่อได้ทดสอบกับเอกสารที่เป็น TIS-620 ก็ปรากฏว่า กฎการตัดเชิง ญ ฐ ไม่ทำงาน!&lt;/p&gt;

&lt;p&gt;สาเหตุก็คือ กฎที่ใช้ตัดเชิง ญ ฐ นั้น ผมใช้การแปลงอักขระโดยอ้างผ่านโทเคน เช่น &lt;code&gt;\thaiYoYing&lt;/code&gt; ไม่ใช่ผ่านอักขระเป็นไบต์ ๆ โดยตรง ซึ่งตรงนี้สำคัญสำหรับการรองรับรหัสอักขระมากกว่าหนึ่งรูปแบบ คือ TIS-620 และ UTF-8 โดยเป็นหน้าที่ของแพกเกจ &lt;code&gt;inputenc&lt;/code&gt; ที่จะแปลงกระแสข้อมูลของเอกสารให้เป็นโทเคนอักขระ แล้วการประมวลผลอักขระต่อจากนั้นจึงอยู่ในรูปโทเคนที่ไม่ขึ้นกับรหัสอักขระอีกที&lt;/p&gt;

&lt;p&gt;ปัญหาคือ แต่เดิมในสมัยที่ใช้ TIS-620 กันนั้น เราไม่เคยจำเป็นต้องใช้แพกเกจ &lt;code&gt;inputenc&lt;/code&gt; กันเลย เนื่องจาก LaTeX จะอ่านข้อมูลทีละไบต์เสมือนหนึ่งเป็น ASCII แล้วส่งไบต์เหล่านั้นผ่านระบบฟอนต์ไปวาดจนได้เอกสารออกมา แต่ถ้าเราจะประมวลผลอักขระกลางทางใน LaTeX แบบที่ทำกับภาษาบาลี-สันสกฤตนี้ ก็คงต้องทำในเทอมของโทเคนอักขระ โดยอาศัยแพกเกจ &lt;code&gt;inputenc&lt;/code&gt; ช่วย &lt;em&gt;เหมือนกับภาษาอื่นทั่วไป&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;ดังนั้น ผมจึงได้สร้างข้อกำหนดสำหรับรหัสอักขระ &lt;q&gt;&lt;code&gt;tis620&lt;/code&gt;&lt;/q&gt; เพื่อใช้กับแพกเกจ &lt;code&gt;inputenc&lt;/code&gt; เพิ่มใน ThaiLaTeX นี้ ทำให้ตอนนี้เกิดความสมดุลระหว่างการใช้รหัส TIS-620 กับ UTF-8 ในเอกสาร LaTeX โดยถ้าใช้ UTF-8 ก็จะประกาศแบบนี้ (&lt;a href="http://thep.blogspot.com/2009/07/thailatex-now-supports-utf-8.html"&gt;ตามที่ได้เคยบอกไว้เมื่อตอนเพิ่มการรองรับ UTF-8 ใน ThaiLaTeX&lt;/a&gt;):&lt;/p&gt;

&lt;pre&gt;
\usepackage[utf8x]{inputenc}
&lt;/pre&gt;

&lt;p&gt;ส่วนถ้าจะใช้ TIS-620 ก็ประกาศแบบนี้:&lt;/p&gt;

&lt;pre&gt;
\usepackage[tis620]{inputenc}
&lt;/pre&gt;

&lt;p&gt;มีแฟ้มตัวอย่าง &lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample-tis.tex"&gt;pali-sample-tis.tex&lt;/a&gt; และ &lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample-tis.pdf"&gt;PDF ผลลัพธ์&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;สำหรับตอนนี้ การใช้แพกเกจ &lt;code&gt;inputenc&lt;/code&gt; กับเอกสาร TIS-620 จะจำเป็นสำหรับการใช้ภาษาบาลี-สันสกฤตเท่านั้น เอกสารเก่าที่ยังไม่ได้ใช้คำสั่ง &lt;code&gt;\textpali{}&lt;/code&gt; ก็ไม่จำเป็นต้องประกาศ แต่ความจริงแล้ว ถ้าจะทำให้ถูกหลักปกติของ LaTeX ก็ควรประกาศไว้ก่อน ถ้าเกรงว่าจะไปคอมไพล์ใน ThaiLaTeX รุ่นเก่าในระบบอื่นไม่ผ่าน ก็อาจจะชะลอไปก่อน จนกว่าคนอื่น ๆ จะใช้รุ่นใหม่ตาม&lt;/p&gt;

&lt;p&gt;ตัวเลือก &lt;code&gt;tis620&lt;/code&gt; ใน &lt;code&gt;inputenc&lt;/code&gt; นี้จะเริ่มมีผลใน ThaiLaTeX รุ่นหน้าที่จะออกในไม่กี่วันนี้ครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8637828058329298014?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8637828058329298014/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/thailatex-tis620-inputenc-and-pali.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8637828058329298014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8637828058329298014'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/thailatex-tis620-inputenc-and-pali.html' title='ThaiLaTeX tis620 inputenc and Pali-Sanskrit'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3438610749393336637</id><published>2011-03-16T18:22:00.001+07:00</published><updated>2011-03-16T18:24:08.303+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='thaifonts-scalable'/><title type='text'>ThaiFonts-Scalable 0.4.15</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/node/194"&gt;ThaiFonts-Scalable 0.4.15 ออกแล้ว&lt;/a&gt; โดยในรุ่นนี้เป็นการแก้ไขฟอนต์ Garuda เพิ่มเติมจาก &lt;a href="http://thep.blogspot.com/2010/07/thaifonts-scalable-0414.html"&gt;ที่ทำไปใน 0.4.14&lt;/a&gt; โดยปรับช่องไฟของตัว accent ของละตินให้เท่ากับตัวอักษรปกติ&lt;/p&gt;

&lt;p&gt;0.4.14:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://linux.thai.net/~thep/shots/20100730-garuda-bold-ttf-3.png" alt="Garuda Bold accents in 0.4.14" alt="Garuda Bold accents in 0.4.14" /&gt;&lt;/p&gt;

&lt;p&gt;0.4.15:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://linux.thai.net/~thep/shots/20110316-garuda-bold-ttf.png" alt="Garuda Bold accents in 0.4.15" alt="Garuda Bold accents in 0.4.15" /&gt;&lt;/p&gt;

&lt;p&gt;เรื่องถัดมาคือแก้บั๊กในฟอนต์ภูริสา 2 รายการ&lt;/p&gt;

&lt;p&gt;รายการแรกได้รับรายงานจาก Ubuntu ใน &lt;a href="https://bugs.launchpad.net/bugs/680464"&gt;LP #680464&lt;/a&gt; คือภูริสาจะกำหนดกฎ ligature ที่จะแสดง "TM" ด้วยรูปหน้าหญิงสาว ซึ่งเข้าใจว่าจุดประสงค์เริ่มแรกของผู้สร้างฟอนต์คือต้องการแสดงสัญลักษณ์ของฟอนต์ แต่ปัญหาคือ ในข้อความปกติที่มีตัว T กับ M ติดกัน เช่น "ATM" ฟอนต์ภูริสาจะแสดงผิดเป็นตัว A กับหน้าหญิงสาว ดังนั้น จึงตัดกฎ ligature นี้ออก&lt;/p&gt;

&lt;p&gt;รายการถัดมาได้รับรายงานจาก Debian ใน &lt;a href="http://bugs.debian.org/608134"&gt;Debian #608134&lt;/a&gt; เมื่อผู้ใช้นำฟอนต์ภูริสาแบบ Type 1 ไปใช้ แล้วปรากฏว่ามันแสดงตัว "S" พิมพ์ใหญ่เป็น "ú" เมื่อตรวจสอบดูก็พบว่าชื่อโพสต์สคริปต์ของ glyph uacute มันผิดอยู่ โดยเป็นชื่อ "S" ทำให้เมื่ออ้างชื่อ "S" มันไปได้ glyph ของ uacute มาวาดแทน ก็เพียงแก้ชื่อให้ถูกเสีย&lt;/p&gt;

&lt;p&gt;อีกรายการเล็ก ๆ ก็คือ ตัด RPM spec ออกจาก source tree เสีย เนื่องจากข้อมูลเก่ามากแล้ว ไม่มีการดูแลมาถึง 7 ปี อีกทั้งใน Fedora ก็มีแพกเกจฟอนต์อยู่แล้ว จึงควรใช้ของ Fedora ไปจะดีกว่า&lt;/p&gt;

&lt;p&gt;ตอนนี้ upload ขึ้น Debian sid แล้วครับ รอพบได้ที่ mirror ใกล้บ้านท่าน&lt;/p&gt;

&lt;p&gt;ถัดจากตัวนี้ ผมก็มีคิวจะออกแพกเกจต่าง ๆ ใน LTN ตามลำดับดังนี้:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt; ThaiLaTeX (ปรับรุ่นฟอนต์ + การรองรับภาษาบาลี-สันสกฤต) &lt;/li&gt;
  &lt;li&gt; swath (แก้บั๊กเรื่องการตัดคำเมื่อพบคำบาลี-สันสกฤต) &lt;/li&gt;
  &lt;li&gt; LibThai (ปรับข้อมูลพจนานุกรมตัดคำ) &lt;/li&gt;
  &lt;li&gt; ThaiFonts-Arundina (รายการแก้ไขสะสมมา 3 ปี) &lt;/li&gt;
  &lt;li&gt; (อาจจะ) scim-thai (รายการแก้บั๊กของระบบ build เล็กน้อย) &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;โดย ThaiLaTeX กับ swath อาจจะออกไล่เลี่ยกัน เพื่อให้ความสามารถเรื่องการรองรับภาษาบาลี-สันสกฤตใช้การได้ แพกเกจทั้งสองนี้มี RPM spec มาในซอร์สเหมือนกัน คิดว่าจะตัดออกเหมือนกัน เว้นเสียแต่ว่ายังมีใครต้องการใช้และอาสาช่วยดูแลครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3438610749393336637?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3438610749393336637/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/thaifonts-scalable-0415.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3438610749393336637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3438610749393336637'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/thaifonts-scalable-0415.html' title='ThaiFonts-Scalable 0.4.15'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-400204272650094569</id><published>2011-03-14T15:14:00.001+07:00</published><updated>2011-03-14T15:16:28.961+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอขอบคุณ&lt;/a&gt; &lt;a href="http://noistuff.wordpress.com/"&gt;คุณหน่อย SNC&lt;/a&gt; ที่ได้ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt; อีกครั้ง เพื่อสนับสนุนงานพัฒนาซอฟต์แวร์เสรีของผม ขอให้ศรัทธาที่มีต่อซอฟต์แวร์เสรีและโอเพนซอร์สของคุณหน่อยช่วยผลักดันให้คุณหน่อยประสบความสำเร็จในหน้าที่การงานนะครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-400204272650094569?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/400204272650094569/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/400204272650094569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/400204272650094569'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-3140784976681087504</id><published>2011-03-08T17:10:00.002+07:00</published><updated>2011-03-08T17:23:47.558+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Thai Languages &amp; Scripts</title><content type='html'>&lt;p&gt;สิ่งหนึ่งที่ต้องทำใน &lt;a href="http://linux.thai.net/~thep/esaan-scripts/"&gt;โครงการอักษรอีสาน&lt;/a&gt; คือการขอรหัสยูนิโค้ดให้กับอักษรไทยน้อยและอักษรธรรมอีสาน ซึ่งในส่วนของอักษรธรรมนั้นถือว่าเสร็จไปแล้ว โดยสามารถใช้รหัสอักขระ &lt;a href="http://www.unicode.org/charts/PDF/U1A20.pdf"&gt;อักษรธรรมไท (Tai Tham)&lt;/a&gt; ร่วมกับอักษรธรรมล้านนา ไทลื้อ ไทเขินได้ ส่วนอักษรไทยน้อยนั้น สามารถใช้รหัสอักขระของ &lt;a href="http://www.unicode.org/charts/PDF/U0E80.pdf"&gt;อักษรลาว&lt;/a&gt; ได้ เพียงแต่ต้องขอรหัสอักขระเพิ่มให้กับตัวอักษรบางตัว&lt;/p&gt;

&lt;p&gt;โดยที่ไม่ทราบว่าราชบัณฑิตยสถานก็ได้ตั้งคณะทำงานเพื่อกำหนดหลักการถ่ายอักษรไทยน้อยเป็นอักษรโรมัน ผมจึงไม่ได้คิดติดต่อไปที่นั่น จนกระทั่งคุณ Martin Hosken ได้แนะนำตัวผมกับกรรมการของราชบัณฑิตยสถาน และได้เข้าร่วมประชุมกับคณะกรรมการชุดนี้ จึงมีโอกาสได้ร่วมแสดงความเห็นในการกำหนดรหัสยูนิโค้ดสำหรับอักษรไทยน้อยด้วย&lt;/p&gt;

&lt;p&gt;คณะกรรมการประกอบด้วยผู้ทรงคุณวุฒิที่เชื่อถือได้ โดยเฉพาะ อ.ธวัช ปุณโณทก หนึ่งในผู้บุกเบิกการศึกษาประวัติศาสตร์อีสานจากบันทึกโบราณ และเป็นผู้เชี่ยวชาญอักษรอีสานมากที่สุดท่านหนึ่ง ฉะนั้น ก็เชื่อได้ว่ามาตรฐานนี้คงได้ข้อมูลที่ถูกต้องครบถ้วนแน่นอน&lt;/p&gt;

&lt;p&gt;อย่างไรก็ดี ในบรรยากาศที่เจ้าตำรามาเองเช่นนี้ การยอมรับหลักฐานอื่นย่อมต้องมีน้ำหนักที่มากพอ อย่าว่าแต่ผมซึ่งเพิ่งเริ่มศึกษาได้ไม่นาน แต่จากหัวข้อการประชุมเรื่อง romanization ก็ทำให้ผมไม่ได้คิดเตรียมเอกสารประกอบอะไรไป เมื่อไปพบประเด็นที่ร่างปัจจุบันยังไม่ครอบคลุม ก็ทำให้ไม่สามารถเสนอเพิ่มได้ คือเรื่องตัว ด สะกด และ บ สะกด ในอักษรไทยน้อย แต่ อ.ธวัช ก็ได้อธิบายให้ฟังว่า นี่เป็นการยืม ส สะกด และ ป สะกด ของอักษรธรรมมาใช้สำหรับบางคนเท่านั้น และไม่มีความจำเป็นต้อง encode ส่วน &lt;a href="http://www.esansawang.in.th/esanweb/es3_text/tntx_new.pdf"&gt;เอกสารของครูวัฒน์&lt;/a&gt; นั้น ยังถือว่าอ่อนเกินไป จนกว่าจะมีหลักฐานมารองรับ&lt;/p&gt;

&lt;p&gt;เพราะฉะนั้น จึงมีอักขระที่ต้อง encode เพิ่มอีก 4 ตัวเท่านั้น คือ น เฟื้อง, ม เฟื้อง, ล เฟื้องแบบหางยาว และสระออย ส่วน ด สะกด และ บ สะกด นั้น ถือว่าหลักฐานอ่อน ตกไป&lt;/p&gt;

&lt;p&gt;ในวันเดียวกันนั้น ก็ได้มีการประชุมอีกนัดหนึ่ง เกี่ยวกับเรื่องการใช้อักษรไทยเขียนภาษามลายูปาตานี ซึ่งถือว่าอยู่คนละมิติกับการประชุมเรื่องอักษรไทยน้อย ในขณะที่การใช้อักษรไทยน้อยเป็นเรื่องของอักษรภาษาเขียนอีกชุดหนึ่งที่ใช้เขียนภาษาไทย-ลาว แต่การประชุมนี้จะพูดถึงการใช้อักษรไทยในการเขียนภาษาอื่นที่ไม่ใช่ภาษาไทย ซึ่งจะต้องมีการประดิษฐ์อักขรวิธีเพิ่มเติมเพื่อเขียนเสียงที่ไม่มีในภาษาไทย ซึ่งคณะกรรมการชุดหลังนี้ มีสถาบันวิจัยภาษาและวัฒนธรรมเอเชีย ม.มหิดล เป็นแม่งาน&lt;/p&gt;

&lt;p&gt;การทำงานกับภาษาเช่นนี้ ทำให้เห็นภาพที่ชัดเจนของการแบ่งแยกออกจากกันระหว่างภาษา (language) กับอักษร (script)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ภาษาหนึ่ง ๆ สามารถเขียนได้ด้วยอักษรหลายแบบ ตัวอย่างที่ชัดเจนก็คือภาษาบาลี ซึ่งสามารถเขียนได้ด้วยอักษรอินเดีย (เทวนาครี, ทมิฬ, คฤณถ์/ปัลลวะ ฯลฯ) สิงหล ทิเบต พม่า เขมร อักษรธรรม โรมัน และอักษรไทย และในขณะนี้ ภาษาไทยก็สามารถเขียนได้ด้วยอักษรไทย อักษรล้านนา รวมทั้งอักษรธรรมอีสาน &lt;/li&gt;
  &lt;li&gt; อักษรหนึ่ง ๆ สามารถใช้เขียนภาษาได้หลายภาษา ตัวอย่างที่ชัดเจนก็คืออักษรโรมันที่สามารถใช้เขียนภาษาอังกฤษ ฝรั่งเศส เยอรมัน อิตาลี สเปน โปรตุเกส เวียดนาม มลายู อินโดนีเซีย ฯลฯ และอักษรจีนที่สามารถใช้เขียนภาษาอันหลากหลายของจีนได้ทั่วทั้งประเทศ และยังข้ามไปใช้ในญี่ปุ่น เกาหลี และเวียดนามอีกด้วย และในขณะนี้ อักษรไทยก็กำลังถูกใช้เขียนภาษาอื่นที่ไม่ใช่ภาษาไทย เช่น ภาษามลายู ภาษากูย/ส่วย ภาษาขมุ ภาษามอญ ภาษาม้ง และภาษาอื่น ๆ ที่ชื่อไม่คุ้นหู แต่มีใช้ในประเทศไทยอีกมากมาย &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;วันถัดมา อ. Kirk Person จาก SIL ได้ชวนผมไปเยี่ยม &lt;a href="http://www.lc.mahidol.ac.th/th/main.php"&gt;สถาบันวิจัยภาษาและวัฒนธรรมเอเชีย&lt;/a&gt; ด้วยกัน ซึ่ง อ. เองเป็นแขกของสถาบันอยู่แล้ว ทำให้ผมมีโอกาสได้เรียนรู้จาก ดร.มยุรี ถาวรพัฒน์ เกี่ยวกับ &lt;a href="http://www.lc.mahidol.ac.th/th/center-revitalization.php"&gt;ศูนย์การศึกษาและฟื้นฟูภาษาและวัฒนธรรมในภาวะวิกฤติ&lt;/a&gt; ซึ่งได้ทำงานกับภาษาชาติพันธุ์ต่าง ๆ ในประเทศไทย และทำเป็นแผนที่ภาษาขึ้น ตัวแผนที่ยังไม่ได้เผยแพร่ในอินเทอร์เน็ต แต่มีการจัดพิมพ์เป็นรูปเล่ม ซึ่งผมได้ดูแล้วก็ตื่นตาตื่นใจมากที่ได้ทราบว่า ประเทศไทยที่เราเคยทึกทักเอาว่าประชากรพูดภาษาไทยทั้งประเทศ หรือจะมีภาษาอื่นมาแซมบ้างก็เป็นแค่ภาษาจีน เขมร และมลายู กลับมีความหลากหลายของภาษาชาติพันธุ์ต่าง ๆ ถึงกว่า 70 ภาษากระจายตัวอยู่ทั่วประเทศ!&lt;/p&gt;

&lt;p&gt;ภาษาพูดในประเทศไทยสามารถจำแนกได้เป็น 5 กลุ่มใหญ่ ๆ&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt; &lt;em&gt;ภาษาตระกูลไท&lt;/em&gt; ได้แก่ ภาษาไทย ลาว ไทดำ คำเมือง ผู้ไท เป็นต้น &lt;/li&gt;
  &lt;li&gt; &lt;em&gt;ภาษาตระกูลออสโตรเอเชียติก (มอญ-เขมร)&lt;/em&gt; ได้แก่ ภาษากูย/ส่วย ขมุ เขมร ชอง ซาไก ญัฮกุร บรู/ข่า ปะหล่อง มอญ ละเวือะ/ละว้า/ลัวะ เวียดนาม เป็นต้น &lt;/li&gt;
  &lt;li&gt; &lt;em&gt;ภาษาตระกูลจีน-ทิเบต&lt;/em&gt; ได้แก่ ภาษาก๋อง กะเหรี่ยง คะฉิ่น จีน จีนฮ่อ (ยูนนาน) บิซู พม่า มูเซอ ลีซอ อาข่า อึมปี เป็นต้น &lt;/li&gt;
  &lt;li&gt; &lt;em&gt;ภาษาตระกูลออสโตรเนเชียน (มาลาโยโพลิเนเซียน)&lt;/em&gt; ได้แก่ ภาษามลายู มอเก็น อูรักละโว้ย เป็นต้น &lt;/li&gt;
  &lt;li&gt; &lt;em&gt;ภาษาตระกูลม้ง-เมี่ยน&lt;/em&gt; ได้แก่ ภาษาม้ง เมี่ยน (เย้า) &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ภาษาเหล่านี้ มีหลายภาษาที่กำลังจะตายถ้าไม่รักษาไว้ ที่สำคัญคือขาดการจดบันทึก ทำให้นิทานพื้นบ้านและภูมิปัญญาต่าง ๆ อยู่ในภาวะไร้ผู้สืบทอด และมีแต่จะสูญหายไปพร้อมกับผู้เฒ่าผู้แก่ที่ลาลับไป ศูนย์ฯ จึงได้ทำโครงการฟื้นฟูสำหรับภาษาเหล่านี้ โดยพยายามช่วยสร้างระบบการเขียน ซึ่งโดยส่วนใหญ่มักจะลงเอยที่การใช้อักษรไทย เพราะเรียนรู้ได้ง่าย และสามารถโน้มนำมาสู่ภาษาไทยกลาง เพื่อโอกาสในการติดต่อสื่อสารในอนาคตของเด็ก ๆ&lt;/p&gt;

&lt;p&gt;การใช้อักษรไทยเขียนภาษาที่ไม่ใช่ภาษาไทย ก็จำเป็นต้องมีการประดิษฐ์อักขรวิธีเพิ่มเติมเพื่อแทนเสียงที่ไม่มีในภาษาไทย แต่ปัญหาก็คือ มาตรฐานภาษาไทยในคอมพิวเตอร์ปัจจุบัน จะอ้างอิงกับ วทท 2.0 (ต่อมาคือ มอก. 1566-2541) ที่รองรับเฉพาะภาษาไทยเท่านั้น และจะกรองอักขรวิธีที่ไม่ใช่ภาษาไทยออกไป ทำให้แสดงผลภาษาชาติพันธุ์เหล่านี้ไม่ได้ รวมถึงการป้อนข้อความก็จะกรองออกด้วย&lt;/p&gt;

&lt;p&gt;ตัวอย่างอักขรวิธีพิเศษที่ วทท 2.0 ไม่รองรับ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ภาษาเขมรถิ่นไทย (สุรินทร์):
       &lt;ul&gt;
         &lt;li&gt; ปั็วฮฺ (ไม้ไต่คู้เหนือไม้หันอากาศ) &lt;/li&gt;
         &lt;li&gt; ทฺ็อง (ไม้ไต่คู้พร้อมพินทุ) &lt;/li&gt;
         &lt;li&gt; เปฺิ็ว (สระอิพร้อมพินทุ, ไม้ไต่คู้เหนือสระอิ) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาช์อง (จันทบุรี):
       &lt;ul&gt;
         &lt;li&gt; ม็่อง (ไม้เอกเหนือไม้ไต่คู้) &lt;/li&gt;
         &lt;li&gt; การใช้ทัณฑฆาตเป็นวรรณยุกต์ ซึ่งอาจใช้ไม่ได้กับสระบางตัว &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาไทดำ:
       &lt;ul&gt;
         &lt;li&gt; การใช้ยามักการเป็นวรรณยุกต์ ซึ่งอาจใช้ไม่ได้กับสระบางตัว &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาญัฮกุร [อ่านว่า ญะกุ้น] (ชัยภูมิ):
       &lt;ul&gt;
         &lt;li&gt; เติ็ง (ไม้ไต่คู้เหนือสระอิ) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาอึมปี้ (บ้านดง):
       &lt;ul&gt;
         &lt;li&gt; การใช้ยามักการเป็นวรรณยุกต์ที่ 6 ซึ่งอาจใช้ไม่ได้กับสระบางตัว &lt;/li&gt;
         &lt;li&gt; การใช้สระอาพิเศษ ปัจจุบันใช้ขีดขวางเพิ่ม แต่อาจเปลี่ยนเป็นประพินทุใต้สระอาแทน ซึ่งไม่ว่าวิธีไหน วทท 2.0 ก็ไม่รองรับ &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาละเวือะ:
       &lt;ul&gt;
         &lt;li&gt; การใช้ ' เป็น pre-glottalized (อาจต้องเลือกอักขระยูนิโค้ดเพื่อการนี้) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาละว้า (สุพรรณบุรี):
       &lt;ul&gt;
         &lt;li&gt; เฺ (สระเอประพินทุ เป็นเสียง เอย์) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษาขมุ:
       &lt;ul&gt;
         &lt;li&gt; เอิ็- (สระเออะลดรูปแบบเสียงสั้น) &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; ภาษามลายูปาตานี:
       &lt;ul&gt;
         &lt;li&gt; ประพินทุใต้พยัญชนะเพื่อสร้างเสียงพยัญชนะใหม่ &lt;/li&gt;
         &lt;li&gt; ขีดเส้นใต้พยัญชนะเพื่อสร้างเสียงพยัญชนะใหม่ &lt;/li&gt;
         &lt;li&gt; ประพินทุใต้สระเพื่อสร้างเสียงสระใหม่ (รวมถึงสระบน-ล่างด้วย) &lt;/li&gt;
         &lt;li&gt; ใช้ tilde (~) บนพยัญชนะเพื่อสร้างสระนาสิก &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;เห็นได้ว่า หากจะรองรับภาษาเหล่านี้ ก็จำเป็นต้องแก้ไข วทท และเราได้เคยมีการอภิปรายเรื่อง &lt;a href="http://wtt3.wikidot.com/"&gt;WTT 3.0&lt;/a&gt; กันไปเมื่อปี 2551 แต่ได้เงียบไป และเมื่อไปคุยกับคนยูนิโค้ดเกี่ยวกับอักษรไทยทีไร เขาก็อ้างภาษาชาติพันธุ์เหล่านี้มาโดยตลอด ทำให้เราไม่สามารถอ้าง วทท 2.0 ซึ่งครอบคลุมเฉพาะภาษาไทยได้อีกต่อไปแล้ว เมื่อได้มาเห็นการใช้งานจริงอย่างนี้ ก็ทำให้ผมตระหนักได้ว่า ถึงเวลาปัดฝุ่นโครงการ วทท 3.0 กันแล้วกระมัง?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-3140784976681087504?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/3140784976681087504/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/03/thai-languages-scripts.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3140784976681087504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/3140784976681087504'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/03/thai-languages-scripts.html' title='Thai Languages &amp; Scripts'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-8972518877843005897</id><published>2011-02-28T12:20:00.003+07:00</published><updated>2011-02-28T13:16:40.912+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Esaan Language Tidbits</title><content type='html'>&lt;p&gt;&lt;a href="http://thep.blogspot.com/2011/02/laoesaan-tham-script-issues.html"&gt;blog ที่แล้ว&lt;/a&gt; ได้เล่ามาถึงการนมัสการปรึกษาพระราชประสิทธิคุณ หรือหลวงพ่อสุนันท์ รองเจ้าคณะจังหวัดขอนแก่น เจ้าอาวาสวัดเทพปูรณาราม ซึ่งท่านเป็นผู้เชี่ยวชาญอักษรธรรมอีสานท่านหนึ่ง ได้ไปพบท่านแล้ว ก็ได้เรียนรู้หลายสิ่งหลายอย่างจากท่าน รวมถึงเกร็ดภาษาอีสานมากมาย ถ้าไม่บันทึกไว้ก็คงจะลืมเลือนหายไป&lt;/p&gt;

&lt;p&gt;ก่อนอื่น ท่านเล่าว่าท่านหัดอ่านอักษรธรรมตั้งแต่ยังเป็นสามเณรด้วยตนเอง&lt;em&gt;โดยไม่มีใครสอน!&lt;/em&gt; โดยท่านได้เห็นคัมภีร์บาลีในใบลานที่เป็นบทสวดที่ท่านรู้จัก ท่านก็แกะตัวอักษรต่าง ๆ พร้อมกับจับหลักอักขรวิธีเอาเอง จนในที่สุดก็อ่านได้หมด นับเป็นวิธีเรียนที่น่าทึ่งจริง ๆ&lt;/p&gt;

&lt;p&gt;ในส่วนของประเด็นต่าง ๆ ของอักษรธรรมที่เรียนถามท่านนั้น ท่านก็แนะนำมาโดยมิได้ฟันธงเลือกแบบใดแบบหนึ่ง แต่เน้นไปที่การสังเกตรายละเอียดที่ยังขาด เช่น ตัวสะกดแม่กกแบบใช้จุดคู่ใต้บรรทัด รูปร่างพยัญชนะบางตัวที่สัดส่วนเพี้ยนไป หรือรูปร่างแบบที่ท่านคิดว่าเป็นที่นิยมกว่า ซึ่งตรงนี้ก็น้อมรับนำมาปรับปรุงต่อไป&lt;/p&gt;

&lt;p&gt;แต่สิ่งที่น่าสนใจนอกเหนือจากเรื่องอักษรธรรมซึ่งถือว่าสำคัญเหมือนกัน คือความรู้เรื่องภาษาอีสาน ผมพยายามจับประเด็นเท่าที่จำได้ (เพราะไม่ได้จดเลย) มาเป็นข้อ ๆ ดังนี้:&lt;/p&gt;

&lt;h4&gt;การสะกดคำอีสาน&lt;/h4&gt;

&lt;p&gt;ท่านเห็นว่า การสะกดคำอีสานด้วยอักษรไทยในปัจจุบันที่มักเขียนในรูปที่ถ่ายเสียงวรรณยุกต์ตามสำเนียงกรุงเทพฯ มาเรียบร้อยแล้ว เช่น เขียนคำที่หมายถึงลูกคนสุดท้องว่า "ลูกหล่า" แทนที่จะเขียนว่า "ลูกหล้า" แล้วค่อยผันวรรณยุกต์เวลาอ่านเอา เพราะคำว่า "หล่า" นั้น ถ้าอ่านด้วยสำเนียงอีสานจะผันวรรณยุกต์เป็น [ลา^] (เสียงสามัญสูง) ซึ่งแปลว่า "เจื่อน" เช่น "หน้าหล่า" [หน่า-ลา^] (เอก,สามัญสูง) แปลว่าหน้าเจื่อนหรือหน้าเสีย แต่ถ้าจะหมายถึงลูกคนสุดท้อง ต้องเขียนเป็น "ลูกหล้า" แล้วอ่านออกเสียงเป็น [ลูก_-หล่า] (โทต่ำ,เอก) เอา ซึ่งคำว่า "หล้า" นี้ จะตรงกับคำไทยกลางว่า "ล่า" ที่แปลว่าช้า เช่น "คือมาหล้าแท้" จะหมายถึง "ทำไมมาช้าจัง" และคำว่า "ลูกหล้า" ก็หมายถึง "ลูกคนล่า(สุด)" หรือลูกคนสุดท้องนั่นเอง&lt;/p&gt;

&lt;p&gt;เรื่องนี้สอดคล้องกับที่ผมเคย &lt;a href="http://dict.longdo.com/portal/node/13"&gt;ตั้งข้อสังเกตไว้&lt;/a&gt; พร้อม &lt;a href="http://dict.longdo.com/portal/node/16"&gt;วิเคราะห์สำเนียงขอนแก่นเป็นตัวอย่าง&lt;/a&gt; โดยได้นำเสนอครั้งแรกใน &lt;a href="http://lang4fun.blogspot.com/2004/11/blog-post_110067169252266798.html"&gt;Lang4Fun&lt;/a&gt; เมื่อราว 6 ปีที่แล้ว จากนั้น เวลาเขียน blog ที่ Lang4Fun ผมก็ได้ใช้หลักการนี้มาตลอด โดยในระยะแรกผมจะเขียนคำอ่านกำกับไว้เผื่อผู้ที่ไม่คุ้นเคย แต่หลัง ๆ คิดเอาเองว่าผู้อ่านคงเริ่มคุ้นเคยแล้วก็ไม่ได้เขียนคำอ่านกำกับ ก็ปรากฏว่ามีผู้มาทักท้วงว่าเสียงไม่ถูกต้อง เช่น ในความเห็นท้ายคำว่า &lt;a href="http://lang4fun.blogspot.com/2005/02/blog-post_15.html"&gt;ไหง่&lt;/a&gt; และ &lt;a href="http://lang4fun.blogspot.com/2005/05/blog-post_06.html"&gt;ดุ, ฮ้าย&lt;/a&gt; เป็นการแสดงให้เห็นว่า ยังมีคนอีสานจำนวนมากที่เขียนคำอีสานแบบใส่สำเนียงอ่าน แทนที่จะเขียนรูปคำให้ผู้อ่านผันเอา ซึ่งการเขียนแบบใส่สำเนียงอ่านจะมีความลักลั่นหลายประการ ดังที่ผมได้อธิบายไปใน&lt;a href="http://dict.longdo.com/portal/node/13"&gt;บทความนั้น&lt;/a&gt; ซึ่งก็ปรากฏว่าหลวงพ่อท่านก็กังวลเรื่องเดียวกันนี้เหมือนกัน แต่ท่านคงพูดเรื่องนี้มานานแล้ว จากความสนใจในเรื่องภาษามาตลอดชีวิตของท่าน ก็เป็นอีกครั้งหนึ่งที่ผมได้รับแรงบันดาลใจจากผู้รู้ ช่วยให้มั่นใจยิ่งขึ้นว่าสิ่งที่ผมคิดนั้นถูกต้องแล้ว (ครั้งแรกที่ได้พบความเห็นเช่นนี้จากผู้รู้ ก็คือ &lt;a href="http://dict.longdo.com/portal/node/13#comment-90"&gt;ความเห็นของครูวัฒน์&lt;/a&gt; จากโรงเรียนสว่างวีระวงศ์ ในท้ายบทความที่ผมเขียน)&lt;/p&gt;

&lt;h4&gt;เสียง ญ และ ย&lt;/h4&gt;

&lt;p&gt;เมื่อได้พูดถึงเรื่องการสะกดและผันวรรณยุกต์อีสานแล้ว ก็คงเลี่ยงไม่ได้ที่ท่านจะพูดถึงเสียง ญ และ ย ที่มักจะสร้างความสับสนงุนงงให้กับผู้ที่ฝึกพูดภาษาอีสาน เพราะในภาษาอีสานนั้น นอกจากการออกเสียงนาสิกที่ต่างกันแล้ว พยัญชนะทั้งสองตัวนี้ยังถือว่าอยู่คนละหมู่ในไตรยางศ์ ทำให้ผันวรรณยุกต์ต่างกันอีกด้วย&lt;/p&gt;

&lt;p&gt;ในภาษาไทยเก่านั้น มีเสียงที่คล้ายกันอยู่สี่หน่วยเสียง คือ ญ, ย, หญ และ อย ซึ่งเดิมจะออกเสียงต่างกัน ไม่ใช่เหมือนกันไปหมดเหมือนในปัจจุบัน ความจริงใน blog เรื่อง &lt;a href="http://thep.blogspot.com/2011/02/on-thai-old-language.html"&gt;On Thai Old Language&lt;/a&gt; ผมควรจะได้เล่าเรื่องนี้ด้วย แต่ก็ไม่ได้เล่า กล่าวคือ เสียง ญ นั้นจะตรงกับ /ñ/ (เสียง ย + นาสิก), เสียง ย ตรงกับ /j/ (ย ปัจจุบัน), เสียง หญ ตรงกับ /hñ/ (เสียง ฮ ตามด้วย ย + นาสิก), เสียง อย ตรงกับ /Ɂj/ (อ ตามด้วย ย) แล้วต่อมาจึงกลืนเสียงเข้าด้วยกันหมดกลายเป็นเสียง ย /j/ แบบเดียว&lt;/p&gt;

&lt;p&gt;สำหรับภาษาลาว/อีสานนั้น จะมีหน่วยเสียงต่างกันสองหน่วยเสียง คือ ญ กับ อย ซึ่งอักษรลาวจะแทนเสียง ญ ด้วย ຍ (ຍ ຍຸງ) และแทนเสียง อย ด้วย ຢ (ຢ ຢາ) โดย ຍ ຍຸງ จะมีเสียงออกจมูก และผันวรรณยุกต์เหมือนอักษรต่ำ ส่วน ຢ ຢາ จะไม่มีเสียงออกจมูก และผันวรรณยุกต์เหมือนอักษรกลาง&lt;/p&gt;

&lt;p&gt;ท่านยกตัวอย่างชื่ออำเภอสองอำเภอ คือ "เชียงยืน" กับ "พระยืน" คำว่า "ยืน" ในทั้งสองชื่อนี้เป็นคนละคำ ออกเสียงต่างกัน และความหมายก็ต่างกันด้วย "ยืน" ใน "เชียงยืน" จะเป็นเสียง "ญืน" (ຍືນ, ออกเสียงว่า [ญื่น]) แปลว่ายาวนาน เหมือนในคำว่า "ยั่งยืน" ส่วน "ยืน" ใน "พระยืน" นั้น จะเป็นเสียง "อยืน" (ຢືນ, ออกเสียงว่า [หยื่น]) หมายถึงกิริยาเอาเท้าเหยียบพื้นตั้งตัวตรงขึ้นไป ซึ่งในภาษาไทยสมัยเก่าก็เขียนคำว่า "ยืน" คำหลังนี้เป็น "อยืน" เช่นกัน ก่อนที่จะกลืนเสียงเป็นเสียงเดียวกัน พร้อมกับเปลี่ยนตัวสะกดกลายเป็นคำพ้องทั้งรูปทั้งเสียงในปัจจุบัน&lt;/p&gt;

&lt;p&gt;ภาษาไทยปัจจุบัน มีคำที่ใช้ อย เหลือเพียงสี่คำ คือ อย่า อยู่ อย่าง อยาก แต่ในภาษาเก่าคงมีเยอะกว่านี้มาก ซึ่งอาจสืบประวัติได้จากร่องรอยที่หลงเหลืออยู่ในสำเนียงภาษาถิ่นต่าง ๆ นี่เอง&lt;/p&gt;

&lt;p&gt;อีกตัวอย่างหนึ่งคือชื่อต้นไม้สองชนิด คือต้นยางนากับต้นยางพารา ต้นยางนานั้น ใช้ ຍ ຍຸງ จึงเขียนเป็น "ต้นญาง" ออกเสียงว่า [ต้น_-ญ่าง] (โทต่ำ,โท+นาสิก) แต่ถ้าเป็นต้นยางพารา ใช้ ຢ ຢາ เขียนเป็น "ต้นยาง" หรือ "ต้นอยาง" ออกเสียงว่า [ต้น_-หย่าง] (โทต่ำ,เอก+ไม่นาสิก)&lt;/p&gt;

&lt;p&gt;ตัวอย่างถัดมาอีก คือคำว่า "ยาย" ที่หมายถึงแม่ของแม่นั้น ใช้ ຍ ຍຸງ จึงเขียนเป็น "ญาย" ออกเสียงว่า [ญ่าย] แต่อีกคำคือ "ยาย" ที่หมายถึงกระจัดกระจาย หรือกระจายของออกจากกัน ใช้ ຢ ຢາ เขียนเป็น "ยาย" หรือ "อยาย" ออกเสียงว่า [หย่าย]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;หมายเหตุ:&lt;/strong&gt; เสียงอักษรกลางรูปสามัญในบางสำเนียง ไม่ได้ผันเป็นเสียงเอก แต่ใช้เสียงสามัญก็มี เช่น อฺยืน, อฺยาง, อฺยาย อาจจะออกเสียงเป็น [ยืน], [ยาง], [ยาย] ไปเลย ไม่ใช่ [หยื่น], [หย่าง], [หย่าย] เหมือนสำเนียงขอนแก่น&lt;/p&gt;

&lt;h4&gt;เกร็ดเบ็ตเดล็ด&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt; ชื่อ "บ้านสงเปือย" นั้น บางคนพยายามจับแต่งไทยเป็น "บ้านสงฆ์เปลือย" ซึ่งผิดความหมายไปไกล ที่ถูกนั้น ควรรักษาคำเดิมไว้ คำว่า "สง" ในภาษาอีสานหมายถึงป่า ส่วน "เปือย" หมายถึงไม้ชนิดหนึ่งที่เปลือกลอกล่อนได้ (เปิดพจนานุกรมแล้ว หมายถึงต้นตะแบก) ดังนั้น "บ้านสงเปือย" จึงหมายถึง "บ้านป่าตะแบก" &lt;/li&gt;
  &lt;li&gt; ข้าวมื้อเช้านั้น อีสานเรียก "เข้างาย" (เข้า = ข้าว; งาย = เช้า) และจะมีคำขยายเพิ่มได้ ถ้า "งายเงย" จะหมายถึงกินข้าวเช้าสายกว่าเวลาปกติ แต่ถ้า "งายตาเหลือก" หมายถึงกินสายจนหิวข้าวตาลายหมดแล้ว &lt;/li&gt;
  &lt;li&gt; ทางเมืองเหนือ เรียกเณรว่าพระ เรียกพระว่าตุ๊ แต่ทางอีสาน เรียกพระว่าพระเหมือนภาษากลาง แต่จะเรียกเณรว่า "จั่ว" [จัว^] &lt;/li&gt;
  &lt;li&gt; "หลัว" [หลัว] หมายถึงไม้ฟืนขนาดเล็ก ที่เผาแล้วเหลือแต่ขี้เถ้า ไม่เป็นถ่าน เช่น หลัวไม้ไผ่ &lt;/li&gt;
  &lt;li&gt; "ขี้ซี" [ขี่-ซี่] หมายถึงชันที่ใช้ยาชะลอมใส่น้ำ ซึ่งชะลอมที่ยาชันนี้เรียกว่า "คุ" &lt;/li&gt;
  &lt;li&gt; "กะบอง" [กะ-บ่อง] หมายถึงขี้ไต้ที่ห่อมัดเป็นท่อนพร้อมใช้ มีคัมภีร์ใบลานบางฉบับ จะจบเรื่องด้วยการบอกว่า กะบองจะหมดแล้ว ไม่มีไฟให้แสงสว่างแล้ว จึงขอจบเรื่องเพียงเท่านี้ &lt;/li&gt;
  &lt;li&gt; "โพน" [โพ่น] หมายถึงจอมปลวกที่เป็นมูลดินขึ้นมา ซึ่งดินจอมปลวกนี้มีแร่ธาตุอุดมสมบูรณ์ ปลูกพืชได้งาม นาผืนไหนมีจอมปลวกมักเป็นที่ต้องการ ถ้าเป็นเนินดินที่ใหญ่หน่อยจะเรียก "โนน" [โน่น] แต่ถ้าเป็นเนินกว้างจะเรียก "มอ" [ม่อ] &lt;/li&gt;
  &lt;li&gt; ผญาทายปริศนา: อะไรเอ่ย ขี้ซ้างซอด ขี้มอดคา? (ใหญ่เหมือนขี้ช้างจะทะลุลอดได้ แต่ถ้าเล็กเหมือนขี้มอดจะทะลุไม่ได้)..... (เฉลย: ใยแมงมุม) &lt;/li&gt;
  &lt;li&gt; "กั้ว" [กั้ว_] หมายถึง รบกวน เช่น "อย่ามากั้วแถวนี้ ไปพู้นเลย" &lt;/li&gt;
  &lt;li&gt; "คั่ว" [คัว^] หมายถึง ควานหา เช่น "อย่าให้หนอนไปกั้ว แมงวันเข้าคั่ว" (อย่าให้หนอนเข้ามารบกวน จนแมลงวันบินควานไปทั่ว) &lt;/li&gt;
  &lt;li&gt; "บาย" [บ่าย] ที่หมายถึงลูบนั้น ในบางครั้งก็หมายถึงตีหรือกำราบ เช่น "กูสิบายมึงจั๊กบาด" หมายถึงจะตีให้ได้สักครั้ง &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;นี่บันทึกเท่าที่จำได้ ยังมีอีกมากที่จำมาไม่หมด เพราะตลอด 3-4 ชั่วโมงที่สนทนากับท่านนั้น ความรู้พรั่งพรูมาไม่หยุด ถ้ามีโอกาสไปกราบท่านอีกครั้งคงต้องเตรียมสมุดไปจด หรือเตรียมอัดเสียงท่านไว้เลย :-)&lt;/p&gt;

&lt;h4&gt;ส่งท้าย&lt;/h4&gt;

&lt;p&gt;เกี่ยวกับอักษรธรรมนั้น ท่านได้เสนอแนวคิดที่น่าสนใจอีกเรื่องหนึ่ง คือการปรับใช้การเขียนบาลีแบบประพินทุในอักษรไทย กลับไปใช้กับอักษรธรรม เพื่อให้เขียนได้โดยไม่ต้องใช้ตัวเฟื้อง ซึ่งก็เป็นแนวคิดที่น่าสนใจ&lt;/p&gt;

&lt;p&gt;ต้องเท้าความนิดหนึ่ง ว่าสมัยก่อนนั้นจะไม่ใช้อักษรไทยเขียนภาษาบาลี แต่จะใช้อักษรขอมหรืออักษรธรรมเท่านั้น ยกเว้นการเขียนแบบทับศัพท์หรือคำยืม ก็เหมือนกับการใช้ตัวโรมันเขียนภาษาอังกฤษแบบไม่ทับศัพท์ในปัจจุบันนั่นเอง ที่ไม่ใช้อักษรไทยก็เพราะอักษรไทยไม่มีตัวเฟื้อง เขียนพยัญชนะซ้อนตามแบบอักษรอินเดียไม่ได้ จนกระทั่งมีการริเริ่มใช้พินทุเพื่อประเชื่อมพยัญชนะซ้อนในสมัย ร.๕ เช่น คำว่า ปุปฺผา เป็นการใช้พินทุเชื่อมพยัญชนะซ้อน ปฺผ ของวรรคปะ ซึ่งถ้าเขียนด้วยอักษรอินเดีย จะต้องเขียน ผ ด้วยตัวเฟื้องหรือสังโยคซ้อนใต้ ป แต่อักษรไทยไม่มีตัวเฟื้อง ก็ใช้พินทุประที่ตำแหน่งเฟื้องไว้แทน เมื่อมีวิธีเขียนแบบนี้ ก็ทำให้เริ่มมีการใช้อักษรไทยเขียนภาษาบาลี-สันสกฤตจนแพร่หลาย จนเข้าแทนที่อักษรขอมและอักษรธรรมในปัจจุบัน&lt;/p&gt;

&lt;p&gt;ทีนี้ แนวคิดที่ท่านคิดเพิ่มเติม ก็คือนำหลักการประพินทุนี้ กลับไปใช้ในอักษรธรรม กลายเป็นการสร้างอักขรวิธีแบบใหม่สำหรับเขียนภาษาบาลี โดยเป็นอักษรธรรมแบบไม่มีตัวเฟื้อง ก็นับเป็นการริเริ่มที่น่าสนใจไม่น้อย&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-8972518877843005897?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/8972518877843005897/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/02/esaan-language-tidbits.html#comment-form' title='1 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8972518877843005897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/8972518877843005897'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/02/esaan-language-tidbits.html' title='Esaan Language Tidbits'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-9206179476985346967</id><published>2011-02-26T23:36:00.003+07:00</published><updated>2011-02-28T18:27:50.632+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Lao/Esaan Tham Script Issues</title><content type='html'>&lt;p&gt;จากที่ได้เขียนถึง &lt;a href="http://thep.blogspot.com/2010/11/isaan-scripts-project.html"&gt;โครงการอักษรอีสาน&lt;/a&gt; ไป และได้ร่าง &lt;a href="http://linux.thai.net/~thep/esaan-scripts/"&gt;รายละเอียดโครงการ&lt;/a&gt; พร้อมกับสร้าง &lt;a href="http://khottabun.sourceforge.net/"&gt;โครงการโคตรบูรณ์ที่ Sourceforge&lt;/a&gt; เพื่อดูแลและเผยแพร่ซอร์ส ก็ได้เริ่มทำฟอนต์อักษรธรรมอีสาน/ลาว โดยอาศัย &lt;a href="http://www.isangate.com/alphabet.html"&gt;ฟอนต์ของ อ.สานิตย์ โภคาพันธ์&lt;/a&gt; เป็นจุดเริ่มต้น&lt;/p&gt;

&lt;p&gt;ฟอนต์ของ อ.สานิตย์ นั้น รูปร่างตัวอักษรดูสวยงาม เพียงแต่ยังไม่ได้อยู่ในรูปแบบยูนิโค้ด จึงเริ่มด้วยการคัดลอก glyph มาลงในช่องตารางยูนิโค้ด จากนั้นก็ปรับเส้นตัวอักษรให้สม่ำเสมอกัน แล้วจึงเริ่มมาพิจารณาเรื่องของอักขรวิธี ซึ่งผลล่าสุดก็คืออย่างนี้:&lt;/p&gt;

&lt;p style="text-align: center"&gt;&lt;img src="http://4.bp.blogspot.com/-4f1RAqlp5ZI/TWuEqqZsebI/AAAAAAAABHw/6BGRs-Q5uck/s1600/20110211-esaan-tham-test-2.png" alt="Lao/Esaan Tham Sample Text" title="Lao/Esaan Tham Sample Text" /&gt;&lt;/p&gt;

&lt;p&gt;ภาพนี้สร้างจากตัวอย่างข้อความที่เก็บแบบ visual order ซึ่งยังไม่ตรงตามมาตรฐานยูนิโค้ด เพราะเพียงต้องการทดสอบการจัดเรียงอักขระเท่านั้น ถ้าจะวาดข้อความที่อยู่ในลำดับที่ยูนิโค้ดกำหนด ก็จะต้องเพิ่มกฎการสลับลำดับให้เป็น visual order เสียก่อน&lt;/p&gt;

&lt;p&gt;อย่างไรก็ดี เรื่องของอักขรวิธีก็ยังมีหลายประเด็นที่หาข้อยุติไม่ได้ เนื่องจากหลายตำราพูดต่างกัน ตัวอย่างเช่น:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ถ ฐ พ เฟื้อง ในอักษรล้านนาจะใช้ ฐ พ เฟื้องรูปเดียวกัน ส่วน ถ เฟื้องใช้เหมือนตัวเต็ม แต่สำหรับอักษรธรรมล้านช้าง จะแยกเป็นหลายตำรา โดยมีรายละเอียดแตกต่างกันออกไป เช่น:
       &lt;ul&gt;
         &lt;li&gt; &lt;a href="http://www.esansawang.in.th/esanweb/es3_text/palitx_web.pdf"&gt;อ.วัฒน ศรีสว่าง&lt;/a&gt; (อุบลราชธานี) แสดงไว้ในหน้า 5, 9 ว่า ถ เฟื้อง และ ฐ เฟื้อง มีรูปร่างเหมือนกัน แต่ต่างจาก พ เฟื้อง โดย ถ/ฐ เฟื้อง จะตวัดสั้น แต่ พ เฟื้อง จะตวัดหางตัดเส้นตั้งเลยออกไปทางขวา (อ้างอิงคำให้สัมภาษณ์ของ อ.โสรัจ นามอ่อน) &lt;/li&gt;
         &lt;li&gt; &lt;a href="http://www.laomanuscripts.net/downloads/tham_pali.pdf"&gt;พระยาหลวงมหาเสนา (ผูย)&lt;/a&gt; (ส.ป.ป. ลาว) แสดงไว้ในหน้า ๔ (PDF หน้า 19) ว่า ถ ฐ พ เฟื้องนั้น ต่างกันทั้งสามตัว โดย ถ เฟื้องตวัดน้อยที่สุดแต่มีหัวกลมทางขวา, ฐ เฟื้องไม่มีหัวและตวัดงอเข้ามาหน่อย และ พ เฟื้องตวัดตัดเส้นตั้งเลยไปทางขวาเหมือนของ อ.วัฒน &lt;/li&gt;
         &lt;li&gt; &lt;a href="http://www.bl.msu.ac.th/bailan/fonttham/tham.pdf"&gt;โครงการอนุรักษ์ใบลานภาคตะวันออกเฉียงเหนือ มหาวิทยาลัยมหาสารคาม&lt;/a&gt; ใช้ ถ ฐ พ เฟื้องเป็นรูปเดียวกันทั้งหมด โดยรูปร่างเหมือนกับ ฐ เฟื้อง ของสองเอกสารข้างต้น &lt;/li&gt;
         &lt;li&gt; หนังสือ &lt;em&gt;อักษรไทยโบราณ&lt;/em&gt; ของ อ.ธวัช ปุณโณทก (สนพ.จุฬาลงกรณ์มหาวิทยาลัย 2549) แสดงไว้ในหน้า 230 เป็นลายมือเขียนหวัด ซึ่งตัดสินลำบาก แต่ดูเหมือนจะเป็นมติเดียวกับ อ.วัฒน &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; นอกจากเรื่องรูปร่างที่มีหลายมติแล้ว เรื่องอักขรวิธีของ ถ ฐ พ เฟื้อง ก็พบว่ามีรายละเอียดแตกต่างกันไปอีก โดยสังเกตได้จากเอกสารของ อ.วัฒน และพระยาหลวงมหาเสนา (ผูย) คือ:
       &lt;ul&gt;
         &lt;li&gt; อ.วัฒน แสดงไว้ในหน้า 11 ว่า ฐ เฟื้อง จะใช้รูปเฟื้องก็ต่อเมื่อซ้อนอยู่ในพยัญชนะซ้อน ฏฺฐ เท่านั้น ถ้าอยู่ใน ณฺฐ จะใช้รูปเหมือนรูปเต็ม; และ ถ เฟื้อง ก็ทำนองเดียวกัน คือจะใช้รูปเฟื้องก็ต่อเมื่ออยู่ในพยัญชนะซ้อน ตฺถ เท่านั้น ถ้าอยู่ใน นฺถ จะใช้รูปเหมือนรูปเต็ม; ส่วน พ เฟื้องนั้น ใช้รูปเฟื้องเสมอทุกกรณี &lt;/li&gt;
         &lt;li&gt; พระยาหลวงมหาเสนา (ผูย) ก็แสดงไว้ทำนองเดียวกันในหน้า ๓๒ (PDF หน้า 47) แต่แตกต่างในกรณี ฐ เฟื้อง โดยจะใช้รูปเฟื้องทุกกรณี ไม่ว่าจะอยู่ใน ฏฺฐ หรือ ณฺฐ จึงเหลือกรณีที่ใช้สองรูปเพียง ถ เฟื้องเท่านั้น &lt;/li&gt;
       &lt;/ul&gt;
       &lt;/li&gt;
  &lt;li&gt; เอกสารของพระยาหลวงมหาเสนา (ผูย) แสดงไว้ในหน้า ๓ (PDF หน้า 18) ว่า ช เฟื้อง ใช้รูปคล้ายสระออ ในขณะที่เอกสารอื่นไม่ปรากฏตัวเฟื้องนี้ &lt;/li&gt;
  &lt;li&gt; ใน &lt;a href="http://www.unicode.org/charts/PDF/U1A20.pdf"&gt;บล็อคอักขระ Tai Tham ของยูนิโค้ด&lt;/a&gt; ยังมีเครื่องหมายวรรคตอนที่หาข้อมูลไม่ได้ ว่าอักษรธรรมล้านช้างใช้รูปไหน คือ เวียง, เวียงวาก, สวรรค์, เกี้ยว, หอย, ดอกไม้, ณ ตะแคง, คั่น, คั่นคู่, ซัดคั่น, ซัดคั่นคู่, หาง, ช้าง &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ประเด็นต่าง ๆ เหล่านี้ ถ้าจะปรับใช้อักษรธรรมในแบบร่วมสมัย ก็คงต้องเลือกเอาแบบใดแบบหนึ่งเป็นบรรทัดฐาน แต่ผมคงไม่สามารถเลือกเองได้ เพราะประสบการณ์น้อยเกินไป แต่ก็ได้พยายามวินิจฉัยเท่าที่ปัญญาจะมีไปแล้ว แต่ก็ควรปรึกษาผู้รู้เพื่อยืนยันให้แน่ใจอีกครั้ง โดยเฉพาะในส่วนของเครื่องหมายวรรคตอนที่ผมไม่มีข้อมูลเลย&lt;/p&gt;

&lt;p&gt;ท่านแรกที่ได้ไปปรึกษาคือ พระราชประสิทธิคุณ (สุนันท์ สุภาจาโร ป.ธ.๗ พธ.บ.) รองเจ้าคณะจังหวัดขอนแก่น เจ้าอาวาสวัดเทพปูรณาราม ที่ปรึกษารองอธิการบดี ม.มจร. วิทยาเขตขอนแก่น ซึ่งนอกจากจะได้ความรู้เรื่องอักษรธรรมแล้ว ยังได้เกร็ดความรู้ภาษาอีสานอีกมากมาย ไว้เขียนต่อใน blog หน้า&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update (2011-02-28 18:20+0700):&lt;/strong&gt; ซ่อมรูปภาพที่เสียเนื่องจากเซิร์ฟเวอร์ที่เก็บรูปดาวน์อยู่&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-9206179476985346967?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/9206179476985346967/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/02/laoesaan-tham-script-issues.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9206179476985346967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9206179476985346967'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/02/laoesaan-tham-script-issues.html' title='Lao/Esaan Tham Script Issues'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4f1RAqlp5ZI/TWuEqqZsebI/AAAAAAAABHw/6BGRs-Q5uck/s72-c/20110211-esaan-tham-test-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2267793365740360458</id><published>2011-02-04T14:53:00.005+07:00</published><updated>2011-02-04T16:17:48.325+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>On Thai Old Language</title><content type='html'>&lt;p&gt;ได้อ่านเกี่ยวกับภาษาไทยโบราณ ได้พูดไปบ้างใน Facebook ก็สมควรบันทึกไว้บน WWW ที่เป็นสาธารณะและสืบค้นได้ด้วย&lt;/p&gt;

&lt;p&gt;ภาษาไทยมีการเปลี่ยนแปลงตามยุคสมัยอยู่เสมอ โดยเฉพาะในสมัยก่อนที่คนส่วนใหญ่ไม่ได้รับการศึกษา การศึกษาที่มีก็ไม่ได้เป็นระบบระเบียบ รวมทั้งท้องถิ่นต่าง ๆ ก็ไม่ได้เชื่อมโยงกันทั่วถึงอย่างทุกวันนี้ ภาษาที่ใช้ในถิ่นต่าง ๆ จึงหลากหลาย การบันทึกจดจารก็คงไม่ได้เป็นระบบแบบแผนเหมือนทุกวันนี้ แต่ความจำเป็นที่ต้องสื่อสารกันให้รู้เรื่อง ก็ทำให้ภาษายังคงมีระเบียบบางอย่างกำกับอยู่บ้าง การแปรเปลี่ยนของคำจึงเป็นการเปลี่ยนอย่างช้า ๆ ตามกาลเวลา หาใช่ด้วยความจงใจ&lt;/p&gt;

&lt;p&gt;ได้อ่านหนังสือ &lt;strong&gt;วิวัฒนาการของภาษาไทย&lt;/strong&gt; โดย ดร.ราตรี ธันวารชร สนพ. มหาวิทยาลัยธรรมศาสตร์ ท่านได้ศึกษาเปรียบเทียบภาษาไทยสมัยสุโขทัยกับภาษากรุงเทพฯ ปัจจุบัน มีประเด็นน่าสนใจมากมาย คัดมาเพียงบางส่วนดังนี้:&lt;/p&gt;

&lt;h4&gt;พยัญชนะ ฃ ฅ&lt;/h4&gt;

&lt;p&gt;พยัญชนะ ฃ และ ฅ ปัจจุบันไม่มีที่ใช้แล้ว แม้จะมีผู้พยายามรื้อฟื้นกลับมาใช้ โดยส่วนใหญ่จะเป็น ฅ โดยใช้สะกดคำว่า &lt;q&gt;ฅน&lt;/q&gt; แต่ทราบหรือไม่ว่าคำว่า &lt;q&gt;คน&lt;/q&gt; นี้ ไม่เคยสะกดด้วยพยัญชนะ ฅ มาก่อนเลยในอดีต&lt;/p&gt;

&lt;p&gt;สมัยก่อน เสียงพยัญชนะ ฃ และ ฅ น่าจะออกเสียงต่างจาก ข และ ค ที่รับมาจากภาษาบาลีผ่านทางเขมร โดย &lt;a href="http://en.wikipedia.org/wiki/Li_Fang-Kuei"&gt;ดร. ฟังกวย ลี&lt;/a&gt; (李方桂) นักภาษาศาสตร์ชาวจีนที่ได้ลงพื้นที่ศึกษาภาษาตระกูลไทถิ่นต่าง ๆ ได้ให้ข้อสังเกตว่า ภาษาไทบางถิ่นยังคงออกเสียง ฃ ต่างจาก ข และ ฅ ต่างจาก ค เช่น ไทขาว, ไทลื้อ, ไทไต้คง, ไทลุงโจว และเสียง ฃ กับ ฅ เป็นเสียงภาษาไทยแท้ที่ไม่มีในบาลีสันสกฤต จึงต้องมีอักษรเติมมาช่วยเขียน (ในทำนองเดียวกับ ฎ ด บ ฝ ฟ)&lt;/p&gt;

&lt;p&gt;ดร. ฟังกวย ลี จัดเสียงพยัญชนะทั้งสี่ดังนี้:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; ข /kh/ เสียงกัก ไม่ก้อง มีลม เกิดที่ฐานเพดานอ่อน &lt;/li&gt;
  &lt;li&gt; ฃ /x/ เสียงเสียดแทรก ไม่ก้อง เกิดที่ฐานเพดานอ่อน &lt;/li&gt;
  &lt;li&gt; ค /g/ เสียงกัก ก้อง เกิดที่ฐานเพดานอ่อน &lt;/li&gt;
  &lt;li&gt; ฅ /ɣ/ เสียงเสียดแทรก ก้อง เกิดที่ฐานเพดานอ่อน &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://www.royin.go.th/th/knowledge/detail.php?ID=2049"&gt;บทความจากราชบัณฑิตยสถาน&lt;/a&gt; อ้างถึงบทความของ ศ.ดร. คุณหญิงสุริยา รัตนกุล ว่าเสียง ฃ และ ฅ นั้น เป็นเสียงที่เกิดลึกเข้าไปหลังเพดานอ่อน คือลึกกว่า ข กับ ค ที่โคนลิ้นยังแตะแค่ที่เพดานอ่อน (ลองออกเสียงดูคงคล้ายเสียงขากเสลด)&lt;/p&gt;

&lt;p&gt;คำที่สะกดด้วย ฃ ในสมัยสุโขทัย ได้แก่ ฃึ้น เฃ้า(ย้ายไปข้างใน) ฃุน ฃาย ฃอ(ตะขอ) ฃ้า(=ฆ่า เป็นคนละคำกับ &lt;q&gt;ข้า&lt;/q&gt; ที่แปลว่าผู้อยู่ใต้ปกครอง) หมากฃาม(มะขาม) ฃับ(ร้อง) เฃา(ภูเขา) ฃวา แฃวน&lt;/p&gt;

&lt;p&gt;คำที่สะกดด้วย ฅ ในสมัยสุโขทัย ได้แก่ ฅำ(เวียงคำ) ฅุ้ม แฅว ฅวาม ฅอ ฅ้อน ฅา(ขวางอยู่) ฅาบ(เวลา) ฅืน(ค่ำ)&lt;/li&gt;

&lt;p&gt;สำหรับคำว่า &lt;q&gt;เฃ้า&lt;/q&gt; (ย้ายไปข้างใน) นี้ ถ้าเขียนด้วย ข เป็น &lt;q&gt;เข้า&lt;/q&gt; ในสมัยก่อนจะหมายถึงคำว่า &lt;q&gt;ข้าว&lt;/q&gt; ของภาษาปัจจุบัน ต่อมามีการยืดเสียงสระออกเป็น &lt;q&gt;ข้าว&lt;/q&gt; ดังนั้น เมื่อเลิกใช้ ฃ แล้วสะกด &lt;q&gt;เฃ้า&lt;/q&gt; เป็น &lt;q&gt;เข้า&lt;/q&gt; แทน จึงไม่กลายเป็นคำพ้องรูป&lt;/p&gt;

&lt;p&gt;คำว่า &lt;q&gt;ฃ้า&lt;/q&gt; (ทำให้ตาย) ก็คล้ายกัน เป็นคนละคำกับ &lt;q&gt;ข้า&lt;/q&gt; ที่หมายถึงผู้อยู่ใต้ปกครอง พอเลิกใช้ ฃ คำนี้ก็เปลี่ยนมาสะกดด้วย ฆ เป็น ฆ่า แทน&lt;/p&gt;

&lt;p&gt;คำว่า &lt;q&gt;ฃับ&lt;/q&gt; จะใช้กับการขับร้อง แต่ถ้าใช้ ข สะกดเป็น &lt;q&gt;ขับ&lt;/q&gt; จะหมายถึงการขับไล่&lt;/p&gt;

&lt;p&gt;เสียง ฃ และ ฅ คงกลืนหายไปกับเสียง ข และ ค (ซึ่งเดิม ข กับ ค ก็ออกเสียงต่างกัน แต่ก็กลืนหายเข้าด้วยกันเหมือนกัน) แล้วก็ค่อย ๆ ใช้น้อยลง ๆ จนกระทั่งถูกตัดทิ้งไปสมัยสร้างพิมพ์ดีดแล้วปุ่มพิมพ์ดีดมีไม่พอ ทำให้ถูกยกเลิกไปกลาย ๆ&lt;/p&gt;

&lt;p&gt;นอกจากนี้ เสียงพยัญชนะอื่น ๆ ที่เราเห็นว่าออกเสียงเหมือนกัน เช่น กลุ่ม {ณ-, หน-, น-} หรือ {อย-, ย-, ญ-}, {ฎ-, ต-} เมื่อก่อนก็ออกเสียงต่างกัน จนกระทั่งเกิดการกลืนเสียงเข้าด้วยกัน กลายเป็นภาษากรุงเทพฯ ปัจจุบัน โดยปัจจุบันมีแนวโน้มว่าเสียง ร อาจจะถูกกลืนเข้ากับเสียง ล ด้วย การกลืนเสียงเหล่านี้ทำให้เราคิดว่าพยัญชนะมีซ้ำซ้อนหลายชุด แต่ถ้าได้ศึกษาภาษาไทถิ่นต่าง ๆ โดยละเอียด จะพบว่าในบางถิ่นทุกวันนี้ก็ยังออกเสียงพยัญชนะเหล่านี้ต่างกัน เช่น กรณีเสียง ฃ ฅ ในไทขาวของเวียดนาม, เสียง ญ นาสิกในภาษาอีสาน เป็นต้น&lt;/p&gt;

&lt;h4&gt;ไม้ม้วนกับไม้มลาย&lt;/h4&gt;

&lt;p&gt;ไม่ใช่แค่พยัญชนะ สระก็มีเสียงที่ปัจจุบันซ้ำซ้อนกัน คือ ไม้ม้วนกับไม้มลาย แต่จากการศึกษาภาษาไทถิ่นต่าง ๆ พบว่าในบางถิ่นยังออกเสียงสระสองตัวนี้ต่างกัน จึงทำให้สันนิษฐานว่าภาษาไทยสมัยสุโขทัยก็อาจออกเสียงสระสองตัวนี้ต่างกันด้วย&lt;/p&gt;

&lt;p&gt;ไม้มลายนั้น เป็นสระบาลีสันสกฤต ภาษาไททุกถิ่นจะออกเสียงเป็น ไอ /ai/ หรือ /aj/ เหมือนกันหมด แต่ไม้ม้วนไม่มีในบาลีสันสกฤต เป็นสระที่ประดิษฐ์เพิ่มเพื่อใช้แทนเสียงสระของคำไทยแท้ ภาษาไทยบางถิ่นยังคงออกเสียงต่างจากไม้มลาย เช่น ไทใหญ่ ออกเสียงเป็น /aaɯ/ (อา-อือ) ไทดำ ออกเสียงเป็น /əɯ/ (เออ-อือ) และผู้ไท ออกเสียงเป็น /ɤɤ/ (เออ)&lt;/p&gt;

&lt;p&gt;นอกจากนี้ ยังมีการเปลี่ยนเสียงสระในลักษณะต่าง ๆ อีก เช่น:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; ญีง เป็น หญิง &lt;/li&gt;
  &lt;li&gt; ญีน เป็น ยิน &lt;/li&gt;
  &lt;li&gt; อย้าว เป็น เหย้า &lt;/li&gt;
  &lt;li&gt; พู่ง เป็น พุ่ง &lt;/li&gt;
  &lt;li&gt; เข้า เป็น ข้าว &lt;/li&gt;
  &lt;li&gt; จี่ง เป็น จึ่ง &lt;/li&gt;
  &lt;li&gt; แล้ เป็น ละ &lt;/li&gt;
  &lt;li&gt; (แม่น้ำ)ของ เป็น โขง &lt;/li&gt;
  &lt;li&gt; โนน เป็น นอน &lt;/li&gt;
  &lt;li&gt; โสง เป็น สอง &lt;/li&gt;
  &lt;li&gt; โอก เป็น ออก &lt;/li&gt;
  &lt;li&gt; สูด เป็น สวด &lt;/li&gt;
  &lt;li&gt; ช่อย เป็น ช่วย &lt;/li&gt;
  &lt;li&gt; หลวก เป็น หลัก &lt;/li&gt;
  &lt;li&gt; เงือน เป็น เงิน &lt;/li&gt;
  &lt;li&gt; เถิง เป็น ถึง &lt;/li&gt;
  &lt;li&gt; เสือก เป็น เสิก และเป็น ศึก &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ซึ่งคำเหล่านี้ จะพบว่ามีหลายคำที่ภาษาถิ่นยังคงรักษาเสียงเดิมไว้ เช่น แม่ญีง, เข้า, ช่อย (ซ่อย) บางคำก็มีใช้ทั้งสองรูป เช่น เพิ่ง กับ พึ่ง&lt;/p&gt;

&lt;h4&gt;ความหมายของคำ&lt;/h4&gt;

&lt;p&gt;คำบางคำก็เพี้ยนความหมายจากเดิม เช่น:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;แกล้ง&lt;/strong&gt; เดิมหมายถึง &lt;q&gt;ตั้งใจทำ&lt;/q&gt; เช่น &lt;q&gt;งามฎั่ง&lt;em&gt;แกล้ง&lt;/em&gt;แฏ่ง&lt;/q&gt; หมายถึงงานเหมือนตั้งใจประดิดประดอยแต่งไว้ ปัจจุบันหมายถึง &lt;q&gt;จงใจทำแบบไม่จริงใจ&lt;/q&gt; เช่น &lt;q&gt;&lt;em&gt;แกล้ง&lt;/em&gt;ทำเป็นดีด้วย&lt;/q&gt; &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;แพ้&lt;/strong&gt; เดิมหมายถึง ชนะ ส่วนคำที่แปลว่า ไม่ชนะ จะใช้คำว่า &lt;q&gt;พ่าย&lt;/q&gt; เช่น &lt;q&gt;ตนกูพู่งช้างขุนสามชนตัวชื่อมาสเมือง&lt;em&gt;แพ้&lt;/em&gt; ขุนสามชน&lt;em&gt;พ่าย&lt;/em&gt;หนี&lt;/q&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ไว้เจออะไรสนุก ๆ แล้วจะมาบันทึกอีก :-)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update (2011-02-04 16:14+0700):&lt;/strong&gt; แก้คำอธิบายเรื่อง &lt;q&gt;แกล้ง&lt;/q&gt; ให้ชัดเจนขึ้น&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2267793365740360458?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2267793365740360458/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/02/on-thai-old-language.html#comment-form' title='7 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2267793365740360458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2267793365740360458'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/02/on-thai-old-language.html' title='On Thai Old Language'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4601699880833226457</id><published>2011-01-18T12:19:00.002+07:00</published><updated>2011-01-18T12:23:16.005+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='th.gnome.org'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>th.gnome.org Closed</title><content type='html'>&lt;p&gt;เว็บ th.gnome.org ล่มมาสามเดือนกว่าแล้ว โดยที่ไม่มีใครเดือดร้อนหรือทักท้วงอะไร อีกทั้ง &lt;a href="http://statcounter.com/project/standard/stats.php?project_id=2908741"&gt;hit stat&lt;/a&gt; ในช่วงที่เปิดทำงานอยู่ก็ไม่ได้สูงอะไร ก็คงเป็นสัญญาณว่ามันไม่มีประโยชน์ใด ๆ กับใครนัก ในขณะที่การดูแลเว็บนั้นกินเวลาใช่เล่น สแปมเป็นเสมือนปลวกที่กัดกินบ้านที่ไม่มีใครดูแลเพื่อย่อยสลายวัสดุให้กลับคืนสู่ธรรมชาติ การต้องคอยกำจัดปลวกในบ้านร้างก็เป็นเรื่องที่เสียเวลาโดยใช่เหตุ ในเมื่อยังมีงานด้านอื่น ๆ ให้ทำอีกมากมาย ฉะนั้น ผมจึงถือโอกาสปิดเว็บ &lt;em&gt;GNOME ไทย&lt;/em&gt; โดยไม่พยายามกู้คืน&lt;/p&gt;

&lt;p&gt;ว่ากันตามปรัชญาของเว็บ ก็คงเห็นได้ว่ามันยังไม่ถึงเวลาที่คนไทยจะมีความเชื่อมโยงกับโครงการต้นน้ำ การที่เราสามารถดึงผู้ใช้จากดิสโทรลินุกซ์ท้องถิ่นให้ขยับขึ้นมาสู่ระดับดิสโทรสากลได้ก็นับว่าเป็นผลงานที่ดีมากแล้วของคลับต่าง ๆ ในเมืองไทย&lt;/p&gt;

&lt;p&gt;ในอีกด้านหนึ่ง โครงการต้นน้ำเองก็ยอมรับหน้าชื่นตาบาน ว่ายุคนี้สมัยนี้ผู้ใช้ไม่จำเป็นต้องรับรู้ถึงการมีอยู่ของโครงการต้นน้ำอีกต่อไป ตัวอย่างเช่น เมื่อครั้งที่ถกกันเรื่อง &lt;a href="http://thep.blogspot.com/2008/10/gnome-foot-and-thai-people.html"&gt;โลโก้ GNOME&lt;/a&gt; (พร้อม &lt;a href="http://thep.blogspot.com/2008/11/gnome-alternative-logo.html"&gt;ตอนต่อมา&lt;/a&gt;) คนในชุมชน GNOME จำนวนมากอ้างว่า สิ่งที่ผู้ใช้จะเห็นในทุกวันนี้คือโลโก้ของดิสโทร ไม่มีใครจำเป็นต้องเห็นโลโก้ของ GNOME อีกแล้ว ถ้าจะแก้ก็ให้ไปแก้ที่ดิสโทร ซึ่งนัยในทางการตลาดก็หมายความว่าความมีตัวตนของโครงการต้นน้ำนั้นไม่จำเป็นสำหรับผู้ใช้อีกต่อไป&lt;/p&gt;

&lt;p&gt;ด้วยเหตุผลต่าง ๆ ข้างต้น จึงนำมาสู่ข้อสรุปของผมที่จะไม่พยายามกู้เว็บ &lt;em&gt;GNOME ไทย&lt;/em&gt; กลับคืน (แม้จะกู้ไม่ยากเท่าไร) ขอขอบคุณ &lt;a href="http://www.mrchoke.org/"&gt;MrChoke&lt;/a&gt; สำหรับการสนับสนุน hosting ตลอดเวลาที่ผ่านมาครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4601699880833226457?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4601699880833226457/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/01/thgnomeorg-closed.html#comment-form' title='4 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4601699880833226457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4601699880833226457'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/01/thgnomeorg-closed.html' title='th.gnome.org Closed'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-224636461133374691</id><published>2011-01-13T13:07:00.001+07:00</published><updated>2011-01-13T13:07:35.021+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอขอบคุณ&lt;/a&gt; &lt;a href="http://noistuff.wordpress.com/"&gt;คุณหน่อย SNC&lt;/a&gt; ที่ได้ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt; เป็นของขวัญปีใหม่ เพื่อสนับสนุนงานพัฒนาซอฟต์แวร์เสรีของผม ขอให้สุขภาพแข็งแรง สุขกาย สุขใจ ตลอดทั้งปีนะครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-224636461133374691?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/224636461133374691/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2011/01/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/224636461133374691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/224636461133374691'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2011/01/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-7373814124177409472</id><published>2010-12-19T09:55:00.001+07:00</published><updated>2010-12-19T09:57:11.321+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอขอบคุณ&lt;/a&gt; &lt;a href="http://thaitux.info/"&gt;คุณวิทยา&lt;/a&gt; อีกครั้ง ที่ได้ &lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt; เพื่อสนับสนุนงานพัฒนาซอฟต์แวร์เสรีของผม ขอให้คุณพระคุ้มครองคุณวิทยาและครอบครัวให้เจริญด้วยอายุ วรรณะ สุขะ พละ ครับผม&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-7373814124177409472?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/7373814124177409472/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/12/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/7373814124177409472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/7373814124177409472'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/12/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2988500113305405106</id><published>2010-11-14T08:31:00.002+07:00</published><updated>2010-11-14T08:36:27.982+07:00</updated><title type='text'>Isaan Scripts Project</title><content type='html'>&lt;p&gt;หลังจากที่ได้ตั้งกลุ่ม &lt;a href="https://www.facebook.com/home.php?sk=group_168680173149434"&gt;Khon Kaen Linux User Group&lt;/a&gt; (&lt;a href="https://www.facebook.com/group.php?gid=118289004865476"&gt;เวอร์ชันเก่า&lt;/a&gt;, &lt;a href="https://www.facebook.com/kklinux"&gt;Page ของกลุ่ม&lt;/a&gt;) ใน Facebook และมีการจัดประชุม &lt;em&gt;&lt;q&gt;โสเหล่&lt;/q&gt;&lt;/em&gt; ประจำเดือนกันมา ก็เริ่มมีกิจกรรมถกกันหลายเรื่อง หนึ่งในนั้นก็คือ การรองรับอักษรอีสานในลินุกซ์ ซึ่งรายละเอียดได้ถกกันบางส่วนในห้องชุมชนผู้ใช้งานภาคตะวันออกเฉียงเหนือของ Ubuntuclub ในกระทู้ &lt;a href="http://forum.ubuntuclub.com/forum?topic=16577.0"&gt;ภาษาถิ่นในลินุกซ์&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;อักษรอีสานตามแบบล้านช้างมีใช้กันมาแต่โบราณ เพิ่งยกเลิกไปในสมัย ร.๖ นี่เอง แบ่งเป็นอักษรสองชนิด คืออักษรไทน้อย และอักษรธรรม โดยอักษรไทน้อยใช้เขียนเอกสารทั่วไป รวมทั้งเอกสารราชการด้วย ส่วนอักษรธรรมจะใช้เขียนคัมภีร์ทางศาสนา&lt;/p&gt;

&lt;p&gt;ทำไมต้องรองรับอักษรอีสาน?&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt; มีวรรณกรรมอีสานมากมายที่จารึกไว้ด้วยอักษรธรรมและไทน้อย มีโครงการปริวรรตวรรณกรรมอีสานเป็นอักษรไทยพอสมควร เช่น
       &lt;ul&gt;
         &lt;li&gt; &lt;a href="http://www.lib.ubu.ac.th/bailan/abstract.html"&gt;ม.อุบลฯ&lt;/a&gt; เป็นลักษณะเรื่องย่อ เล่าด้วยภาษาไทยกลาง &lt;/li&gt;
         &lt;li&gt; &lt;a href="http://www.bl.msu.ac.th/2553/bailan.htm"&gt;ม.มหาสารคาม&lt;/a&gt; ปริวรรตเป็นอักษรไทย จัดพิมพ์เป็นเล่ม &lt;/li&gt;
         &lt;li&gt; &lt;a href="http://www.plurality.net/"&gt;ศูนย์วิจัยพหุลักษณ์ลุ่มน้ำโขง ม.ขอนแก่น&lt;/a&gt; มีการพิมพ์หนังสือวรรณกรรมอีสานเป็นอักษรไทน้อย พร้อมปริวรรตเป็นอักษรไทย &lt;/li&gt;
         &lt;li&gt; &lt;a href="http://www.esansawang.in.th/esanweb/es0_home/index_esan.html"&gt;โรงเรียนสว่างวีระวงศ์ จ.อุบลฯ&lt;/a&gt; มีบทเรียนอักษรไทน้อยและอักษรธรรมอีสาน &lt;/li&gt;
       &lt;/ul&gt;
       วรรณกรรมเหล่านี้ ควรค่าแก่การบันทึกในรูปดิจิทัลโดยใช้รหัสยูนิโค้ด
       &lt;/li&gt;
  &lt;li&gt; อักษรอีสานเพิ่งเลิกใช้ได้ไม่ถึงร้อยปี ยังไม่สายหากจะฟื้นฟูขึ้นมาใหม่ เพื่อประโยชน์ในการศึกษาภาษาและวรรณกรรมท้องถิ่นจากเอกสารเก่า เนื่องจากปัจจุบันถือได้ว่าภาษาอีสานเหลือแต่ภาษาพูด ส่วนภาษาเขียนที่ใช้อักษรไทยกลางนั้นมีความลักลั่นสูงมาก ดังที่ผมเคย &lt;a href="http://dict.longdo.com/portal/node/13"&gt;สรุปไว้ที่ longdo&lt;/a&gt; และพยายาม &lt;a href="http://dict.longdo.com/portal/node/16"&gt;วิเคราะห์หน่วยเสียงสำเนียงขอนแก่นเป็นตัวอย่าง&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ตามประวัติแล้ว อักษรไทน้อยและอักษรธรรมอีสานมีการสืบทอดมาจากล้านนา ผ่านทางล้านช้าง&lt;/p&gt;

&lt;p&gt;พื้นที่อีสานมีหลักฐานเป็นอักษรจารึกค่อนข้างหลากหลาย แรกเริ่มเดิมที จารึกที่เก่าแก่ที่สุดที่พบในอีสานจะใช้อักษรปัลลวะ ยุคต่อมาก็เป็นอักษรขอม แต่พอขอมเริ่มเสื่อมอำนาจลง จารึกในอีสานก็ขาดช่วงไปเป็นเวลาหลายร้อยปี แล้วจู่ ๆ ก็มีจารึกอักษรพญาลิไทปรากฏขึ้น ซึ่งตรงกับหลักฐานทางสุโขทัยว่ามีการเผยแผ่พุทธศาสนาเถรวาทจากสุโขทัยออกไปในรัฐไทยต่าง ๆ รวมทั้งล้านช้างด้วย ตรงนี้สันนิษฐานว่าชนชาติที่ใช้อักษรขอมกับชนชาติไทย-ลาวที่เริ่มใช้อักษรพญาลิไทน่าจะเป็นคนละชนชาติกันแล้ว และชนชาติไทย-ลาวในอีสานก็ได้รับอักษรพญาลิไทมาใช้ตั้งแต่บัดนั้น&lt;/p&gt;

&lt;p&gt;ทางภาคเหนือ หริภุญชัยได้รับถ่ายทอดวัฒนธรรมจากชาวมอญที่ลี้ภัยจากการรุกรานของพระเจ้าอนุรุทธแห่งพุกามมา และเริ่มมีอักษรมอญใช้ ก่อนจะค่อย ๆ พัฒนาเป็นอักษรยวนล้านนา (ตัวเมือง) ต่อมาจนถึงสมัยล้านนาเชียงใหม่&lt;/p&gt;

&lt;p&gt;เมื่อทางสุโขทัยมีการใช้ลายสือไทย และแพร่กระจายขึ้นไปทางภาคเหนือพร้อมกับการเผยแผ่พุทธศาสนาในสมัยพญาลิไท ล้านนาก็เริ่มรับเอาอักษรสุโขทัยไปใช้บ้าง โดยมีการพัฒนารูปร่างและผสมอักษรยวนเข้ามานิดหน่อยจนกลายเป็น &lt;em&gt;อักษรฝักขาม&lt;/em&gt; ซึ่งหลัก ๆ จะใช้อักขรวิธีแบบไทย (คือเขียนตัวสะกด-ควบกล้ำบนบรรทัด ไม่ใช่ใช้ตัวเฟื้องห้อยข้างล่างตามแบบมอญ)&lt;/p&gt;

&lt;p&gt;อักษรยวนล้านนาและอักษรฝักขามค่อย ๆ แพร่กระจายเข้าไปในล้านช้างผ่านทางพระล้านช้างที่มาศึกษาศาสนาในล้านนา และแพร่อย่างทวีคูณเมื่อมีความสัมพันธ์ทางการเมืองกันในสมัยพระเจ้าโพธิสาลราชของล้านช้าง ซึ่งได้ราชธิดาพระเจ้าเชียงใหม่เป็นมเหสี และเมื่อแผ่นดินเชียงใหม่ว่างลงโดยขาดรัชทายาท พระไชยเชษฐาธิราชซึ่งเป็นพระโอรสลูกครึ่งล้านช้าง-ล้านนาจึงได้รับอัญเชิญให้ไปครองเมืองเชียงใหม่ ต่อมาพระไชยเชษฐาธิราชได้ย้ายกลับมาครองล้านช้าง ตั้งเวียงจันทน์เป็นเมืองหลวงใหม่ เอกสารต่าง ๆ ของล้านนาจึงถูกเคลื่อนย้ายเข้าล้านช้างขนานใหญ่ พร้อมกับอักษรยวนล้านนาและอักษรฝักขามด้วย&lt;/p&gt;

&lt;p&gt;ก็ถือเป็นการแพร่กระจายภาษาเขียนเป็นระลอกที่สอง ชาวล้านช้างรับอักษรฝักขามได้ไม่ยาก เพราะเคยใช้อักษรพญาลิไทมาบ้างแล้ว ส่วนอักษรยวนล้านนานั้นก็ใช้กันตามวัดมาก่อนหน้านั้นพอสมควรแล้ว&lt;/p&gt;

&lt;p&gt;อักษรฝักขามได้พัฒนาต่อมาเป็นอักษรไทน้อย (และพัฒนาเป็นอักษรลาวปัจจุบัน) และอักษรยวนล้านนาได้พัฒนาต่อมาเป็นอักษรธรรม ดังนั้น โดยตระกูลภาษาเขียนแล้ว อักษรไทน้อยถือว่าอยู่ในตระกูลอักษรไทย (ซึ่งมีรากมาจากอักษรเขมร) และอักษรธรรมอยู่ในตระกูลอักษรมอญ&lt;/p&gt;

&lt;p&gt;อีสานใช้อักษรทั้งสองมาตลอด คนที่เรียนหนังสือก็จะต้องเรียนอักษรทั้งสองนี้ เพราะอักษรไทน้อยใช้ในเอกสารทางราชการ และอักษรธรรมใช้ในทางศาสนา มาเลิกใช้เอาในสมัย ร.๕ ที่มีระบบการศึกษาจากส่วนกลาง โดยอักษรไทยภาคกลางเข้ามามีบทบาทมากขึ้นเรื่อย ๆ จนเลิกใช้เต็มที่เมื่อมี พรบ. ประถมศึกษา พ.ศ. ๒๔๖๔ ในสมัย ร.๖&lt;/p&gt;

&lt;p&gt;ที่ปกหลังหนังสือ &lt;em&gt;&lt;q&gt;อักษรไทยโบราณ&lt;/q&gt;&lt;/em&gt; ของ อ.ธวัช ปุณโณทก เขียนเอาไว้น่าสนใจว่า:&lt;/p&gt;

&lt;blockquote&gt;
&lt;q&gt;...คนไทยสมัยก่อนรัชกาลที่ ๕ ทั้งคนไทยในประเทศและนอกประเทศที่ใช้อักษรไทยสกุลมอญ (อักษรยวนล้านนา และอักษรตัวธรรมในลาวและอีสาน) มีจำนวนประชากรมากกว่าคนไทยที่ใช้อักษรสกุลลายสือไทยของพ่อขุนรามคำแหง...&lt;/q&gt;
&lt;/blockquote&gt;

&lt;p&gt;สำหรับอักษรธรรมอีสานนั้น จากที่ได้ศึกษาเปรียบเทียบอักขรวิธีกับตัวเมืองล้านนา พบว่าแทบจะเหมือนกันทุกประการ ต่างกันแค่รูปร่างตัวอักษรเท่านั้น ฉะนั้น จึงอาจใช้รหัสยูนิโค้ดของล้านนาในการเก็บอักษรธรรมอีสานได้เลย โดยใช้บล็อก &lt;a href="http://www.unicode.org/charts/PDF/U1A20.pdf"&gt;Tai Tham (U+1A20..U+1AAF)&lt;/a&gt; ซึ่งกำหนดไว้สำหรับอักษรธรรมโดยทั่วไป ทั้งล้านนา ไทลื้อเก่า ไทเขิน และอักษรธรรมลาว และควรจะรวมอักษรธรรมอีสานด้วย&lt;/p&gt;

&lt;p&gt;นั่นทำให้ควรไปเริ่มงานจากการรองรับอักษรธรรมสักภาษาก่อน แล้วจึงหยิบยืม implementation ไปใช้ในอักษรธรรมอื่น ซึ่งถ้าดูความเป็นไปได้ อักษรธรรมล้านนาน่าจะมีความพร้อมมากที่สุด ตัวอย่างเช่น มี &lt;a href="http://www.geocities.jp/simsheart_alif/taithamunicode.html"&gt;ฟอนต์ Lanna Alif พร้อมผังแป้นพิมพ์&lt;/a&gt; และ &lt;a href="http://bond.in.th/octrabond/lanna-unicode-ui"&gt;ฟอนต์ล้านนาของ Octra Bond&lt;/a&gt; โดยรูปร่างของ Alif ดูจะเป็นล้านนามากกว่าของ Octra Bond ที่ดูกระเดียดไปทางพม่า แต่อย่างไรก็ดี ฟอนต์ทั้งสองก็สงวนลิขสิทธิ์เต็มที่ ทำให้ปรับปรุงแก้ไขอะไรไม่ได้&lt;/p&gt;

&lt;p&gt;จึงได้เกิดโครงการ &lt;a href="http://hariphunchai.unifont.org/"&gt;หริภุญชัย&lt;/a&gt; เพื่อสร้างฟอนต์ล้านนาและอักษรธรรมอื่น ๆ เพื่อเผยแพร่ด้วยสัญญาอนุญาตแบบโอเพนซอร์ส โครงการนี้ริเริ่มโดย Ed Trager ซึ่งได้คุยกับผมใน Facebook เกี่ยวกับอักษรล้านนา จึงได้ชักชวนนักพัฒนาคนอื่น ๆ รวมถึงนัก typography นักพัฒนาลาว และ อ.พฤษภ์ จาก มช. มาร่วมด้วย โครงการนี้ยังอยู่ในระหว่างขอทุนสนับสนุนจาก Google ครับ และคิดว่าจะขอความอนุเคราะห์จากหน่วยงานรัฐและมหาวิทยาลัยในไทยต่อไปด้วย&lt;/p&gt;

&lt;p&gt;นั่นคือครึ่งหนึ่งของอักษรอีสานละ คืออักษรธรรม ส่วนอักษรไทน้อยนั้น ยังต้องศึกษาเพิ่มเติมต่อไป&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2988500113305405106?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2988500113305405106/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/11/isaan-scripts-project.html#comment-form' title='3 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2988500113305405106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2988500113305405106'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/11/isaan-scripts-project.html' title='Isaan Scripts Project'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-1278962677866099101</id><published>2010-11-13T14:53:00.000+07:00</published><updated>2010-11-13T14:54:20.715+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;ขอ&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt; &lt;a href="http://isriya.com/"&gt;Mk&lt;/a&gt; และชุมชน &lt;a href="http://blognone.com/"&gt;Blognone&lt;/a&gt; ที่ได้&lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt;เพื่อสนับสนุนการทำงานซอฟต์แวร์เสรีของผมครับ ขอให้ชุมชนเข้มแข็งยิ่ง ๆ ขึ้นไป เพื่อจะได้ทำประโยชน์ให้กับวงการไอทีไทยไปนาน ๆ นะครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-1278962677866099101?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/1278962677866099101/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/11/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1278962677866099101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1278962677866099101'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/11/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-1460004697142979494</id><published>2010-10-11T15:04:00.000+07:00</published><updated>2010-10-11T15:05:49.893+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;ขอ&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt; &lt;a href="http://thaitux.info/"&gt;คุณวิทยา&lt;/a&gt; ที่ได้&lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt;อีกครั้ง เป็นกำลังใจให้ผมทำงานซอฟต์แวร์เสรีต่อไป ขอให้มีความสุขความเจริญครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-1460004697142979494?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/1460004697142979494/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/10/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1460004697142979494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1460004697142979494'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/10/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4858725510762276004</id><published>2010-10-06T18:49:00.003+07:00</published><updated>2010-10-06T20:58:50.069+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='debianclub'/><category scheme='http://www.blogger.com/atom/ns#' term='openstreetmap'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='OO.o'/><title type='text'>OSSFest 2010</title><content type='html'>&lt;p&gt;เพิ่งกลับมาถึงบ้านครับ จากงาน &lt;a href="http://ossfestival.in.th/"&gt;OSSFest 2010&lt;/a&gt; ที่สถาบันปัญญาภิวัฒน์ งานเขามีสองวัน 30 ก.ย. - 1 ต.ค. (พฤหัส-ศุกร์) จบงานแล้วผมก็อยู่ทำธุระต่อ จนกระทั่งเพิ่งกลับขอนแก่นเมื่อวานนี้&lt;/p&gt;

&lt;p&gt;ในงานก็ได้พบปะกับหลาย ๆ คน ได้ฟังความรู้ความคิดเห็นจากหลาย ๆ ท่าน&lt;/p&gt;

&lt;dl&gt;
  &lt;dt&gt;คุณ James Clark: FOSS ในยุค cloud และ mobile&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;วันแรกหลังพิธีเปิด คุณ James Clark บรรยายเกี่ยวกับความสำคัญของ FOSS ในยุค cloud และ mobile โดยได้ให้ทัศนะว่าความสำคัญจะย้ายไปอยู่ที่ผู้ให้บริการและองค์กรมากขึ้น ซึ่งก็น่าจะเป็นอย่างนั้น ตามแนวโน้มของการเกิดและใช้งาน web application มากขึ้นเรื่อย ๆ แต่ก็แอบคิดแย้งในประเด็นที่บอกว่า FOSS นั้น ไม่สำคัญเลยกับผู้ใช้ mobile&lt;/p&gt;
  &lt;p&gt;คุณเจมส์บอกว่า ผู้ใช้ mobile ไม่สนใจหรอก ว่าซอฟต์แวร์ที่ใช้ในโทรศัพท์นั้นเป็น FOSS หรือไม่ ผมคิดว่าไม่จริง เอาง่าย ๆ ถ้าพูดกันแค่เรื่องราคา ผู้ใช้ก็มีแนวโน้มเลือกโปรแกรมฟรีก่อนโปรแกรมซื้อถ้ามันใช้งานได้ดีพอ และสำหรับคนที่คุ้นเคยกับเสรีภาพที่จะแก้บั๊กต่าง ๆ ด้วยตัวเอง การต้องกลับไปใช้ซอฟต์แวร์ที่มัดมือมัดเท้าไม่ให้ทำอะไรได้ก็จะรู้สึกอึดอัด ก็มันเคย apt-get ได้แทบทุกอย่าง มีบั๊กก็ apt-get source มาแก้แล้ว file bug หรืออยากจะดัดแปลงอะไรก็ทำได้ตามถนัด พอมาใช้มือถือก็ยังอยากได้ความสะดวกสบายแบบนั้น ที่ยังใช้ Android ที่ยังไม่สามารถ root ได้อยู่ ก็ยังหวังว่าสักวันหนึ่งเราจะได้&lt;em&gt;เป็นเจ้าของ&lt;/em&gt;แบบเต็ม ๆ คือจะทำอะไรกับมันก็ได้เหมือนอย่าง &lt;a href="http://wiki.debian.org/DebianOnFreeRunner"&gt;Debian on FreeRunner&lt;/a&gt; อยู่นะครับ&lt;/p&gt;
  &lt;p&gt;อ.กิตติ์ &lt;a href="http://kitty.in.th/index.php?room=blog&amp;date=2010-10-02"&gt;เสริมเรื่องความโปร่งใสของซอฟต์แวร์&lt;/a&gt; อีกประเด็นหนึ่ง&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;คุณ roofimon กับคอร์สวิศวกรรมซอฟต์แวร์แบบสบาย ๆ&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;จากบรรยายของคุณเจมส์ ก็มาต่อที่ community edition ซึ่งเริ่มงานช้ากว่าปกติ เพราะต้องรอพักทานกาแฟกันก่อน การพูดตอนเช้า 3 รายการก็เลยถูกหดเวลาลงจากคนละ 50 นาทีเหลือคนละ 30 นาที ผมเริ่มคนแรก กับหัวข้อ "&lt;a href="http://linux.thai.net/~thep/presents/OSSFest2010/20100930-debian-contrib.pdf"&gt;How to Contribute to Debian&lt;/a&gt;" เลยต้องพยายามรักษาเวลาเต็มที่ พูดแบบติดเทอร์โบชนิดไม่เคยทำมาก่อนในชีวิต ตามมาด้วยการแนะนำสิ่งใหม่ใน Ubuntu 10.10 โดย&lt;a href="http://www.gumara.com/"&gt;คุณมะระ&lt;/a&gt; ปิดท้ายก่อนพักเที่ยงโดยคุณ &lt;a href="http://www.roofimon.com/"&gt;roofimon&lt;/a&gt; ว่าด้วยเรื่องวิศวกรรมซอฟต์แวร์กับภาษา Java&lt;/p&gt;
  &lt;p&gt;เครื่องมือสุดยอด ภาษาสุดยอด อะไรก็ตามแต่ที่คุณ roofimon เล่ามา รู้สึกว่าสิ่งที่สำคัญกว่านั้นในเนื้อหาคือเรื่องวินัยการพัฒนาโปรแกรม หัวอกโปรแกรมเมอร์จะเข้าใจได้ดี เวลาที่ต้องไป maintain โค้ดของคนที่เขียนโปรแกรมราวกับอยู่ท่ามกลางมรสุมชีวิต กลายเป็นโค้ดที่ "แม่สะดุ้ง" บ่อย ๆ :-P&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;How to Build Community&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;ช่วงบ่ายก็มาสุมหัวเสวนากันเรื่องจะสร้างและดูแลชุมชนยังไง คุณมะระเล่าเกี่ยวกับ &lt;a href="http://ubuntuclub.com/"&gt;ubuntuclub&lt;/a&gt; ว่าพยายามทำให้ชุมชนเติบโต พยายามหารายได้มาโปะรายจ่ายที่เกิดขึ้น เพื่อให้คนที่มารับช่วงต่อไม่ต้องลำบากมากนัก อ.วิภัทร เล่าเกี่ยวกับ &lt;a href="http://opensource.cc.psu.ac.th/"&gt;PSU LUG&lt;/a&gt; ว่ามีการเรียนรู้จากความผิดพลาด ไม่รณรงค์แบบหว่านแห แต่เจาะดาวรุ่งเป็นกลุ่ม ๆ ช่วยติดปีกให้เขามาเป็นกำลังให้&lt;/p&gt;
  &lt;p&gt;ผมนั่งฟังทั้งสองท่านแล้วก็เลยนึกเปรียบเทียบกับแนวทางที่ &lt;a href="http://debianclub.org/"&gt;debianclub&lt;/a&gt; ทำอยู่ ก็เลยเปรียบเทียบให้ฟัง คือ debianclub นั้นใช้แนวทางคล้ายกับ อ.วิภัทร ตรงที่ไม่พยายามหว่านแห แต่มุ่งไปที่ผู้ใช้ที่ใช้ debian มาพอสมควรแล้ว ซึ่งก็ได้รับความช่วยเหลือจากหลายท่านในการเขียนบทความมาเผยแพร่ แต่ก็พยายามไม่ให้เนื้อหาหนักเกินไปสำหรับมือใหม่ โดยจะมีเนื้อหาเบา ๆ หรือข่าวสารมาสลับบ้าง มี forum ให้ถามคำถาม ส่วนค่าใช้จ่ายก็อาศัย donation เป็นส่วนใหญ่ คือมีทั้งคนบริจาคเครื่องเซิร์ฟเวอร์ แบนด์วิดท์ ฮาร์ดดิสก์ ฯลฯ เหลือค่าใช้จ่ายเพียงอย่างเดียวที่ยังต้องออกกันเองกับ&lt;a href="http://neutron.in.th/"&gt;นิวตรอน&lt;/a&gt;อยู่คือค่า domain&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;PSU-12 Boot Server&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;ต่อจากนั้น แยกห้องทำ workshop ก็เข้าไปดู workshop ของ อ.วิภัทร เรื่องการทำ &lt;a href="http://opensource.cc.psu.ac.th/PSU-Open-server"&gt;boot server&lt;/a&gt; สำหรับ diskless PC ที่ไม่ใช่แค่สำหรับ thin client แต่ดัดแปลงให้บูตได้หลายแบบ เป็น rescue, live CD, kiosk หรืออะไรก็ตามแต่ โดยควบคุมเป็นเครื่อง ๆ ได้ มีระบบเมนูให้เลือกบูต นับเป็น deployment ที่น่าสนใจมาก ๆ&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;OpenStreetMap&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;โดยคุณ &lt;a href="http://wiki.openstreetmap.org/wiki/User:Willi2006"&gt;Willi&lt;/a&gt; มาบรรยายเกี่ยวกับที่มาและหลักการของ OSM วิธีการนำไปใช้ วิธีการ contribute พร้อมกับปูพื้นเพื่อทำ workshop ตอนบ่ายด้วย&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;Translating OSS in Launchpad&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;โดยคุณจรูญ (Jeroen T. Vermeulen) ผู้พัฒนา Launchpad ของ Ubuntu มาเอง อธิบายว่า LP ทำอะไรได้บ้าง จะทำงานแปลจะมีวงรอบการประมวลผลยังไงบ้าง แต่สุดท้าย คำถามที่สงสัยคือ จะทำงานกับต้นน้ำยังไงดี ก็ได้รับคำตอบว่า ทีมคุณต้องไปตกลงกันเอง จบข่าว&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;ประวัติศาสตร์แฮกเกอร์และโอเพนซอร์สไทย&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;เสวนาเล่าความหลัง โดย &lt;a href="http://bact.blogspot.com/"&gt;bact'&lt;/a&gt; เป็นผู้ดำเนินรายการ ผู้ร่วมเสวนาก็มี &lt;a href="http://callmeott.blogspot.com/"&gt;Ott&lt;/a&gt;, &lt;a href="http://www.gumara.com/"&gt;มะระ&lt;/a&gt; แล้วก็ผม ความจริงคงมีบางคนนอนสะดุ้งอยู่ที่ชลบุรี เนื่องจากถูกพาดพิงถึงบ่อย ๆ :-)&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;You can eat Open Source&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;bact' มาดำเนินรายการต่อ สัมภาษณ์สองบริษัทที่ทำธุรกิจกับ FOSS คือ &lt;a href="http://www.marvelic.co.th/"&gt;Marvelic Engine&lt;/a&gt; (โดยคุณ &lt;a href="http://akarawuth.com/"&gt;อัครวุฒิ&lt;/a&gt;) และ &lt;a href="http://www.mm.co.th/"&gt;Metamedia Technology&lt;/a&gt; (โดย Ott)&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;OSM Workshop&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;คุณ Willi พาทุกคนออกเก็บ GPS track ในบริเวณศูนย์ประชุม แล้วกลับมาวาดแผนที่ใน JOSM ให้ดู พร้อมกับบอกเทคนิคต่าง ๆ ได้เกร็ดเล็กเกร็ดน้อยมาเยอะเหมือนกัน&lt;/p&gt;
  &lt;/dd&gt;

  &lt;dt&gt;อ.ปราสาท: ว่าด้วยเรื่อง 13 ฟอนต์ DIP-SIPA&lt;/dt&gt;
  &lt;dd&gt;
  &lt;p&gt;มีโอกาสได้พบ อ.ปราสาท วีรกุล หนึ่งในคณะทำงานฟอนต์ DIP-SIPA ได้ทราบว่า เดิมนั้นเสนอให้ใช้ &lt;a href="http://scripts.sil.org/OFL"&gt;OFL&lt;/a&gt; กับฟอนต์ชุดนี้ แต่ฝ่ายกฎหมายของ DIP และ SIPA ได้ดัดแปลงสัญญาอนุญาตจนกลายเป็น postcardware ดังที่ปรากฏ และอาจารย์ยังได้ให้ข้อมูลอีกว่า ฟอนต์ชุดนี้รองรับผู้ใช้ Mac โดยใช้ &lt;a href="http://en.wikipedia.org/wiki/Apple_Advanced_Typography"&gt;AAT&lt;/a&gt; เนื่องจากการรองรับ OpenType บน Mac ยังไม่สมบูรณ์พอ ซึ่งก็คงเป็นแนวทางนำไปปรับแก้ &lt;a href="http://linux.thai.net/projects/thaifonts-scalable"&gt;ThaiFonts-Scalable&lt;/a&gt; ของ TLWG ได้&lt;/p&gt;
  &lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;หลังงาน ก็อยู่ต่อเพื่อพบกับคุณ Martin Hosken เพื่อหารือเรื่องการแก้ไข &lt;a href="http://unicode.org/reports/tr29/"&gt;Unicode UAX #29&lt;/a&gt; เพื่อแก้ปัญหาเรื่องการเลื่อนเคอร์เซอร์ข้ามสระหน้าและสระหลังของภาษาไทย ลาว และไทดำ พร้อมกันนั้นก็ได้คุยเรื่องการรองรับภาษาของชนกลุ่มน้อยที่ใช้อักษรไทย เช่น กุย/ส่วย, เขมรตอนเหนือ ฯลฯ รวมทั้งภาษาบาลี-สันสกฤต ซึ่งต้องร่างเป็นข้อกำหนด &lt;a href="http://wtt3.wikidot.com/"&gt;วทท 3&lt;/a&gt; ต่อไป โดยคุณ Martin ได้สาธิตการใช้ฟีเจอร์ของ Graphite ใน OO.o เพื่อเขียนภาษาบาลี-สันสกฤตด้วย แต่ยังมีปัญหาบางอย่างที่ต้องแก้ไขอยู่ จึงยังไม่เผยแพร่ในตอนนี้ ถ้าทำเสร็จแล้วก็อาจจะเป็นคำตอบสำหรับ OO.o ต่อไป รวมทั้งการเพิ่มการรองรับแบบเดียวกันกับฟอนต์ OpenType ด้วย&lt;/p&gt;

&lt;p&gt;ก่อนกลับบ้าน มีเวลาเหลือเล็กน้อย ก็ไปเก็บ GPS track &lt;a href="http://www.openstreetmap.org/?lat=13.83268&amp;lon=100.53582&amp;zoom=16&amp;layers=M"&gt;แถวแยกประชานุกูล&lt;/a&gt; เอากลับมาทำแผนที่ OSM ต่อที่บ้านหลังจากกลับถึงขอนแก่นแล้ว&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4858725510762276004?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4858725510762276004/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/10/ossfest-2010.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4858725510762276004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4858725510762276004'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/10/ossfest-2010.html' title='OSSFest 2010'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-1453582396278547274</id><published>2010-09-28T12:28:00.002+07:00</published><updated>2010-09-28T12:47:21.085+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='localization'/><category scheme='http://www.blogger.com/atom/ns#' term='gnome'/><title type='text'>Progress of SARA AM Bug in VTE</title><content type='html'>&lt;p&gt;เล่าสู่กันฟังครับ เกี่ยวกับความคืบหน้าของการแก้ปัญหาสระอำใน gnome-terminal&lt;/p&gt;

&lt;p&gt;ปัญหาคือ สระอำใน VTE ที่ใช้ Pango วาดเพื่อ&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=149631"&gt;รองรับ combining character&lt;/a&gt; นั้น มีปัญหากับสระอำของไทย เนื่องจาก Pango จะแยกสระอำเป็นนิคหิตกับลากข้าง แต่เนื่องจากในเทอร์มินัลจะวาดอักขระทีละเซลล์แยกกัน ทำให้นิคหิตที่แยกตัวไปนั้นไม่มีพยัญชนะรองรับ ก็เลยมี dotted circle มาแทนที่ และทำให้ลากข้างต้องตกไปทับเซลล์ถัดไป&lt;/p&gt;

&lt;p&gt;ใน &lt;a href="http://thep.blogspot.com/2009/05/pango-patch-for-sara-am-in-vte.html"&gt;blog เก่า&lt;/a&gt; ผมได้บันทึกไว้ว่าได้ทำแพตช์แก้ขัดที่ Pango เพื่อไม่ให้มันแยกสระอำ และอัปโหลด Pango รุ่นที่แพตช์แล้วไว้ให้ใช้ที่ &lt;a href="ftp://ftp.debianclub.org/debclub/pool/main/p/pango1.0/"&gt;debclub ก้านกล้วย&lt;/a&gt; ด้วย&lt;/p&gt;

&lt;p&gt;จากนั้น ก็ได้ file &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=583718"&gt;GNOME #583718&lt;/a&gt; กับ VTE ไว้เพื่อแจ้งปัญหา โดยได้เสนอทางแก้ไว้สองทาง คือวาดสระอำแบบไม่แยกร่าง กับอีกทางคือวาดแบบแยกร่างโดยพยายามให้ VTE รองรับการวาดอักขระทีละหลายเซลล์ ซึ่งวิธีหลังจะเป็นการคิดเผื่อภาษา CTL อื่นด้วย โดยมองว่าเป็นปัญหาเดียวกับที่ทำให้วาดภาษาตระกูลอินเดียบนเทอร์มินัลไม่ได้ เนื่องจากวิธีวาดที่แยกเซลล์นี้เอง&lt;/p&gt;

&lt;p&gt;ปัญหาของภาษาตระกูลอินเดียก็คือ เขา encode ข้อความในแบบที่เขาเรียกว่า "logical order" คือเรียงลำดับ พยัญชนะต้น-สระ-ตัวสะกด เสมอ แม้ว่าสระจะเป็นสระหน้าก็ตาม ถ้าเทียบเป็นภาษาไทยก็ประมาณว่า encode คำว่า "เทพ" เป็น "ทเพ" คำว่า "เทา" เป็น "ท{เา}" โดย "{เา}" หมายถึงอักขระที่กำหนดไว้สำหรับสระเอาโดยเฉพาะ ทำให้เวลาวาดจะต้องมีการจัดลำดับใหม่ก่อน ทำให้วิธีวาดแบบแยกเซลล์ใช้การไม่ได้ ต้องวาดเป็นกลุ่มก้อน พร้อม map ตำแหน่งเคอร์เซอร์ให้ถูกลำดับด้วย&lt;/p&gt;

&lt;p&gt;มัน logical ตรงไหน? ผมถามตัวเองอยู่เรื่อย ๆ โดยเฉพาะเวลาที่เจอคนประเทศอื่นมาบอกว่าวิธี encode แบบภาษาไทยนั้นไม่ logical เป็นลำดับที่ผิด และได้สร้างความซับซ้อนในการประมวลผลมากมาย จนต้อง &lt;a href="http://linux.thai.net/~thep/thai-vs-indic.html"&gt;เขียนเอกสารอธิบายไว้&lt;/a&gt; ให้เป็นกิจจะลักษณะ ว่านั่นเป็นความเชื่อที่ผิด&lt;/p&gt;

&lt;p&gt;คือผมอาจจะเห็นด้วยว่าแบบของเขาก็ logical ในแบบของเขา แต่ก็ไม่เห็นด้วยถ้าจะบอกว่าของไทยนั้นไม่ logical อย่างน้อย ๆ ภาษาอังกฤษก็ไม่ได้ logical เหมือนกันถ้าจะคิดด้วยหลักเดียวกัน เช่น ไม่ได้ encode คำว่า "game" เป็น "g{ae}m", ไม่ได้ encode "table" เป็น "tabel" ฯลฯ และการ encode แบบตรงตามลำดับการเขียนของภาษาไทยก็ไม่เห็นว่าจะไม่ logical สำหรับมนุษย์ตรงไหน&lt;/p&gt;

&lt;p&gt;และการที่ภาษาไทยถูกจัดให้เป็นภาษากลุ่ม &lt;a href="http://en.wikipedia.org/wiki/Complex_text_layout"&gt;Complex Text Layout (CTL)&lt;/a&gt; ทำให้เราถูกยัดเยียด implementation ตามแบบภาษาอินเดียอยู่เนือง ๆ (เช่น &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=518084"&gt;การทำ virama ด้วยพินทุ&lt;/a&gt;) และครั้งนี้ การที่นักพัฒนา VTE เลือกวิธี implement แบบอินเดียด้วยการ &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=583718#c7"&gt;resolve bug ว่า duplicate&lt;/a&gt; กับ &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=584160"&gt;บั๊กของเทวนาครี&lt;/a&gt; ก็กลายเป็นการทำให้ภาษาไทยต้องรอการแก้บั๊กแบบซับซ้อนตามภาษาอินเดียไปด้วย&lt;/p&gt;

&lt;p&gt;เอ้า รอก็รอ ได้สระอำสวย ๆ ก็ไม่เลว แต่เวลาผ่านไปเป็นปีก็ไม่มีทีท่าว่าจะมีทางแก้ ผมเลยตัดสินใจ &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=583718#c8"&gt;reopen บั๊ก และ reassign บั๊กให้ Pango&lt;/a&gt; เพื่อขอใช้ทางเลือกที่ไม่ต้องแยกร่างสระอำเมื่อวาดด้วยฟอนต์ monospace&lt;/p&gt;

&lt;p&gt;แล้วมันก็ค้างอยู่อย่างนั้น จนกระทั่งมีผู้ใช้ภาษาฮินดีฉุนขาด มากระทุ้งบั๊กภาษาอินเดีย ผมเลยถือโอกาสสนทนาแลกเปลี่ยน พร้อมกับกระทุ้งนักพัฒนาอีกครั้งว่าขอเลือกวิธีการต่างหากจาก Complex Text แต่คำตอบของนักพัฒนาก็คือ &lt;em&gt;"I'm afraid not. I don't have any interest in maintaining a separate shaping system just for the terminal."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;เอ.. ภาษาไทยชักจะถูกผูกแน่นเข้ากับภาษาอินเดียมากขึ้นทุกที ทั้งที่เราก็ใช้ภาษาไทยบน text console มาได้ตั้งแต่สมัย MS-DOS ทำไมครั้งนี้มันถึงยุ่งยากนัก? เพราะการเหมารวมว่าภาษาไทยเป็น Complex Text Layout และยัดเยียดว่าภาษาไทยต้อง implement เหมือนภาษาอินเดียอีกใช่หรือไม่?&lt;/p&gt;

&lt;p&gt;หรือควรเขียนเอกสารให้มันชัด ๆ ไปเลย ว่า &lt;strong&gt;Thai is NOT Complex Text (ว้อย!)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;จะติดก็อยู่ที่สระอำเจ้าปัญหาตัวเดียวนี่แหละ งานไหนก็ขอจุ้นมันทุกงาน :-P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-1453582396278547274?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/1453582396278547274/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/09/progress-of-sara-am-bug-in-vte.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1453582396278547274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/1453582396278547274'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/09/progress-of-sara-am-bug-in-vte.html' title='Progress of SARA AM Bug in VTE'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5737941573235445809</id><published>2010-09-27T16:44:00.001+07:00</published><updated>2010-09-27T16:45:45.397+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;ขอ&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt; พี่ต้น วศิน สินธุภิญโญ ที่ได้&lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt;เป็นกำลังใจให้กับการทำงานซอฟต์แวร์เสรีของผม ขอให้เจริญรุ่งเรืองยิ่ง ๆ ขึ้นไปครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5737941573235445809?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5737941573235445809/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/09/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5737941573235445809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5737941573235445809'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/09/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5333511768891870731</id><published>2010-09-25T16:04:00.001+07:00</published><updated>2010-09-25T16:07:17.361+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='trie'/><title type='text'>Double-Array Trie Has Got Java Implementation</title><content type='html'>&lt;p&gt;ไม่ใช่ผมทำเองหรอกครับ แต่ได้รับแจ้งจากคุณ Chris Gioran นักพัฒนาชาวกรีก ว่าได้พัฒนา &lt;a href="http://linux.thai.net/~thep/datrie/datrie.html"&gt;double-array trie&lt;/a&gt; ในฉบับ Java แล้ว โดยโฮสต์ไว้ที่ &lt;a href="http://github.com/digitalstain/DoubleArrayTrie"&gt;github&lt;/a&gt; โดยอาศัยหลักการจากหน้าเว็บที่ผมเขียนไว้ สัญญาอนุญาตที่ใช้ เป็น LGPL เหมือน libdatrie ครับ&lt;/p&gt;

&lt;p&gt;รายละเอียด มีบันทึกไว้ใน &lt;a href="http://digitalstain.blogspot.com/2010/09/experiences-from-my-first-published.html"&gt;blog ของเขา&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ภูมิใจจังที่ได้เขียนเอกสารฉบับนี้ไว้ และได้รู้ว่ามันมีประโยชน์ในที่ต่าง ๆ ตามที่ได้เคยบอกกล่าวมาบ้างแล้ว ว่าผู้ใช้ประโยชน์ต่อยอดส่วนใหญ่เป็นชาวต่างประเทศ มีบางครั้งได้พบชาวต่างประเทศแล้วเขาบอกว่าจำชื่อผมได้จากเว็บ double-array trie ก็รู้สึกอิ่มอกอิ่มใจ ว่างานเล็ก ๆ จากประเทศเล็ก ๆ ชิ้นนี้ก็มีประโยชน์กับเขาบ้างเหมือนกัน&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5333511768891870731?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5333511768891870731/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/09/double-array-trie-has-got-java.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5333511768891870731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5333511768891870731'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/09/double-array-trie-has-got-java.html' title='Double-Array Trie Has Got Java Implementation'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-9108244353388109381</id><published>2010-09-23T22:52:00.001+07:00</published><updated>2010-09-23T22:55:53.505+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>ThaiLaTeX Now Supports Pali-Sanskrit</title><content type='html'>&lt;p&gt;ขณะนี้ &lt;a href="http://linux.thai.net/projects/thailatex"&gt;ThaiLaTeX&lt;/a&gt; ใน SVN รองรับการสร้างเอกสารภาษาบาลี-สันสกฤตแล้ว&lt;/p&gt;

&lt;p&gt;เรื่องของเรื่องคือ กำลังเตรียม presentation สำหรับงาน &lt;a href="http://ossfestival.in.th/"&gt;OSSFest 2010&lt;/a&gt; แล้วเจอบั๊กใน ThaiLaTeX เกี่ยวกับทัณฑฆาตบน ป ปลา ก็เลยแก้บั๊กก่อน พอแก้แล้วก็ดันเกิดไอเดียเรื่องการรองรับภาษาบาลี-สันสกฤตขึ้นมาทีละเรื่อง จนในที่สุดก็ครบจนได้&lt;/p&gt;

&lt;p&gt;ประเด็นที่ต้องทำเพิ่มจากภาษาไทยปกติมี 2 เรื่อง:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; &lt;strong&gt;ใช้ ญ ฐ ไม่มีเชิง&lt;/strong&gt; ตรงนี้ทำโดยเพิ่มแมโครสำหรับเรียกอักขระ ญ ฐ ไม่มีเชิงก่อน แล้วกำหนดแมโคร &lt;code&gt;\textpali{}&lt;/code&gt; ซึ่งจะสแกนข้อความแล้วแทนที่ ญ ฐ ด้วยอักขระไม่มีเชิง &lt;/li&gt;
  &lt;li&gt; &lt;strong&gt;รองรับนิคหิตที่ซ้อนบนสระอิ&lt;/strong&gt; ตรงนี้ในหนังสือสวดมนต์ทั่วไปไม่สามารถพิมพ์ได้ ก็มักจะใช้สระอึแทน แต่เนื่องจากเราได้เตรียมฟอนต์บนลินุกซ์ให้รองรับมานานแล้ว จึงทำเพิ่มได้ไม่ยาก เพียงแต่เพิ่มแมโครสำหรับเรียกนิคหิตสูง แล้วเพิ่มกฎ ligkern มาแปลงนิคหิตบนสระอิให้เป็นนิคหิตสูงเท่านั้น พร้อมกันนี้ก็ทำแบบเดียวกันกับไม้ไต่คู้สูงสำหรับเขียนบนสระอีและอือในภาษากุย/ส่วยด้วย &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;เวลาจะใช้ภาษาบาลีก็เพียงแต่ใช้คำสั่ง &lt;code&gt;\textpali{&lt;/code&gt;&lt;em&gt;ข้อความ&lt;/em&gt;&lt;code&gt;}&lt;/code&gt; เช่น:&lt;/p&gt;

&lt;pre&gt;
  \textpali{กิจฺฉิสฺมิํ สติ, ชิฆจฺฉาปิปาสา ปญฺญายติ}
&lt;/pre&gt;

&lt;p&gt;ตัวอย่างผลการจัดหน้า:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://linux.thai.net/~thep/shots/20100923-thailatex-pali.png" alt="Pali typesetting sample" /&gt;

&lt;p&gt;ตัวแฟ้มตัวอย่าง: &lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample.tex"&gt;pali-sample.tex&lt;/a&gt; และ &lt;a href="http://linux.thai.net/~thep/tmp/Pali/pali-sample.pdf"&gt;PDF ผลลัพธ์&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-9108244353388109381?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/9108244353388109381/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/09/thailatex-now-supports-pali-sanskrit.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9108244353388109381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/9108244353388109381'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/09/thailatex-now-supports-pali-sanskrit.html' title='ThaiLaTeX Now Supports Pali-Sanskrit'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2683429370307644334</id><published>2010-09-13T22:04:00.003+07:00</published><updated>2010-09-13T22:12:15.105+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><title type='text'>The DIP-SIPA 13 Postscardware Fonts</title><content type='html'>&lt;p&gt;ถึงจะช้าไปหน่อย (ทราบข่าวหลายวันแล้ว แต่เพิ่งมีเวลาเขียน) แต่ก็ขอเขียนถึง &lt;a href="http://www.sipa.or.th/index.php?option=com_content&amp;task=view&amp;id=20&amp;Itemid=78"&gt;ฟอนต์สารบรรณและ ๑๓ ฟอนต์ "แห่งชาติ"&lt;/a&gt; ของ SIPA และกรมทรัพย์สินทางปัญญา ที่ ครม. ได้มีมติเห็นชอบให้หน่วยงานภาครัฐติดตั้งเพื่อใช้เป็นฟอนต์มาตรฐาน&lt;/p&gt;

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

&lt;p&gt;ข้อแรก คือการทำแบนเนอร์ "๑๓ ฟอนท์แห่งชาติ" นั้น ทำให้เกิดความสับสนกับโครงการเดิมที่มีอยู่ คือ &lt;a href="http://wiki.opentle.org/NationalFont"&gt;โครงการฟอนต์แห่งชาติ&lt;/a&gt; ของเนคเทค ซึ่งปัจจุบัน TLWG กำลังดูแลอยู่ในฐานะส่วนหนึ่งของโครงการ &lt;a href="http://linux.thai.net/projects/thaifonts-scalable"&gt;ThaiFonts-Scalable&lt;/a&gt; ผมคิดว่าถ้าโครงการใหม่นี้ไม่ใช่การสานต่อโครงการเก่า ก็ไม่ควรจะใช้ชื่อซ้ำกันให้เป็นที่สับสน น่าจะใช้ชื่ออื่น เช่น ชื่อที่จั่วหัวในเว็บ &lt;a href="http://www.f0nt.com/release/13-free-fonts-from-sipa/"&gt;f0nt.com&lt;/a&gt; ว่า &lt;em&gt;ฟอนต์มาตรฐาน&lt;/em&gt; ก็เป็นชื่อที่ดีครับ&lt;/p&gt;

&lt;p&gt;ข้อสอง คือปัญหาเรื่อง license ของฟอนต์ชุดนี้ ซึ่งผมเคยเขียนถึงไปหลายครั้งแล้ว (เช่น &lt;a href="http://thep.blogspot.com/2008/07/dip-sipa-fonts-license.html"&gt;DIP-SIPA Fonts License&lt;/a&gt;, &lt;a href="http://thep.blogspot.com/2008/08/thai-fonts-siampradesh-non-free.html"&gt;Thai Fonts Siampradesh (non-free)&lt;/a&gt;, &lt;a href="http://thep.blogspot.com/2009/04/postcardware.html"&gt;Postcardware&lt;/a&gt;) จะทำให้ฟอนต์ชุดนี้ไม่สามารถผลักดันให้เข้าสู่ distro กระแสหลักได้ กล่าวคือ มันจะเป็นได้อย่างดีที่สุดก็ national ไม่มีทางไปสู่ international หรือ "worldwide development" ตามเจตน์จำนงของ license ได้ และมันก็จะต้องติดแหง็กอยู่ที่ &lt;a href="http://thaios.sipa.or.th/"&gt;ThaiOS&lt;/a&gt; ของ SIPA ไปตราบชั่วฟ้า SIPA สลาย คือโครงการปิดเมื่อไรก็จบกัน ไม่มีใครสามารถจะแก้ไขปรับปรุงฟอนต์ชุดนี้ต่อไปได้อีก&lt;/p&gt;

&lt;p&gt;ขอทบทวนปัญหาของ license อีกครั้ง เพื่อเตือนความจำว่าทำไมมันถึงจะเป็นเช่นนั้น&lt;/p&gt;

&lt;p&gt;ปัญหาที่หนักที่สุดอยู่ที่เงื่อนไขข้อ 2 ของ license ของฟอนต์:&lt;/p&gt;

&lt;blockquote&gt;
2. If you wish to adapt this Font Computer Program, you must notify copyright owners (DIP &amp;amp; SIPA) in writing.
&lt;/blockquote&gt;

&lt;p&gt;ปัญหาคือ:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; ใน license บอกให้เขียนแจ้งเป็นลายลักษณ์อักษร แต่ไม่ได้ระบุที่อยู่ที่จะให้แจ้งเลย ว่าจะให้ติดต่อไปที่ไหน บอกเพียงชื่อ "DIP &amp;amp; SIPA" เท่านั้น อย่าลืมว่าเมื่อฟอนต์นี้ go worldwide แล้ว การติดต่อหน่วยงานราชการไทยจากต่างประเทศไม่ใช่เรื่องง่าย จะไปทึกทักว่านักพัฒนาฟอนต์อิสระที่แอฟริกาจะสามารถค้นหาที่อยู่ทางไปรษณีย์ของหน่วยงานรัฐของไทยได้เองแล้วส่งมาอย่างถูกต้องนั้นไม่ได้ &lt;/li&gt;
  &lt;li&gt; แม้กระนั้น การต้องแจ้งเป็นลายลักษณ์อักษรนั้น วัฒนธรรมเสรี (free culture) เขาถือว่าเป็นอุปสรรคที่ทำให้เลิกล้มความตั้งใจแล้วไปหาตัวเลือกอื่นได้ง่าย ๆ เพราะในทางปฏิบัติแล้ว การแจ้งเป็นลายลักษณ์อักษรจะต้องการคำตอบรับจากเจ้าของ เพื่อให้มีหลักฐานยืนยันในภายหลังว่าได้แจ้งเป็นลายลักษณ์อักษรตามเงื่อนไขของ license แล้ว และหากเจ้าของไม่ตอบรับ ก็จะไม่มีอะไรรับประกันได้เลยว่าจะสามารถเริ่มแก้ไขได้ การตอบรับหรือไม่ตอบรับจึงไม่ต่างอะไรกับการอนุญาตหรือไม่อนุญาตให้แก้ไข ดังนั้น ไม่ว่า license จะให้เสรีในการแก้ไขอย่างไรก็ตาม ถ้ามันเป็นเสรีภาพที่ต้องได้รับการอนุญาต มันก็ไม่ต่างกับการเจรจาขอใช้ license ของซอฟต์แวร์ proprietary ทั่วไปเลย &lt;/li&gt;
  &lt;li&gt; license นี้ขาดความยั่งยืน จะเกิดอะไรขึ้นถ้าโครงการนี้ถูกปิดไปจากแผนงานของ DIP และ SIPA คนที่เขียนเข้ามาจะได้รับการตอบสนองหรือไม่? ฟอนต์ชุดนี้คงจะตายไปพร้อมกับการปิดโครงการในหน่วยงานทั้งสองโดยไม่มีใครปรับปรุงแก้ไขต่อได้ &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ปัญหาของ license ข้อนี้ มีคนทำผิดพลาดบ่อยจนเขามีศัพท์เฉพาะสำหรับเรียก ว่า &lt;a href="http://en.wikipedia.org/wiki/Postcardware"&gt;Postcardware&lt;/a&gt; และไม่ถือเป็นซอฟต์แวร์เสรีหรือโอเพนซอร์สครับ ถ้าเป็นไปได้ก็ขอเสนอให้ตัดข้อนี้ออก&lt;/p&gt;

&lt;p&gt;ปัญหาอีกข้อหนึ่งของ license นี้คือเงื่อนไขที่ไม่ตรงกันระหว่างฉบับภาษาอังกฤษกับภาษาไทยในเงื่อนไขข้อ 3:&lt;/p&gt;

&lt;blockquote&gt;
No adapted version of Font Computer Program may use the Reserved Font Name(s), ...
&lt;/blockquote&gt;

&lt;p&gt;ซึ่งฉบับไทยได้แปลไว้ว่า:&lt;/p&gt;

&lt;blockquote&gt;
เมื่อดัดแปลงโปรแกรมคอมพิวเตอร์ฟอนต์นี้แล้ว ห้ามผู้ดัดแปลงใช้ชื่อฟอนต์เดิม ...
&lt;/blockquote&gt;

&lt;p&gt;กล่าวคือ ฉบับภาษาอังกฤษบอกว่า เมื่อดัดแปลงฟอนต์แล้ว "ห้ามใช้ชื่อที่สงวนไว้" แต่ฉบับไทยแปลว่า "ห้ามใช้ชื่อฟอนต์เดิม" ซึ่งความหมายต่างกัน และมีนัยสำคัญในทางปฏิบัติ เช่น ฟอนต์เริ่มแรกชื่อ A นายสมชายดัดแปลงแล้วเปลี่ยนชื่อเป็น B ต่อมานายสมศักดิ์เอาฟอนต์ B ของนายสมชายไปดัดแปลงต่อ ถ้า "ห้ามใช้ชื่อที่สงวนไว้" นายสมศักดิ์จะยังสามารถใช้ชื่อฟอนต์ B ต่อไปได้ เพราะไม่ใช่ชื่อที่สงวนไว้ แต่ถ้า "ห้ามใช้ชื่อฟอนต์เดิม" นายสมศักดิ์จะใช้ชื่อฟอนต์ B อีกไม่ได้ เพราะเป็นชื่อฟอนต์เดิมที่มีการคุ้มครองไว้โดย license และถ้าใครดัดแปลงต่อจากนายสมศักดิ์อีก (เช่น อาจจะเป็นโครงการ Fedora ที่จำเป็นต้องสามารถแก้บั๊กให้ผู้ใช้ได้) ก็จะต้องใช้ชื่อที่ต่างจากนายสมศักดิ์อีก เป็นอย่างนี้ทุกครั้งไป&lt;/p&gt;

&lt;p&gt;การแก้ไข: ควรแก้คำแปลภาษาไทยให้เป็น "ห้ามผู้ดัดแปลงใช้ชื่อที่สงวนไว้" ให้เหมือนฉบับภาษาอังกฤษ&lt;/p&gt;

&lt;p&gt;ผมไม่ทราบว่าเขียน blog ไว้แบบนี้ จะไปถึงผู้ที่เกี่ยวข้องโดยตรงหรือเปล่า เพราะผมก็ได้เคยพยายามแจ้งทางเมลตรงแล้ว สุดท้ายก็ไม่มีการตอบสนองอะไรจากผู้มีอำนาจตัดสินใจ จึงได้แต่เขียนบันทึกไว้เพื่อใช้อ้างอิงต่อไปครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-2683429370307644334?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/2683429370307644334/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/09/dip-sipa-13-postscardware-fonts.html#comment-form' title='3 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2683429370307644334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/2683429370307644334'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/09/dip-sipa-13-postscardware-fonts.html' title='The DIP-SIPA 13 Postscardware Fonts'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-5658401244850588171</id><published>2010-08-09T21:51:00.001+07:00</published><updated>2010-08-09T21:54:17.268+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thanks'/><title type='text'>Thanks</title><content type='html'>&lt;p&gt;ขอ&lt;a href="http://linux.thai.net/~thep/donate/thanks.html"&gt;ขอบคุณ&lt;/a&gt;ย้อนหลัง สำหรับ&lt;a href="http://www.thaitux.info/"&gt;คุณวิทยา&lt;/a&gt; ที่ได้&lt;a href="http://linux.thai.net/~thep/donate/"&gt;หย่อนสตางค์ลงหมวก&lt;/a&gt;อีกครั้งตั้งแต่สิ้นเดือนมิถุนา แต่ผมติดงานโน่นนี่อยู่ ตั้งแต่ตรวจทานคำแปล GNOME มาเรื่องฟอนต์ เรื่องบั๊กบางบั๊กใน GNOME, Ubuntu และ Debian ติดต่อกันยาวจนไม่ได้มาจัดแจงเรื่องการสนับสนุน ก็ขออภัยมา ณ ที่นี้ด้วย&lt;/p&gt;

&lt;p&gt;พร้อมกันนี้ ก็ขอขอบคุณคุณหน่อย SNC ที่ได้หย่อนสตางค์เช่นกันในเดือนนี้ ก็ขอให้ทั้งสองท่านมีความสุขกับซอฟต์แวร์เสรี ชีวิตการงานราบรื่นทุกประการครับ&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-5658401244850588171?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/5658401244850588171/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/08/thanks.html#comment-form' title='0 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5658401244850588171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/5658401244850588171'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/08/thanks.html' title='Thanks'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-4723120652440778079</id><published>2010-07-30T16:17:00.003+07:00</published><updated>2010-07-30T16:30:13.878+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='typography'/><category scheme='http://www.blogger.com/atom/ns#' term='thaifonts-scalable'/><title type='text'>ThaiFonts-Scalable 0.4.14</title><content type='html'>&lt;p&gt;ออก &lt;a href="http://linux.thai.net/node/188"&gt;thaifonts-scalable 0.4.14&lt;/a&gt; ไปแล้ววันนี้ หลังจากที่ตกค้างอยู่ใน SVN มาเป็นเวลา 1 ปีเต็ม&lt;/p&gt;

&lt;p&gt;การเปลี่ยนแปลงที่สะสมมาก็มี 3 เรื่องหลัก&lt;/p&gt;

&lt;p&gt;เรื่องแรกคือ การคัดลอก glyph ของ TlwgTypo ที่ได้ &lt;a href="http://thep.blogspot.com/2009/06/tlwgtypo-bold-emboldened.html"&gt;ปรับความหนาด้วยมือไว้ตั้งแต่รุ่นที่แล้ว&lt;/a&gt; เข้ามาใน TlwgTypist โดยได้นำมาใช้ใน &lt;a href="http://thep.blogspot.com/2009/08/thailatex-044.html"&gt;ThaiLaTeX 0.4.4&lt;/a&gt; ไปก่อนหน้านี้แล้ว รุ่นนี้ก็นำมาแทนที่บนเดสก์ท็อปทั่วไปด้วย&lt;/p&gt;

&lt;p&gt;เรื่องที่สอง คือแก้กฎ fontconfig ที่ทำ fallback ให้กับเว็บไทยที่ใช้ฟอนต์ Tahoma และ MS Sans Serif ให้มาใช้ Waree และ Loma ตามลำดับบน GNU/Linux ในกรณีที่ไม่มีฟอนต์ดังกล่าวติดตั้งไว้ แต่กฎดังกล่าวได้ไปมีผลกับเว็บภาษาอังกฤษด้วย ดังที่มีผู้รายงานมาใน &lt;a href="https://bugs.launchpad.net/bugs/434054"&gt;LP #434054&lt;/a&gt; สำหรับ Tahoma และ &lt;a href="https://bugs.launchpad.net/bugs/539008"&gt;LP #539008&lt;/a&gt; สำหรับ MS Sans Serif โดยในบั๊กแรกได้แก้ไขไปใน Debian/Ubuntu ด้วยการตัดกฎออก แต่สำหรับบั๊กหลังได้พบวิธีที่ไม่ต้องตัดกฎออก เพียงแค่ตรวจสอบภาษาว่าเป็นภาษาไทยหรือไม่ก่อนใช้กฎ ก็เลยใช้วิธีเดียวกันกับทั้งสองบั๊ก&lt;/p&gt;

&lt;p&gt;เรื่องที่สาม เป็นการอาศัยช่วงเวลาว่างสั้น ๆ ของผมมาปรับฟอนต์ Garuda ซึ่งพอได้สำรวจ glyph ดูก็พบความไม่สม่ำเสมอของเส้นโค้งต่าง ๆ ราวกับไม่ใช่ดีไซน์เดียวกัน โดยเฉพาะตัวหนา ซึ่งจะเห็นได้ชัดสำหรับอักขระพิเศษของละติน:&lt;/p&gt;

&lt;p&gt;ก่อนปรับ: &lt;img src="http://linux.thai.net/~thep/shots/20100730-garuda-bold-ttf-2.png" alt="Garuda ละตินตัวหนา ก่อนปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;หลังปรับ: &lt;img src="http://linux.thai.net/~thep/shots/20100730-garuda-bold-ttf-3.png" alt="Garuda ละตินตัวหนา หลังปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;ซึ่งความหนาของเส้นจะกลมกลืนมากขึ้น ตรงนี้มีคำอธิบายว่า เมื่อเริ่มแก้ไขฟอนต์แรก ๆ นั้น ฟอนต์ในชุด ฟช เป็นชุดที่ผมไม่กล้าแตะต้องเท่าไร เนื่องจากเป็นแบบอักษรที่ละเอียดอ่อน ด้วยความรู้ในขณะนั้นจึงไม่กล้าแตะต้องเพราะกลัวทำแบบของเขาเสีย จึงเน้นไปทำในชุด tlwg แทนเสียมากกว่า ตอนนี้เริ่มคิดว่ามีประสบการณ์มากพอแล้วจึงกลับมาดูชุด ฟช มากขึ้น ครั้งนี้จึงลุยปรับเส้นต่าง ๆ ให้สม่ำเสมอกันทั้งฟอนต์ ก็ใช้เวลาไปหลายอาทิตย์เหมือนกัน ฟอนต์สวยปรับยากหน่อยครับ&lt;/p&gt;

&lt;p&gt;ผลจากการปรับ ทำให้ฟอนต์ในรูปแบบ OTF (ซึ่งใช้เส้นโค้งแบบ Type 1 ซึ่งเป็น cubic) ดูดีขึ้น:&lt;/p&gt;

&lt;p&gt;ก่อนปรับ:&lt;br /&gt;
&lt;img src="http://linux.thai.net/~thep/shots/20100729-garuda-bold-otf-0.png" alt="Garuda ตัวหนา OTF ก่อนปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;หลังปรับ:&lt;br /&gt;
&lt;img src="http://linux.thai.net/~thep/shots/20100729-garuda-bold-otf-1.png" alt="Garuda ตัวหนา OTF หลังปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;ส่วน TTF นั้น ไม่ได้ต่างจากเดิมมากนัก:

&lt;p&gt;ก่อนปรับ:&lt;br /&gt;
&lt;img src="http://linux.thai.net/~thep/shots/20100729-garuda-bold-ttf-0.png" alt="Garuda ตัวหนา OTF ก่อนปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;หลังปรับ:&lt;br /&gt;
&lt;img src="http://linux.thai.net/~thep/shots/20100729-garuda-bold-ttf-1.png" alt="Garuda ตัวหนา OTF หลังปรับ" /&gt;&lt;/p&gt;

&lt;p&gt;แต่ก็ขอให้สังเกตที่เครื่องหมายพิเศษ เช่น * [ ] { } เส้นจะดูกลมกลืนกับตัวอักษรอื่นมากขึ้น&lt;/p&gt;

&lt;p&gt;อัปโหลดเข้า Debian sid แล้วครับ ส่วน Ubuntu Maverick นั้น เดี๋ยวต้อง request sync จาก Debian อีกที เนื่องจากเลยกำหนด DebianImportantFreeze มาแล้ว&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6815053-4723120652440778079?l=thep.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thep.blogspot.com/feeds/4723120652440778079/comments/default' title='ส่งความคิดเห็น'/><link rel='replies' type='text/html' href='http://thep.blogspot.com/2010/07/thaifonts-scalable-0414.html#comment-form' title='3 ความคิดเห็น'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4723120652440778079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6815053/posts/default/4723120652440778079'/><link rel='alternate' type='text/html' href='http://thep.blogspot.com/2010/07/thaifonts-scalable-0414.html' title='ThaiFonts-Scalable 0.4.14'/><author><name>Thep</name><uri>http://www.blogger.com/profile/10435804402627433015</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-WZgMS0l0FQg/TWuEG6wEhpI/AAAAAAAABHM/MHE9oTOgFnE/s220/thep-64.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815053.post-2080059799430141278</id><published>2010-07-25T19:08:00.002+07:00</published><updated>2010-07-25T22:00:00.554+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language'/><title type='text'>Some Remarks on Thai Orthography</title><content type='html'>&lt;p&gt;มีข้อสังเกตเกี่ยวกับอักขรวิธีภาษาไทยมานาน ว่าทำไมไม่เป็นอีกแบบหนึ่ง วันนี้นึกอยากรวบรวมประเด็นเอาไว้ ที่พอจะนึกได้ตอนนี้ก็มี 3 เรื่องคือ&lt;/p&gt;

&lt;h4&gt;ตัดเชิง ญ ฐ&lt;/h4&gt;

&lt;p&gt;อักษรไทยเกือบทั้งหมดสามารถเขียนได้ในจรดเดียว จะมียกเว้นอยู่บ้างก็คือ ญ ฐ ศ ษ ส แต่สามตัวหลัง คือ ศ ษ ส นั้น เวลาเขียนยังพอหวัดให้เป็นจรดเดียวได้ แต่ ญ ฐ นั้นหวัดยาก ยังไงก็ต้องจรดปากกา 2 ครั้ง แถมยังลักลั่นเวลามีสระล่างต้องคอยตัดเชิงด้วย เช่นในคำว่า กตัญญู ทิฏฐุชุกรรม ซึ่ง จิตร ภูมิศักดิ์ เคยเสนอให้ตัดเชิงของพยัญชนะทั้งสองออกเสีย&lt;/p&gt;

&lt;p&gt;ผมเคย &lt;a href="http://thep.blogspot.com/2007/11/on-descenders-of-yo-ying-and-tho-than.html"&gt;blog เกี่ยวกับคำอธิบายของจิตร&lt;/a&gt; ไว้ ซึ่งจิตรได้วิเคราะห์ที่มาของการใส่เชิง ญ หลังสมัยพ่อขุนรามคำแหง เมื่อคนไทยกลับไปรับอิทธิพลอักษรขอมอีกครั้ง เพราะอักษรขอมนั้น เส้นตวัดล่างของ ญ มีความสำคัญมาก ถ้า ญ (ញ) ไม่มีเส้นตวัดล่าง จะสับสนกับพยัญชนะอื่น (คือกลายเป็น ពា = พา) ทำนองเดียวกับหาง ศ ษ และ ส ของไทยที่ถ้าหายก็ความหมายเปลี่ยน คนไทยสมัยก่อนที่เขียนอักษรขอมจนเคยจึงติดมาใช้กับอักษรไทยไปด้วย ทั้งที่ ญ ไม่มีเชิงของไทยนั้นไม่ได้ซ้ำกับอักษรอื่นเลย&lt;/p&gt;

&lt;p&gt;ส่วน ฐ ซึ่งเป็นการเขียนรูปเต็ม ឋ กับรูปเชิง ្ឋ ของขอมซ้อนกันเป็น ฐฐ นั้น เนื่องจากไม่พบเอกสารที่จิตรเขียนไว้ จึงไม่ทราบที่มาที่ไป แต่น่าจะใช้หลักคิดทำนองเดียวกันได้&lt;/p&gt;

&lt;p&gt;ด้วยเหตุผลเรื่องที่มาที่ไปของรูปร่างอักษร เรื่องความลักลั่นของการตัดเชิง ประกอบกับในปัจจุบันเรามีแนวปฏิบัติในการเขียนภาษาบาลี-สันสกฤตโดยจะเขียน ญ ฐ แบบไม่มีเชิงอยู่แล้ว ทำไมไม่ประยุกต์ใช้กับภาษาไทยทั่วไปบ้าง?&lt;/p&gt;

&lt;h4&gt;ประพินทุกำกับอักษรนำและอักษรควบกล้ำ&lt;/h4&gt;

&lt;p&gt;เราพบตัวอย่างความกำกวมมามากแล้วที่เล่นกับเรื่องอักษรนำและตัวควบกล้ำ เช่น&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; เพลา อ่านว่า "เพฺลา" หรือ "เพ-ลา"? &lt;/li&gt;
  &lt;li&gt; เคลิบเคลิ้ม ที่กลายเป็นมุขให้มาเล่นกันเป็น "เค-ลิบ-เค-ลิ้ม" (มุขตลกไม่ใช่ไม่ดี แค่ยกตัวอย่างสิ่งที่พบเจอเกี่ยวกับเรื่องนี้เท่านั้น) &lt;/li&gt;
  &lt;li&gt; พระพรหมา ที่เวลาเจอในหนังสือ แอบอ่านในใจเป็น "พระ-พร-หมา" ทุกที &lt;/li&gt;
  &lt;li&gt; ชื่อตัวละครจีนอย่าง "เตียวเหง" ในเรื่องไซ่ฮั่น ควรจะอ่านว่า "เตียวเง๋" หรือ "เตียวเฮ๋ง" ดี? (ขออภัยครูภาษาไทยที่ใช้ไม้จัตวากับอักษรต่ำในที่นี้ แต่จำต้องใช้เพื่อความสะดวกในการบรรยายเสียงอ่าน) &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ตัวอย่างบางอันข้างต้นเรารู้คำอ่านได้จากรูปคำหรือบริบท แต่อย่างชื่อ "เตียวเหง" นี่ ไม่มีข้อมูลจะให้เดาจริง ๆ&lt;/p&gt;

&lt;p&gt;เรื่องอักษรนำและควบกล้ำนี้ ภาษาประเทศเพื่อนบ้านเราเขามีวิธีเขียนที่ไม่กำกวม เช่น อักษรเขมรและอักษรธรรมล้านนาจะเขียนตัวควบกล้ำและพยัญชนะซ้อนเป็นรูปย่อไว้ใต้อักษรนำ เช่น เพลา ที่แปลว่าหน้าตัก ภาษาเขมรเขียนเป็น ភ្លៅ  โดยตัว ភ คือ ภ และตัว ្ល คือ ล รูปย่อ  แต่ถ้าจะเขียน เพลา ที่แปลว่าเวลา ก็จะเขียนเป็น ពេលា (คำเขมรจริง ๆ ของคำว่าเวลาคือ ពេល = เพล) อักษรลาวมีอักษร ໝ สำหรับ หน (ห นำ น), ໜ สำหรับ หม (ห นำ ม) และใช้การเขียนตัวเฟื้องใต้ ห ในกรณีของ ຫຽ (หย), ຫຼ (หล)&lt;/p&gt;

&lt;p&gt;วิธีเขียนเหล่านี้มีมาแต่โบราณ ซึ่งอักษรไทยได้ตัดทิ้งไปเมื่อประยุกต์การเขียนพยัญชนะทั้งหมดบนเส้นบรรทัด โดยในสมัยก่อนนั้น อักษรไทยจะไม่ใช้เขียนภาษาบาลี-สันสกฤตกัน เพราะไม่สามารถเขียนรูปพยัญชนะซ้อนในภาษาบาลี-สันสกฤตได้ จึงต้องใช้อักษรขอมบ้าง อักษรธรรมตระกูลมอญบ้างเมื่อจะเขียนภาษาบาลี-สันสกฤต ในทำนองเดียวกับการสลับเขียนภาษาอังกฤษด้วยตัวโรมันในปัจจุบัน จนกระทั่งมีประดิษฐกรรมการใช้พินทุประเพื่อเชื่อมพยัญชนะซ้อน เช่น ธมฺมํ จึงเริ่มเขียนภาษาบาลี-สันสกฤตด้วยอักษรไทยได้&lt;/p&gt;

&lt;p&gt;จึงเกิดคำถามอีกแหละ ว่าควรประยุกต์การใช้พินทุกับอักษรนำและอักษรควบกล้ำในภาษาไทยทั่วไป แทนที่จะใช้เฉพาะเวลาเขียนบาลี-สันสกฤตหรือเขียนเสียงอ่านในพจนานุกรมดีหรือไม่? เช่น จะได้เขียน เพฺลารถ เพลาเย็น เคฺลิบเคฺลิ้ม พฺระพฺรหฺมา เตียวเหฺง (ในกรณีที่อ่านว่า "เตียวเง๋") เตียวเหง (ในกรณีที่อ่านว่า "เตียวเฮ๋ง") เสฺน่ห์ เสนา เสฺนาะ เป็นอาทิ ทำให้สามารถอ่านได้โดยไม่กำกวม&lt;/p&gt;

&lt;h4&gt;เขียน "เอย" เป็น "เอิย"&lt;/h4&gt;

&lt;p&gt;เวลาเรียนภาษาไทยตอนประถม เชื่อว่าทุกคนต้องเคย
