Lug

บทความนี้ยังไม่สมบูรณ์, ยังต้องแก้ไขอีกเยอะ. สำหรับต้นฉบับของบทความฉบับสมบูรณ์อยู่ที่ http://siit.net/members/art/thaiwrap.html.

<script type="text/javascript" src="thaiwrap.js"></script>

ThaiWrap bookmarklet / ตัวตัดบรรทัดข้อความไทย

Release 5 / รุ่น 5[]

Note / หมายเหตุ[]

  • Public Domain software, do whatever you want with it.
ซอฟต์แวร์สาธารณะ จะเอาไปใช้ไปแก้ยังไงก็ได้ครับ ตามสบายเลย


  • May not work with frames within frame. May slow for large page.
อาจจะใช้กับเฟรมที่อยู่ในเฟรมอีกทีนึงไม่ได้. อาจจะทำงานช้าถ้าหน้าเว็บใหญ่มากๆ


  • For Opera users, read this (Word break for language that has no spaces between words (e.g. Thai)).
ผู้ใช้โอเปร่า อ่านนี่ (Word break for language that has no spaces between words (e.g. Thai))


  • discussion / พูคคุย แนะนำ @ bact' blog

Usage / วิธีใช้[]

  1. Drag this link --> [javascript:(function(){var ua=navigator.userAgent.toLowerCase();if((ua.indexOf(%22opera%22)<=0)&&(ua.indexOf(%22msie%22)>0)) return;function cnum(a,b){return a-b;}cw=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33|\u0e44\u0e21\u0e48|\u0e43\u0e0a\u0e48|\u0e15\u0e49\u0e2d\u0e07|\u0e01\u0e31\u0e19|\u0e08\u0e32\u0e01|\u0e16\u0e36\u0e07|\u0e19\u0e31\u0e49\u0e19|\u0e1c\u0e39\u0e49|\u0e04\u0e27\u0e32\u0e21|\u0e2a\u0e48\u0e27\u0e19|\u0e22\u0e31\u0e07|\u0e17\u0e31\u0e48\u0e27|\u0e2d\u0e37\u0e48\u0e19|\u0e42\u0e14\u0e22|\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e40\u0e17\u0e48\u0e32|\u0e43\u0e15\u0e49|\u0e43\u0e2a\u0e48|\u0e43\u0e14|\u0e44\u0e27\u0e49|\u0e43\u0e2b\u0e21\u0e48|\u0e43\u0e2b\u0e0d\u0e48|\u0e40\u0e25\u0e47\u0e01|\u0e43\u0e01\u0e25\u0e49|\u0e44\u0e01\u0e25|\u0e40\u0e02\u0e32|\u0e0a\u0e48\u0e27\u0e22|\u0e09\u0e1a\u0e31\u0e1a|\u0e04\u0e49\u0e19|\u0e40\u0e23\u0e47\u0e27|\u0e40\u0e02\u0e49\u0e32|\u0e40\u0e0a\u0e49\u0e32)%22;lc=%22[\u0e40-\u0e44]|\\(|\\[|\\{|\%22%22;fc=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}|\%22%22;tc=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;r=new Array();l=new Array();r[0]=new RegExp(%22(%22+fc+%22)(?=(%22+lc+%22))%22);l[0]=1;r[1]=new RegExp(%22([%22+tc+%22])(?![\\)\\]\\}\%22]|[%22+tc+%22])%22);l[1]=1;r[2]=new RegExp(%22([^%22+tc+%22\\(\\(\\[\\{\%22])(?=[%22+tc+%22])%22);l[2]=1;r[3]=new RegExp(%22([^%22+lc+%22])(?=(%22+lc+%22)*%22+cw+%22(%22+fc+%22)?)%22);l[3]=1;r[4]=new RegExp(%22((%22+lc+%22)*%22+cw+%22(%22+fc+%22)*)(?!%22+fc+%22)%22);l[4]=-1;r[5]=new RegExp(%22([\u0e45\u0e46\u0e33])%22);l[5]=1;function F(n){var p,a,c,x,t,e;if(n.nodeType==3){p=new Array();for(i=0;i<r.length;i++){t=n.data.search(r[i]);if(t>=0){if(l[i]>=0){p.push(t+l[i]);}else{e=n.data.match(r[i]);p.push(t+e[1].length);}}}if(p.length>0){p.sort(cnum);if(p[0]>=0){a=n.splitText(p[0]);n.parentNode.insertBefore(document.createTextNode(%22\u200b%22),a);}}}else{if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}function G(w){var fm=w.frames;if(fm.length<=0){F(document.body);}else{for(var i=0;i<fm.length;i++){D=fm[i].document;F(D.body);}}}G(window.self);}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap] <-- and drop it to your Mozilla/Firefox toolbar.
ลากลิงก์นี้ --> [javascript:(function(){var ua=navigator.userAgent.toLowerCase();if((ua.indexOf(%22opera%22)<=0)&&(ua.indexOf(%22msie%22)>0)) return;function cnum(a,b){return a-b;}cw=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33|\u0e44\u0e21\u0e48|\u0e43\u0e0a\u0e48|\u0e15\u0e49\u0e2d\u0e07|\u0e01\u0e31\u0e19|\u0e08\u0e32\u0e01|\u0e16\u0e36\u0e07|\u0e19\u0e31\u0e49\u0e19|\u0e1c\u0e39\u0e49|\u0e04\u0e27\u0e32\u0e21|\u0e2a\u0e48\u0e27\u0e19|\u0e22\u0e31\u0e07|\u0e17\u0e31\u0e48\u0e27|\u0e2d\u0e37\u0e48\u0e19|\u0e42\u0e14\u0e22|\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e40\u0e17\u0e48\u0e32|\u0e43\u0e15\u0e49|\u0e43\u0e2a\u0e48|\u0e43\u0e14|\u0e44\u0e27\u0e49|\u0e43\u0e2b\u0e21\u0e48|\u0e43\u0e2b\u0e0d\u0e48|\u0e40\u0e25\u0e47\u0e01|\u0e43\u0e01\u0e25\u0e49|\u0e44\u0e01\u0e25|\u0e40\u0e02\u0e32|\u0e0a\u0e48\u0e27\u0e22|\u0e09\u0e1a\u0e31\u0e1a|\u0e04\u0e49\u0e19|\u0e40\u0e23\u0e47\u0e27|\u0e40\u0e02\u0e49\u0e32|\u0e40\u0e0a\u0e49\u0e32)%22;lc=%22[\u0e40-\u0e44]|\\(|\\[|\\{|\%22%22;fc=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}|\%22%22;tc=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;r=new Array();l=new Array();r[0]=new RegExp(%22(%22+fc+%22)(?=(%22+lc+%22))%22);l[0]=1;r[1]=new RegExp(%22([%22+tc+%22])(?![\\)\\]\\}\%22]|[%22+tc+%22])%22);l[1]=1;r[2]=new RegExp(%22([^%22+tc+%22\\(\\(\\[\\{\%22])(?=[%22+tc+%22])%22);l[2]=1;r[3]=new RegExp(%22([^%22+lc+%22])(?=(%22+lc+%22)*%22+cw+%22(%22+fc+%22)?)%22);l[3]=1;r[4]=new RegExp(%22((%22+lc+%22)*%22+cw+%22(%22+fc+%22)*)(?!%22+fc+%22)%22);l[4]=-1;r[5]=new RegExp(%22([\u0e45\u0e46\u0e33])%22);l[5]=1;function F(n){var p,a,c,x,t,e;if(n.nodeType==3){p=new Array();for(i=0;i<r.length;i++){t=n.data.search(r[i]);if(t>=0){if(l[i]>=0){p.push(t+l[i]);}else{e=n.data.match(r[i]);p.push(t+e[1].length);}}}if(p.length>0){p.sort(cnum);if(p[0]>=0){a=n.splitText(p[0]);n.parentNode.insertBefore(document.createTextNode(%22\u200b%22),a);}}}else{if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}function G(w){var fm=w.frames;if(fm.length<=0){F(document.body);}else{for(var i=0;i<fm.length;i++){D=fm[i].document;F(D.body);}}}G(window.self);}/* http://siit.net/members/art/thaiwrap.html */)(); ตัด] <-- ไปหย่อนลงที่ แถบเครื่องมือ ของ โมซิลล่า หรือ ไฟร์ฟ็อกซ์


  1. To wrap webpage, click on "Wrap" link on your toolbar.
กดลิงก์ "ตัด" บนแถบเครื่องมือ เมื่อต้องการตัดบรรทัดของหน้าเว็บที่กำลังแสดงผลอยู่

Auto Wrap / ตัดอัตโนมัติ[]

If you are an author of a web page. You can force the page to be automatically wrapped, by using a thaiWrap() function at the onload event.

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

  1. Save this thaiwrap.js file (right click on the link) to your web folder.
คัดลอกไฟล์ thaiwrap.js ลงเครื่องของคุณ (คลิกขวาบนลิงก์, เลือก Save as)


  1. Add this code to your page's header (in head section)
เพิ่มโค้ดนี้ลงที่ส่วนหัวของหน้าเว็บ (ในส่วนของ head)


<script type="text/javascript" src="thaiwrap.js"></script>


  1. At the body tag, add thaiWrap() function call to the onload event.
ที่แท็ก body ของหน้าเว็บของคุณ เพิ่มการเรียกฟังก์ชั่น thaiWrap() เข้าไปที่อีเวนต์ onload

For example / เช่น :

<body onload="thaiWrap();">

See the actual example / ดูตัวอย่างหน้าเว็บที่ใช้วิธีนี้

Test / ทดสอบ[]

[javascript:thaiWrap(); Click here to test / กดที่นี่เพื่อทดสอบ]

ตอนนี้พอใจดีทุกอย่างกับFirefoxติดแค่อย่างเดียวคือเรื่องตัดคำข้อความภาษาไทยที่มันทำไม่ได้ทำให้เวลาอ่านหน้าเว็บบางหน้าที่เค้่าเขียนข้อความยาวติดกันเป็นพืดจะอ่านลำบากเพราะต้องเลื่อนซ้ายทีขวาทีและไม่สวยด้วยถึงแม้จะมีICU patchสำหรับFirefoxให้มันตัดคำไทยได้แล้วแต่ก็คงยุ่งยากไปสำหรับผู้ใช้ทั่วไป(จริงๆถ้าอยากลองก็ไม่ยากนะทำตามสเต็ปดูได้)คนใช้Linux TLEโชคดีหน่อยMozilla/Firefoxที่จะมากับLinux TLEตัวหน้าจะแพตช์มาเรียบร้อยแล้วอย่างไรก็ตามทั้งหมดนั้นยังสำหรับLinuxเท่านั้น,Windowsอด.เห็นว่าbookmarkletน่าจะเป็นวิธีนึงที่ใช้(แก้ขัด)ได้เพราะว่ามันน่าจะใช้ได้ทุกแพลตฟอร์ม/เบราเซอร์(เป็นJavaScript)ไม่ต้องแพตช์ไม่ต้องคอมไพล์น่าจะโอเคสำหรับผู้ใช้ทั่วๆไปเลยลองทำดูเท่าที่ใช้ดูก็โอเคพออ่านได้ไม่ต้องเลื่อนซ้ายขวามากนักแต่มันไม่อัตโนมัตินะต้องกดปุ่มbookmarkletเพื่อสั่งให้มันwrapเอาเองโค้ดก็ไม่มีอะไรมากก็แค่แทรก zero-width space (U+200B) (ก่อนหน้านี้ใช้<WBR>แต่ใช้กับOperaไม่ได้ เลยเปลี่ยน) ไปตามจุดที่เห็นว่าน่าจะแบ่งพยางค์ได้แค่นั้นแหละใช้JavaScriptแทรกโค้ดผ่านDOMเป็นregexp+รายการคำประมาณสามสิบกว่าคำที่มักจะพบกลางประโยค(เช่น"เป็น|อยู่|จะ|ใช้|ได้|ให้")Note:ไม่ได้แทรกทุกๆจุดแบ่งจริงๆแค่บางจุดที่พอจะหาได้เท่านั้นแค่ให้มันตัดประโยคยาวๆลงได้บ้างก็พอจะได้อ่านเว็บง่ายหน่อยรายละเอียดลองดูตามโค้ดเอาละกันโค้ดยังช้าอยู่และยังใช้กับหน้าที่อยู่ในเฟรมได้ไม่สมบูรณ์ถ้าใครอยากเอาไปทำอะไรต่อ(เช่นให้มันเร็วขึ้นหรือว่าใช้กับframeซ้อนๆได้)ก็ตามสบายเลยครับ:)

Technical Notes[]

This bookmarklet will insert "zero-width space" characters (U+200B) into Thai text, to hint a browser's text wrapping.

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

The sole purpose of this bookmarklet is only for line wrapping, providing an easier way to reading a Thai webpage. The algorithm used is very heuristic, and consists of only 6 regular expressions plus a list of a very small number of Thai common words (prepositions). It DOES NOT provide any linguistic correctness (e.g. correct word boundaries).

จุดประสงค์ของบุ๊คมาร์คเล็ตอันนี้ ใช้เพื่อการตัดบรรทัดสำหรับอ่านข้อความบนหน้าจอเท่านั้น อัลกอริธึมที่ใช้เป็นแบบง่ายๆ อาศัยการคาดเดาเป็นหลัก โดยใช้ regular expression เพียงจำนวน 6 ชุด กับรายการคำเชื่อมที่มักจะพบกลางประโยค จำนวนประมาณ 30 คำ ในการตัดสินใจ ว่าจุดไหนน่าจะเป็นจุดแบ่งบรรทัดได้. ผลลัพธ์ทั้งหมดอาจไม่ถูกต้อง และไม่ได้อิงหลักภาษาศาสตร์ใดๆ ทั้งสิ้น

To visually check where're all the tags going to, try change zero-width space character in the code to <BR> (line break) tag.

ในการทดสอบ ถ้าต้องการเห็นชัดๆ ว่าแทรกจุดแบ่งลงไปตรงไหนบ้าง. ให้เปลี่ยนตัวอักขระช่องว่างในโค้ด เป็นแท็ก <BR> (แบ่งบรรทัด).

Author / ผู้เขียน[]

bact'
Arthit Suriyawongkul / อาทิตย์ สุริยะวงศ์กุล

  • 1st release รุ่นแรก [[javascript:(function(){common_words=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e01\u0e47|\u0e17\u0e35\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33)%22; l_chars=%22([\u0e40-\u0e44]|\\(|\\[|\\{)%22; f_chars=%22(\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\})%22; t_chars=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22; re=new Array(); re[0] = new RegExp(%22(%22+f_chars+%22)(?=(%22+l_chars+%22))%22); re[1] = new RegExp(%22([%22+t_chars+%22])(?![\\)\\]\\}]|[%22+t_chars+%22])%22); re[2] = new RegExp(%22([^%22+t_chars+%22\\(\\[\\{])(?=[%22+t_chars+%22])%22); re[3] = new RegExp(%22(\\S)(?=%22+l_chars+%22?%22+common_words+f_chars+%22?)%22); re[4] = new RegExp(%22(%22+l_chars+%22?%22+common_words+f_chars+%22?)(?=\\S)%22); re[5] = new RegExp(%22([\u0e45\u0e46])%22); function compareNumbers(a,b){return a-b;} var D=document;F(D.body); function F(n){var r,c,x,test,found;if(n.nodeType==3){pos = new Array();for(i=0;i<re.length;i++){test=n.data.search(re[i]);found=n.data.match(re[i]);if(test>=0)pos.push(test+found[1].length);}if(pos.length>0){pos.sort(compareNumbers);if(pos[0]>=0){r=n.splitText(pos[0]);n.parentNode.insertBefore(D.createElement(%22WBR%22),r);}}}else if (n.tagName!=%22STYLE%22 && n.tagName!=%22SCRIPT%22){for (c=0;x=n.childNodes[c];++c){F(x);}}}}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap]] - 2004.12.01
  • 2nd release รุ่นสอง [[javascript:(function(){common_words=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e01\u0e47|\u0e17\u0e35\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33)%22;l_chars=%22[\u0e40-\u0e44]|\\(|\\[|\\{%22;f_chars=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}%22;t_chars=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;re=new Array();len=new Array();re[0]=new RegExp(%22(%22+f_chars+%22)(?=(%22+l_chars+%22))%22);len[0]=1;re[1]=new RegExp(%22([%22+t_chars+%22])(?![\\)\\]\\}]|[%22+t_chars+%22])%22);len[1]=1;re[2]=new RegExp(%22([^%22+t_chars+%22\\(\\[\\{])(?=[%22+t_chars+%22])%22);len[2]=1;re[3]=new RegExp(%22([^%22+l_chars+%22])(?=(%22+l_chars+%22)*%22+common_words+%22(%22+f_chars+%22)?)%22);len[3]=1;re[4]=new RegExp(%22((%22+l_chars+%22)*%22+common_words+%22(%22+f_chars+%22)*)(?!%22+f_chars+%22)%22);len[4]=-1;re[5]=new RegExp(%22([\u0e45\u0e46])%22);len[5]=1;function compareNumbers(a,b){return a-b;}var D=document;F(D.body);function F(n){var r,c,x,test,found;if(n.nodeType==3){pos=new Array();for(i=0;i<re.length;i++){test=n.data.search(re[i]);if(test>=0){if(len[i]>=0){pos.push(test+len[i]);}else{found=n.data.match(re[i]);pos.push(test+found[1].length);}}}if(pos.length>0){pos.sort(compareNumbers);if(pos[0]>=0){r=n.splitText(pos[0]);n.parentNode.insertBefore(D.createElement(%22WBR%22),r);}}}else if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap]] - 2004.12.02
  • 3rd release, frame enabled. รุ่นสาม ใช้กับเฟรมได้แล้ว [[javascript:(function(){function cnum(a,b){return a-b;}cw=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e01\u0e47|\u0e17\u0e35\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33|\u0e44\u0e21\u0e48|\u0e43\u0e0a\u0e48|\u0e15\u0e49\u0e2d\u0e07|\u0e01\u0e31\u0e19)%22;lc=%22[\u0e40-\u0e44]|\\(|\\[|\\{|\%22%22;fc=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}|\%22%22;tc=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;r=new Array();l=new Array();r[0]=new RegExp(%22(%22+fc+%22)(?=(%22+lc+%22))%22);l[0]=1;r[1]=new RegExp(%22([%22+tc+%22])(?![\\)\\]\\}\%22]|[%22+tc+%22])%22);l[1]=1;r[2]=new RegExp(%22([^%22+tc+%22\\(\\(\\[\\{\%22])(?=[%22+tc+%22])%22);l[2]=1;r[3]=new RegExp(%22([^%22+lc+%22])(?=(%22+lc+%22)*%22+cw+%22(%22+fc+%22)?)%22);l[3]=1;r[4]=new RegExp(%22((%22+lc+%22)*%22+cw+%22(%22+fc+%22)*)(?!%22+fc+%22)%22);l[4]=-1;r[5]=new RegExp(%22([\u0e45\u0e46])%22);l[5]=1;r[6]=new RegExp(%22([\u0e30\u0e32-\u0e3a])(?=.([\u0e30-\u0e3a\0e47\u0e4e]))%22);l[6]=1;function F(n){var p,a,c,x,t,e;if(n.nodeType==3){p=new Array();for(i=0;i<r.length;i++){t=n.data.search(r[i]);if(t>=0){if(l[i]>=0){p.push(t+l[i]);}else{e=n.data.match(r[i]);p.push(t+e[1].length);}}}if(p.length>0){p.sort(cnum);if(p[0]>=0){a=n.splitText(p[0]);n.parentNode.insertBefore(document.createElement(%22WBR%22),a);}}}else{if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}function G(w){var fm=w.frames;if(fm.length<=0){F(document.body);}else{for(var i=0;i<fm.length;i++){D=fm[i].document;F(D.body);}}}G(window.self);}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap]] - 2004.12.05
  • 4th release, revised word list (thanks to thep at linux.thai.net). รุ่นสี่ ปรับรายการคำศัพท์ใหม่ (โดยพี่เทพพิทักษ์) [[javascript:(function(){function cnum(a,b){return a-b;}cw=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33|\u0e44\u0e21\u0e48|\u0e43\u0e0a\u0e48|\u0e15\u0e49\u0e2d\u0e07|\u0e01\u0e31\u0e19|\u0e08\u0e32\u0e01|\u0e16\u0e36\u0e07|\u0e19\u0e31\u0e49\u0e19|\u0e1c\u0e39\u0e49|\u0e04\u0e27\u0e32\u0e21|\u0e2a\u0e48\u0e27\u0e19|\u0e22\u0e31\u0e07|\u0e17\u0e31\u0e48\u0e27|\u0e2d\u0e37\u0e48\u0e19|\u0e42\u0e14\u0e22|\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e40\u0e17\u0e48\u0e32|\u0e43\u0e15\u0e49|\u0e43\u0e2a\u0e48|\u0e43\u0e14|\u0e44\u0e27\u0e49|\u0e43\u0e2b\u0e21\u0e48|\u0e43\u0e2b\u0e0d\u0e48|\u0e40\u0e25\u0e47\u0e01|\u0e43\u0e01\u0e25\u0e49|\u0e44\u0e01\u0e25|\u0e40\u0e02\u0e32|\u0e0a\u0e48\u0e27\u0e22|\u0e09\u0e1a\u0e31\u0e1a|\u0e04\u0e49\u0e19|\u0e40\u0e23\u0e47\u0e27|\u0e40\u0e02\u0e49\u0e32|\u0e40\u0e0a\u0e49\u0e32)%22;lc=%22[\u0e40-\u0e44]|\\(|\\[|\\{|\%22%22;fc=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}|\%22%22;tc=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;r=new Array();l=new Array();r[0]=new RegExp(%22(%22+fc+%22)(?=(%22+lc+%22))%22);l[0]=1;r[1]=new RegExp(%22([%22+tc+%22])(?![\\)\\]\\}\%22]|[%22+tc+%22])%22);l[1]=1;r[2]=new RegExp(%22([^%22+tc+%22\\(\\(\\[\\{\%22])(?=[%22+tc+%22])%22);l[2]=1;r[3]=new RegExp(%22([^%22+lc+%22])(?=(%22+lc+%22)*%22+cw+%22(%22+fc+%22)?)%22);l[3]=1;r[4]=new RegExp(%22((%22+lc+%22)*%22+cw+%22(%22+fc+%22)*)(?!%22+fc+%22)%22);l[4]=-1;r[5]=new RegExp(%22([\u0e45\u0e46\u0e33])%22);l[5]=1;r[6]=new RegExp(%22([\u0e30\u0e32-\u0e3a])(?=[^\u0e15]([\u0e30-\u0e3a\0e47\u0e4d]))%22);l[6]=1;function F(n){var p,a,c,x,t,e;if(n.nodeType==3){p=new Array();for(i=0;i<r.length;i++){t=n.data.search(r[i]);if(t>=0){if(l[i]>=0){p.push(t+l[i]);}else{e=n.data.match(r[i]);p.push(t+e[1].length);}}}if(p.length>0){p.sort(cnum);if(p[0]>=0){a=n.splitText(p[0]);n.parentNode.insertBefore(document.createElement(%22WBR%22),a);}}}else{if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}function G(w){var fm=w.frames;if(fm.length<=0){F(document.body);}else{for(var i=0;i<fm.length;i++){D=fm[i].document;F(D.body);}}}G(window.self);}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap]] - 2005.01.21
  • 5th release, script will ignore Internet Explorer, now works with Opera ((as suggested by Oakyman and Tom). ใช้กับ โอเปร่า ได้แล้ว, จะไม่ทำงานกับ IE (IE ตัดคำไทยได้ดีอยู่แล้ว) [[javascript:(function(){var ua=navigator.userAgent.toLowerCase();if((ua.indexOf(%22opera%22)<=0)&&(ua.indexOf(%22msie%22)>0)) return;function cnum(a,b){return a-b;}cw=%22(\u0e40\u0e1b\u0e47\u0e19|\u0e2d\u0e22\u0e39\u0e48|\u0e08\u0e30|\u0e43\u0e0a\u0e49|\u0e44\u0e14\u0e49|\u0e43\u0e2b\u0e49|\u0e43\u0e19|\u0e08\u0e36\u0e07|\u0e2b\u0e23\u0e37\u0e2d|\u0e41\u0e25\u0e30|\u0e01\u0e31\u0e1a|\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07|\u0e14\u0e49\u0e27\u0e22|\u0e16\u0e49\u0e32|\u0e41\u0e25\u0e49\u0e27|\u0e17\u0e31\u0e49\u0e07|\u0e40\u0e1e\u0e23\u0e32\u0e30|\u0e0b\u0e36\u0e48\u0e07|\u0e0b\u0e49\u0e33|\u0e44\u0e21\u0e48|\u0e43\u0e0a\u0e48|\u0e15\u0e49\u0e2d\u0e07|\u0e01\u0e31\u0e19|\u0e08\u0e32\u0e01|\u0e16\u0e36\u0e07|\u0e19\u0e31\u0e49\u0e19|\u0e1c\u0e39\u0e49|\u0e04\u0e27\u0e32\u0e21|\u0e2a\u0e48\u0e27\u0e19|\u0e22\u0e31\u0e07|\u0e17\u0e31\u0e48\u0e27|\u0e2d\u0e37\u0e48\u0e19|\u0e42\u0e14\u0e22|\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e40\u0e17\u0e48\u0e32|\u0e43\u0e15\u0e49|\u0e43\u0e2a\u0e48|\u0e43\u0e14|\u0e44\u0e27\u0e49|\u0e43\u0e2b\u0e21\u0e48|\u0e43\u0e2b\u0e0d\u0e48|\u0e40\u0e25\u0e47\u0e01|\u0e43\u0e01\u0e25\u0e49|\u0e44\u0e01\u0e25|\u0e40\u0e02\u0e32|\u0e0a\u0e48\u0e27\u0e22|\u0e09\u0e1a\u0e31\u0e1a|\u0e04\u0e49\u0e19|\u0e40\u0e23\u0e47\u0e27|\u0e40\u0e02\u0e49\u0e32|\u0e40\u0e0a\u0e49\u0e32)%22;lc=%22[\u0e40-\u0e44]|\\(|\\[|\\{|\%22%22;fc=%22\u0e2f|[\u0e30-\u0e3A]|[\u0e45-\u0e4e]|\\)|\\]|\\}|\%22%22;tc=%22\u0e01-\u0e3a\u0e40-\u0e4f\u0e5a\u0e5b%22;r=new Array();l=new Array();r[0]=new RegExp(%22(%22+fc+%22)(?=(%22+lc+%22))%22);l[0]=1;r[1]=new RegExp(%22([%22+tc+%22])(?![\\)\\]\\}\%22]|[%22+tc+%22])%22);l[1]=1;r[2]=new RegExp(%22([^%22+tc+%22\\(\\(\\[\\{\%22])(?=[%22+tc+%22])%22);l[2]=1;r[3]=new RegExp(%22([^%22+lc+%22])(?=(%22+lc+%22)*%22+cw+%22(%22+fc+%22)?)%22);l[3]=1;r[4]=new RegExp(%22((%22+lc+%22)*%22+cw+%22(%22+fc+%22)*)(?!%22+fc+%22)%22);l[4]=-1;r[5]=new RegExp(%22([\u0e45\u0e46\u0e33])%22);l[5]=1;function F(n){var p,a,c,x,t,e;if(n.nodeType==3){p=new Array();for(i=0;i<r.length;i++){t=n.data.search(r[i]);if(t>=0){if(l[i]>=0){p.push(t+l[i]);}else{e=n.data.match(r[i]);p.push(t+e[1].length);}}}if(p.length>0){p.sort(cnum);if(p[0]>=0){a=n.splitText(p[0]);n.parentNode.insertBefore(document.createTextNode(%22\u200b%22),a);}}}else{if(n.tagName!=%22STYLE%22&&n.tagName!=%22SCRIPT%22){for(c=0;x=n.childNodes[c];++c){F(x);}}}}function G(w){var fm=w.frames;if(fm.length<=0){F(document.body);}else{for(var i=0;i<fm.length;i++){D=fm[i].document;F(D.body);}}}G(window.self);}/* http://siit.net/members/art/thaiwrap.html */)(); Wrap]] - 2005.02.08


Mozilla Firefox[]

Mozilla Firefox web browser with Thai wordbreaking ability is now available for many platforms. Check it out here.

โมซิลล่า ไฟร์ฟ็อกซ์ เว็บเบราเซอร์รุ่นตัดคำไทยได้ มีให้ใช้แล้ว บนหลายระบบ อ่านต่อที่นี่

Thai Linux Working Group คนไทยใช้ลีนุกซ์