summaryrefslogtreecommitdiff
path: root/linguistic
diff options
context:
space:
mode:
authorThomas Lange <tl@openoffice.org>2000-12-22 11:46:33 +0000
committerThomas Lange <tl@openoffice.org>2000-12-22 11:46:33 +0000
commit5ba0fa6e20a85ce5f5a42daee77fc6f7780dd55f (patch)
tree192a130e55a475db61738ba06c789439344b6165 /linguistic
parent1f956e2ab61d1b1bea868cd0786102ebb8a135a7 (diff)
handle words with hyphens and control chars
Diffstat (limited to 'linguistic')
-rw-r--r--linguistic/source/hyphdsp.cxx25
-rw-r--r--linguistic/source/spelldsp.cxx7
-rw-r--r--linguistic/source/thesdsp.cxx7
3 files changed, 28 insertions, 11 deletions
diff --git a/linguistic/source/hyphdsp.cxx b/linguistic/source/hyphdsp.cxx
index c1a44886cf76..1f70a79d309e 100644
--- a/linguistic/source/hyphdsp.cxx
+++ b/linguistic/source/hyphdsp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: hyphdsp.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: tl $ $Date: 2000-12-21 09:58:47 $
+ * last change: $Author: tl $ $Date: 2000-12-22 12:46:12 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -82,6 +82,9 @@
#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
#include <tools/debug.hxx>
#endif
+#ifndef _SVTOOLS_LNGMISC_HXX_
+#include <svtools/lngmisc.hxx>
+#endif
#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
#include <unotools/processfactory.hxx>
#endif
@@ -318,6 +321,7 @@ Reference< XHyphenatedWord > SAL_CALL
bWordModified |= RemoveHyphens( aChkWord );
if (IsIgnoreControlChars( rProperties, GetPropSet() ))
bWordModified |= RemoveControlChars( aChkWord );
+ INT16 nChkMaxLeading = GetPosInWordToCheck( rWord, nMaxLeading );
// check for results from (positive) dictionaries which have precedence!
Reference< XDictionaryEntry > xEntry;
@@ -330,7 +334,7 @@ Reference< XHyphenatedWord > SAL_CALL
if (xEntry.is())
{
- xRes = buildHyphWord( xEntry, nLanguage, nMaxLeading );
+ xRes = buildHyphWord( xEntry, nLanguage, nChkMaxLeading );
}
else
{
@@ -345,7 +349,7 @@ Reference< XHyphenatedWord > SAL_CALL
if (i <= pEntry->aFlags.nLastTriedSvcIndex)
{
if (rHyph.is())
- xRes = rHyph->hyphenate( aChkWord, rLocale, nMaxLeading,
+ xRes = rHyph->hyphenate( aChkWord, rLocale, nChkMaxLeading,
rProperties );
++i;
}
@@ -375,7 +379,7 @@ Reference< XHyphenatedWord > SAL_CALL
rMgr.AddLngSvcEvtBroadcaster( xBroadcaster );
if (rHyph.is())
- xRes = rHyph->hyphenate( aChkWord, rLocale, nMaxLeading,
+ xRes = rHyph->hyphenate( aChkWord, rLocale, nChkMaxLeading,
rProperties );
pEntry->aFlags.nLastTriedSvcIndex = i;
@@ -385,6 +389,9 @@ Reference< XHyphenatedWord > SAL_CALL
} // if (xEntry.is())
}
+ if (bWordModified && xRes.is())
+ xRes = RebuildHyphensAndControlChars( rWord, xRes );
+
return xRes;
}
@@ -419,6 +426,7 @@ Reference< XHyphenatedWord > SAL_CALL
bWordModified |= RemoveHyphens( aChkWord );
if (IsIgnoreControlChars( rProperties, GetPropSet() ))
bWordModified |= RemoveControlChars( aChkWord );
+ INT16 nChkIndex = GetPosInWordToCheck( rWord, nIndex );
// check for results from (positive) dictionaries which have precedence!
Reference< XDictionaryEntry > xEntry;
@@ -447,7 +455,7 @@ Reference< XHyphenatedWord > SAL_CALL
{
if (rHyph.is())
xRes = rHyph->queryAlternativeSpelling( aChkWord, rLocale,
- nIndex, rProperties );
+ nChkIndex, rProperties );
++i;
}
else if (pEntry->aFlags.nLastTriedSvcIndex < nLen - 1)
@@ -477,7 +485,7 @@ Reference< XHyphenatedWord > SAL_CALL
if (rHyph.is())
xRes = rHyph->queryAlternativeSpelling( aChkWord, rLocale,
- nIndex, rProperties );
+ nChkIndex, rProperties );
pEntry->aFlags.nLastTriedSvcIndex = i;
++i;
@@ -486,6 +494,9 @@ Reference< XHyphenatedWord > SAL_CALL
} // if (xEntry.is())
}
+ if (bWordModified && xRes.is())
+ xRes = RebuildHyphensAndControlChars( rWord, xRes );
+
return xRes;
}
diff --git a/linguistic/source/spelldsp.cxx b/linguistic/source/spelldsp.cxx
index 17b06c7c0690..37c3716a057d 100644
--- a/linguistic/source/spelldsp.cxx
+++ b/linguistic/source/spelldsp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: spelldsp.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: tl $ $Date: 2000-12-21 09:58:21 $
+ * last change: $Author: tl $ $Date: 2000-12-22 12:46:23 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -73,6 +73,9 @@
#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
#include <tools/debug.hxx>
#endif
+#ifndef _SVTOOLS_LNGMISC_HXX_
+#include <svtools/lngmisc.hxx>
+#endif
#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_
#include <unotools/processfactory.hxx>
#endif
diff --git a/linguistic/source/thesdsp.cxx b/linguistic/source/thesdsp.cxx
index 8e4c5d670f42..cdcdbc21e709 100644
--- a/linguistic/source/thesdsp.cxx
+++ b/linguistic/source/thesdsp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: thesdsp.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: tl $ $Date: 2000-12-21 09:58:34 $
+ * last change: $Author: tl $ $Date: 2000-12-22 12:46:33 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,6 +65,9 @@
#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT
#include <tools/debug.hxx>
#endif
+#ifndef _SVTOOLS_LNGMISC_HXX_
+#include <svtools/lngmisc.hxx>
+#endif
#include <cppuhelper/factory.hxx> // helper for factories
#include <com/sun/star/registry/XRegistryKey.hpp>