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 <linguistic/lngprops.hxx>
|
||||
#include <linguistic/misc.hxx>
|
||||
#include <unotools/pathoptions.hxx>
|
||||
#include <unotools/useroptions.hxx>
|
||||
#include <unotools/lingucfg.hxx>
|
||||
@@ -57,13 +58,6 @@ using namespace linguistic;
|
||||
|
||||
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
|
||||
#define Max(a,b) (a > b ? a : b)
|
||||
|
||||
@@ -711,31 +705,6 @@ Reference< XPossibleHyphens > SAL_CALL Hyphenator::createPossibleHyphens( const
|
||||
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)
|
||||
{
|
||||
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: */
|
||||
|
@@ -132,7 +132,6 @@ public:
|
||||
|
||||
|
||||
private:
|
||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
||||
|
@@ -43,13 +43,6 @@
|
||||
#include <set>
|
||||
#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
|
||||
#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)
|
||||
{
|
||||
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: */
|
||||
|
@@ -134,7 +134,6 @@ public:
|
||||
getSupportedServiceNames_Static() throw();
|
||||
|
||||
private:
|
||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeUpperCase(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeInitCap(const OUString&, CharClass *);
|
||||
|
@@ -82,6 +82,15 @@ namespace linguistic
|
||||
#define DIC_ERR_UNKNOWN 3
|
||||
#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();
|
||||
|
||||
@@ -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 );
|
||||
|
||||
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 );
|
||||
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);
|
||||
}
|
||||
|
||||
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 )
|
||||
{
|
||||
|
@@ -37,13 +37,6 @@
|
||||
#include "lngsvcmgr.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 com::sun::star;
|
||||
using namespace com::sun::star::beans;
|
||||
@@ -837,32 +830,6 @@ void SpellCheckerDispatcher::setCharClass(const LanguageTag& 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)
|
||||
@@ -872,10 +839,4 @@ OUString SAL_CALL SpellCheckerDispatcher::makeLowerCase(const OUString& aTerm, C
|
||||
return aTerm;
|
||||
}
|
||||
|
||||
#undef CAPTYPE_UNKNOWN
|
||||
#undef CAPTYPE_NOCAP
|
||||
#undef CAPTYPE_INITCAP
|
||||
#undef CAPTYPE_ALLCAP
|
||||
#undef CAPTYPE_MIXED
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@@ -124,7 +124,6 @@ public:
|
||||
|
||||
private:
|
||||
void setCharClass(const LanguageTag& rLanguageTag);
|
||||
sal_uInt16 SAL_CALL capitalType(const OUString&, CharClass *);
|
||||
OUString SAL_CALL makeLowerCase(const OUString&, CharClass *);
|
||||
|
||||
};
|
||||
|
Reference in New Issue
Block a user