fdo#57545 remove redundant capitalType functions
capitalType functions from the hyphenator, thesaurus and spellchecker dispatcher have been replaced by a unique function in linguistic/misc.cxx. The capital type is now represented as an enum. Change-Id: I0c2768b06f995cf34c105de117c7bab138c727a9 Reviewed-on: https://gerrit.libreoffice.org/1460 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
This commit is contained in:
committed by
Eike Rathke
parent
bcd97c4adc
commit
4ef5ed9d21
@@ -35,6 +35,7 @@
|
|||||||
#include <rtl/textenc.h>
|
#include <rtl/textenc.h>
|
||||||
|
|
||||||
#include <linguistic/lngprops.hxx>
|
#include <linguistic/lngprops.hxx>
|
||||||
|
#include <linguistic/misc.hxx>
|
||||||
#include <unotools/pathoptions.hxx>
|
#include <unotools/pathoptions.hxx>
|
||||||
#include <unotools/useroptions.hxx>
|
#include <unotools/useroptions.hxx>
|
||||||
#include <unotools/lingucfg.hxx>
|
#include <unotools/lingucfg.hxx>
|
||||||
@@ -57,13 +58,6 @@ using namespace linguistic;
|
|||||||
|
|
||||||
using ::rtl::OUString;
|
using ::rtl::OUString;
|
||||||
|
|
||||||
// values asigned to capitalization types
|
|
||||||
#define CAPTYPE_UNKNOWN 0
|
|
||||||
#define CAPTYPE_NOCAP 1
|
|
||||||
#define CAPTYPE_INITCAP 2
|
|
||||||
#define CAPTYPE_ALLCAP 3
|
|
||||||
#define CAPTYPE_MIXED 4
|
|
||||||
|
|
||||||
// min, max
|
// min, max
|
||||||
#define Max(a,b) (a > b ? a : b)
|
#define Max(a,b) (a > b ? a : b)
|
||||||
|
|
||||||
@@ -711,31 +705,6 @@ Reference< XPossibleHyphens > SAL_CALL Hyphenator::createPossibleHyphens( const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_uInt16 SAL_CALL Hyphenator::capitalType(const OUString& aTerm, CharClass * pCC)
|
|
||||||
{
|
|
||||||
sal_Int32 tlen = aTerm.getLength();
|
|
||||||
if ((pCC) && (tlen))
|
|
||||||
{
|
|
||||||
String aStr(aTerm);
|
|
||||||
sal_Int32 nc = 0;
|
|
||||||
for (xub_StrLen tindex = 0; tindex < tlen; tindex++)
|
|
||||||
{
|
|
||||||
if (pCC->getCharacterType(aStr,tindex) & ::com::sun::star::i18n::KCharacterType::UPPER)
|
|
||||||
nc++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nc == 0)
|
|
||||||
return (sal_uInt16) CAPTYPE_NOCAP;
|
|
||||||
if (nc == tlen)
|
|
||||||
return (sal_uInt16) CAPTYPE_ALLCAP;
|
|
||||||
if ((nc == 1) && (pCC->getCharacterType(aStr,0) & ::com::sun::star::i18n::KCharacterType::UPPER))
|
|
||||||
return (sal_uInt16) CAPTYPE_INITCAP;
|
|
||||||
|
|
||||||
return (sal_uInt16) CAPTYPE_MIXED;
|
|
||||||
}
|
|
||||||
return (sal_uInt16) CAPTYPE_UNKNOWN;
|
|
||||||
}
|
|
||||||
|
|
||||||
OUString SAL_CALL Hyphenator::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
OUString SAL_CALL Hyphenator::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
||||||
{
|
{
|
||||||
if (pCC)
|
if (pCC)
|
||||||
@@ -949,10 +918,4 @@ void * SAL_CALL Hyphenator_getFactory( const sal_Char * pImplName,
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#undef CAPTYPE_UNKNOWN
|
|
||||||
#undef CAPTYPE_NOCAP
|
|
||||||
#undef CAPTYPE_INITCAP
|
|
||||||
#undef CAPTYPE_ALLCAP
|
|
||||||
#undef CAPTYPE_MIXED
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -132,7 +132,6 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
|
||||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||||
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
||||||
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
||||||
|
@@ -43,13 +43,6 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
// values asigned to capitalization types
|
|
||||||
#define CAPTYPE_UNKNOWN 0
|
|
||||||
#define CAPTYPE_NOCAP 1
|
|
||||||
#define CAPTYPE_INITCAP 2
|
|
||||||
#define CAPTYPE_ALLCAP 3
|
|
||||||
#define CAPTYPE_MIXED 4
|
|
||||||
|
|
||||||
// XML-header to query SPELLML support
|
// XML-header to query SPELLML support
|
||||||
#define SPELLML_SUPPORT "<?xml?>"
|
#define SPELLML_SUPPORT "<?xml?>"
|
||||||
|
|
||||||
@@ -581,34 +574,6 @@ void SAL_CALL Thesaurus::initialize( const Sequence< Any >& rArguments )
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
sal_uInt16 SAL_CALL Thesaurus::capitalType(const OUString& aTerm, CharClass * pCC)
|
|
||||||
{
|
|
||||||
sal_Int32 tlen = aTerm.getLength();
|
|
||||||
if ((pCC) && (tlen))
|
|
||||||
{
|
|
||||||
String aStr(aTerm);
|
|
||||||
sal_Int32 nc = 0;
|
|
||||||
for (sal_uInt16 tindex = 0; tindex < tlen; tindex++)
|
|
||||||
{
|
|
||||||
if (pCC->getCharacterType(aStr,tindex) &
|
|
||||||
::com::sun::star::i18n::KCharacterType::UPPER) nc++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nc == 0)
|
|
||||||
return (sal_uInt16) CAPTYPE_NOCAP;
|
|
||||||
if (nc == tlen)
|
|
||||||
return (sal_uInt16) CAPTYPE_ALLCAP;
|
|
||||||
if ((nc == 1) && (pCC->getCharacterType(aStr,0) &
|
|
||||||
::com::sun::star::i18n::KCharacterType::UPPER))
|
|
||||||
return (sal_uInt16) CAPTYPE_INITCAP;
|
|
||||||
|
|
||||||
return (sal_uInt16) CAPTYPE_MIXED;
|
|
||||||
}
|
|
||||||
return (sal_uInt16) CAPTYPE_UNKNOWN;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OUString SAL_CALL Thesaurus::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
OUString SAL_CALL Thesaurus::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
||||||
{
|
{
|
||||||
if (pCC)
|
if (pCC)
|
||||||
@@ -751,11 +716,4 @@ void * SAL_CALL Thesaurus_getFactory( const sal_Char * pImplName,
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
#undef CAPTYPE_UNKNOWN
|
|
||||||
#undef CAPTYPE_NOCAP
|
|
||||||
#undef CAPTYPE_INITCAP
|
|
||||||
#undef CAPTYPE_ALLCAP
|
|
||||||
#undef CAPTYPE_MIXED
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -134,7 +134,6 @@ public:
|
|||||||
getSupportedServiceNames_Static() throw();
|
getSupportedServiceNames_Static() throw();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
|
||||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||||
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
||||||
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
||||||
|
@@ -82,6 +82,15 @@ namespace linguistic
|
|||||||
#define DIC_ERR_UNKNOWN 3
|
#define DIC_ERR_UNKNOWN 3
|
||||||
#define DIC_ERR_NOT_EXISTS 4
|
#define DIC_ERR_NOT_EXISTS 4
|
||||||
|
|
||||||
|
// values asigned to capitalization types
|
||||||
|
enum CapType
|
||||||
|
{
|
||||||
|
CAPTYPE_UNKNOWN,
|
||||||
|
CAPTYPE_NOCAP,
|
||||||
|
CAPTYPE_INITCAP,
|
||||||
|
CAPTYPE_ALLCAP,
|
||||||
|
CAPTYPE_MIXED
|
||||||
|
};
|
||||||
|
|
||||||
LNG_DLLPUBLIC ::osl::Mutex& GetLinguMutex();
|
LNG_DLLPUBLIC ::osl::Mutex& GetLinguMutex();
|
||||||
|
|
||||||
@@ -120,6 +129,7 @@ LNG_DLLPUBLIC sal_Int32 GetPosInWordToCheck( const rtl::OUString &rTxt, sal_Int3
|
|||||||
LNG_DLLPUBLIC sal_Bool IsUpper( const String &rText, xub_StrLen nPos, xub_StrLen nLen, sal_Int16 nLanguage );
|
LNG_DLLPUBLIC sal_Bool IsUpper( const String &rText, xub_StrLen nPos, xub_StrLen nLen, sal_Int16 nLanguage );
|
||||||
|
|
||||||
inline sal_Bool IsUpper( const String &rText, sal_Int16 nLanguage ) { return IsUpper( rText, 0, rText.Len(), nLanguage ); }
|
inline sal_Bool IsUpper( const String &rText, sal_Int16 nLanguage ) { return IsUpper( rText, 0, rText.Len(), nLanguage ); }
|
||||||
|
LNG_DLLPUBLIC CapType SAL_CALL capitalType(const OUString&, CharClass *);
|
||||||
|
|
||||||
String ToLower( const String &rText, sal_Int16 nLanguage );
|
String ToLower( const String &rText, sal_Int16 nLanguage );
|
||||||
LNG_DLLPUBLIC sal_Bool HasDigits( const ::rtl::OUString &rText );
|
LNG_DLLPUBLIC sal_Bool HasDigits( const ::rtl::OUString &rText );
|
||||||
|
@@ -592,6 +592,32 @@ sal_Bool IsUpper( const String &rText, xub_StrLen nPos, xub_StrLen nLen, sal_Int
|
|||||||
&& !(nFlags & KCharacterType::LOWER);
|
&& !(nFlags & KCharacterType::LOWER);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CapType SAL_CALL capitalType(const OUString& aTerm, CharClass * pCC)
|
||||||
|
{
|
||||||
|
sal_Int32 tlen = aTerm.getLength();
|
||||||
|
if ((pCC) && (tlen))
|
||||||
|
{
|
||||||
|
String aStr(aTerm);
|
||||||
|
sal_Int32 nc = 0;
|
||||||
|
for (sal_uInt16 tindex = 0; tindex < tlen; tindex++)
|
||||||
|
{
|
||||||
|
if (pCC->getCharacterType(aStr,tindex) &
|
||||||
|
::com::sun::star::i18n::KCharacterType::UPPER) nc++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nc == 0)
|
||||||
|
return CAPTYPE_NOCAP;
|
||||||
|
if (nc == tlen)
|
||||||
|
return CAPTYPE_ALLCAP;
|
||||||
|
if ((nc == 1) && (pCC->getCharacterType(aStr,0) &
|
||||||
|
::com::sun::star::i18n::KCharacterType::UPPER))
|
||||||
|
return CAPTYPE_INITCAP;
|
||||||
|
|
||||||
|
return CAPTYPE_MIXED;
|
||||||
|
}
|
||||||
|
return CAPTYPE_UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
String ToLower( const String &rText, sal_Int16 nLanguage )
|
String ToLower( const String &rText, sal_Int16 nLanguage )
|
||||||
{
|
{
|
||||||
|
@@ -37,13 +37,6 @@
|
|||||||
#include "lngsvcmgr.hxx"
|
#include "lngsvcmgr.hxx"
|
||||||
#include "linguistic/lngprops.hxx"
|
#include "linguistic/lngprops.hxx"
|
||||||
|
|
||||||
// values asigned to capitalization types
|
|
||||||
#define CAPTYPE_UNKNOWN 0
|
|
||||||
#define CAPTYPE_NOCAP 1
|
|
||||||
#define CAPTYPE_INITCAP 2
|
|
||||||
#define CAPTYPE_ALLCAP 3
|
|
||||||
#define CAPTYPE_MIXED 4
|
|
||||||
|
|
||||||
using namespace osl;
|
using namespace osl;
|
||||||
using namespace com::sun::star;
|
using namespace com::sun::star;
|
||||||
using namespace com::sun::star::beans;
|
using namespace com::sun::star::beans;
|
||||||
@@ -837,32 +830,6 @@ void SpellCheckerDispatcher::setCharClass(const LanguageTag& rLanguageTag)
|
|||||||
pCharClass->setLanguageTag(rLanguageTag);
|
pCharClass->setLanguageTag(rLanguageTag);
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_uInt16 SAL_CALL SpellCheckerDispatcher::capitalType(const OUString& aTerm, CharClass * pCC)
|
|
||||||
{
|
|
||||||
sal_Int32 tlen = aTerm.getLength();
|
|
||||||
if ((pCC) && (tlen))
|
|
||||||
{
|
|
||||||
String aStr(aTerm);
|
|
||||||
sal_Int32 nc = 0;
|
|
||||||
for (sal_uInt16 tindex = 0; tindex < tlen; tindex++)
|
|
||||||
{
|
|
||||||
if (pCC->getCharacterType(aStr,tindex) &
|
|
||||||
::com::sun::star::i18n::KCharacterType::UPPER) nc++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nc == 0)
|
|
||||||
return (sal_uInt16) CAPTYPE_NOCAP;
|
|
||||||
if (nc == tlen)
|
|
||||||
return (sal_uInt16) CAPTYPE_ALLCAP;
|
|
||||||
if ((nc == 1) && (pCC->getCharacterType(aStr,0) &
|
|
||||||
::com::sun::star::i18n::KCharacterType::UPPER))
|
|
||||||
return (sal_uInt16) CAPTYPE_INITCAP;
|
|
||||||
|
|
||||||
return (sal_uInt16) CAPTYPE_MIXED;
|
|
||||||
}
|
|
||||||
return (sal_uInt16) CAPTYPE_UNKNOWN;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OUString SAL_CALL SpellCheckerDispatcher::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
OUString SAL_CALL SpellCheckerDispatcher::makeLowerCase(const OUString& aTerm, CharClass * pCC)
|
||||||
@@ -872,10 +839,4 @@ OUString SAL_CALL SpellCheckerDispatcher::makeLowerCase(const OUString& aTerm, C
|
|||||||
return aTerm;
|
return aTerm;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef CAPTYPE_UNKNOWN
|
|
||||||
#undef CAPTYPE_NOCAP
|
|
||||||
#undef CAPTYPE_INITCAP
|
|
||||||
#undef CAPTYPE_ALLCAP
|
|
||||||
#undef CAPTYPE_MIXED
|
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -124,7 +124,6 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void setCharClass(const LanguageTag& rLanguageTag);
|
void setCharClass(const LanguageTag& rLanguageTag);
|
||||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
|
||||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user