บทความนี้ยังไม่สมบูรณ์, ยังต้องแก้ไขอีกเยอะ. สำหรับต้นฉบับของบทความฉบับสมบูรณ์อยู่ที่ 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.
- อาจจะใช้กับเฟรมที่อยู่ในเฟรมอีกทีนึงไม่ได้. อาจจะทำงานช้าถ้าหน้าเว็บใหญ่มากๆ
- ผู้ใช้โอเปร่า อ่านนี่ (Word break for language that has no spaces between words (e.g. Thai))
- discussion / พูคคุย แนะนำ @ bact' blog
Usage / วิธีใช้[]
- 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 */)(); ตัด] <-- ไปหย่อนลงที่ แถบเครื่องมือ ของ โมซิลล่า หรือ ไฟร์ฟ็อกซ์
- 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
(ทำการเรียกฟังก์ชั่นทันทีเมื่อโหลดหน้าเว็บเสร็จสมบูรณ์)
- Save this thaiwrap.js file (right click on the link) to your web folder.
- คัดลอกไฟล์ thaiwrap.js ลงเครื่องของคุณ (คลิกขวาบนลิงก์, เลือก Save as)
- Add this code to your page's header (in head section)
- เพิ่มโค้ดนี้ลงที่ส่วนหัวของหน้าเว็บ (ในส่วนของ head)
<script type="text/javascript" src="thaiwrap.js"></script>
- 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 คนไทยใช้ลีนุกซ์