? spellcheck.patch
Index: config_office/set_soenv.in
===================================================================
RCS file: /cvsroot/thaioo/OpenOffice_Test/config_office/set_soenv.in,v
retrieving revision 1.1.1.1
diff -a -u -r1.1.1.1 set_soenv.in
--- config_office/set_soenv.in	15 Sep 2004 05:31:42 -0000	1.1.1.1
+++ config_office/set_soenv.in	16 Sep 2004 10:51:19 -0000
@@ -51,7 +51,7 @@
 # Platform independent constant values.
 my @LANGUAGES = ("AFRIK", "ARAB", "BASQUE", "CAT", "CHINSIM", "CHINTRAD", "CZECH", "DAN", "DTCH", "ENUS", "ESTONIAN", "FINN", "FREN", "GAL", "GREEK", "HEBREW", "HINDI", "HUNG", "ITAL",
 "JAPN", "KANNADA", "KOREAN", "LITHUANIAN", "NORBOK", "NORNYN", "NSOTHO", "POL", "PORT", "PORTBR", "RUSS", "SLOVAK", "SLOVENIAN", "SPAN", "SWED", "THAI", "TSWANA", "TURK", "WELSH", "ZULU" ); 
-my @DICTIONARIES = ("DADK", "DEDE", "ENGB", "ENUS", "ITIT", "RURU" );
+my @DICTIONARIES = ("DADK", "DEDE", "ENGB", "ENUS", "ITIT", "RURU", "THAI" );
 my ( $CALL_CDECL, $COMMON_OUTDIR, $NO_SRS_PATCH, $PRODUCT, $PROFULLSWITCH, $BIG_GOODIES, $BMP_WRITES_FLAG, 
      $common_build, $MK_UNROLL, $NO_REC_RES, $PROEXT, $SO3, $SOLAR_JAVA, 
      $SOLAR_PLUGIN, $TF_PACKAGES, $TF_SDBAPI, $TF_FILEURL, $UPDATER, $BUILD_DELIVER, $USE_NEWCHARSET, $USE_NEW_RSC, $VCL, 
Index: dictionaries/prj/build.lst
===================================================================
RCS file: /cvsroot/thaioo/OpenOffice_Test/dictionaries/prj/build.lst,v
retrieving revision 1.1.1.1
diff -a -u -r1.1.1.1 build.lst
--- dictionaries/prj/build.lst	15 Sep 2004 05:37:49 -0000	1.1.1.1
+++ dictionaries/prj/build.lst	16 Sep 2004 10:51:25 -0000
@@ -7,4 +7,5 @@
 di	dictionaries\en_US	nmake	-	all	di_en_US di_diclst NULL
 di	dictionaries\it_IT	nmake	-	all	di_it_IT di_diclst NULL
 di	dictionaries\ru_RU	nmake	-	all	di_ru_RU di_diclst NULL
-di	dictionaries\util	nmake	-	all	di_util di_da_DK di_de_DE di_en_GB di_en_US di_it_IT di_ru_RU di_diclst NULL
+di	dictionaries\th_TH	nmake	-	all	di_th_TH di_diclst NULL
+di	dictionaries\util	nmake	-	all	di_util di_da_DK di_de_DE di_en_GB di_en_US di_it_IT di_ru_RU di_th_TH di_diclst NULL
Index: sal/textenc/tencinfo.c
===================================================================
RCS file: /cvsroot/thaioo/OpenOffice_Test/sal/textenc/tencinfo.c,v
retrieving revision 1.1.1.1
diff -a -u -r1.1.1.1 tencinfo.c
--- sal/textenc/tencinfo.c	15 Sep 2004 05:30:38 -0000	1.1.1.1
+++ sal/textenc/tencinfo.c	16 Sep 2004 10:52:46 -0000
@@ -427,6 +427,7 @@
         { "15", RTL_TEXTENCODING_ISO_8859_15 },
         { "14", RTL_TEXTENCODING_ISO_8859_14 },
         { "13", RTL_TEXTENCODING_ISO_8859_13 },
+        { "11", RTL_TEXTENCODING_TIS_620 },
         { "10", RTL_TEXTENCODING_ISO_8859_10 },
         { "1", RTL_TEXTENCODING_ISO_8859_1 },
         { "2", RTL_TEXTENCODING_ISO_8859_2 },
@@ -565,6 +566,13 @@
     {
         { NULL, RTL_TEXTENCODING_SYMBOL }
     };
+    
+    static ImplStrCharsetDef const aUnixCharsetTIS620Tab[] =
+    {
+        { "2529", RTL_TEXTENCODING_TIS_620 },
+        { "2533", RTL_TEXTENCODING_TIS_620 },
+        { NULL, RTL_TEXTENCODING_TIS_620 }
+    };    
 
     static ImplStrFirstPartCharsetDef const aUnixCharsetFirstPartTab[] =
     {
@@ -590,7 +598,7 @@
         { "iso10646", aUnixCharsetUNICODETab },
         { "ksc5601.1987", aUnixCharsetKSC56011987Tab },
         { "ksc5601.1992", aUnixCharsetKSC56011992Tab },
-/*        { "tis620.2553",  },          */
+	{ "tis620", aUnixCharsetTIS620Tab },
 /*        { "sunudcja.1997",  },        */
 /*        { "sunudcko.1997",  },        */
 /*        { "sunudczh.1997",  },        */
Index: sw/source/core/txtnode/txtedt.cxx
===================================================================
RCS file: /cvsroot/thaioo/OpenOffice_Test/sw/source/core/txtnode/txtedt.cxx,v
retrieving revision 1.1.1.1
diff -a -u -r1.1.1.1 txtedt.cxx
--- sw/source/core/txtnode/txtedt.cxx	15 Sep 2004 05:31:07 -0000	1.1.1.1
+++ sw/source/core/txtnode/txtedt.cxx	16 Sep 2004 10:53:04 -0000
@@ -208,7 +208,12 @@
     return 0x3000 == cCh ||
            ' ' == cCh ||
            '\t' == cCh ||
-           0x0a == cCh;
+           0x0a == cCh ||
+ 	   ((0x21 <= cCh) && (cCh <= 0x2f)) ||  // !"#$%&'()*+,-./ Surichat
+	   ((0x3a <= cCh) && (cCh <= 0x3f)) ||	// :;<=>?
+	   ((0x5b <= cCh) && (cCh <= 0x5f)) ||	// [\]^_
+	   ((0x7b <= cCh) && (cCh <= 0x7e)) ||	// {|}~
+	   ((0x2018 <= cCh) && (cCh <= 0x201f)); // '',`"",,"	   
 }
 
 /*
@@ -656,6 +661,13 @@
         if ( nBegin != nOldBegin )
             bStart = TRUE;
 	}
+	
+	xub_StrLen nNextBegin = nBegin + nLen;
+        while ( nNextBegin < rText.Len() &&
+                 lcl_IsSkippableWhiteSpace( rText.GetChar( nNextBegin ) ) )
+             nNextBegin++;
+
+	aLang = rNode.GetLang( nNextBegin );
 
 	Boundary aBound;
     if( bStart )
@@ -670,7 +682,7 @@
     		aBound = pBreakIt->xBreak->previousWord( rText, nBegin,
                     pBreakIt->GetLocale( aLang ), nWordType );
 		else
-    		aBound = pBreakIt->xBreak->nextWord( rText, nBegin,
+    		aBound = pBreakIt->xBreak->nextWord( rText, nBegin + nLen - 1,
                     pBreakIt->GetLocale( aLang ), nWordType );
 	}
 	else
