diff options
author | Louis Suárez-Potts <louis@openoffice.org> | 2002-11-18 06:59:24 +0000 |
---|---|---|
committer | Louis Suárez-Potts <louis@openoffice.org> | 2002-11-18 06:59:24 +0000 |
commit | a561af855646784133dc16a8130c434be2b5b3e7 (patch) | |
tree | fa268d4bc81a2e6a8fcfa5bb396d1d225ec45a0a /lingucomponent/source/hyphenator | |
parent | e5f219a9473debd1af96ac8b052d39866954e2fd (diff) |
temporary removal
Diffstat (limited to 'lingucomponent/source/hyphenator')
9 files changed, 0 insertions, 2022 deletions
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp deleted file mode 100644 index b0f85bf7bebf..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/exports.dxp +++ /dev/null @@ -1,3 +0,0 @@ -component_getFactory -component_getImplementationEnvironment -component_writeInfo diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx deleted file mode 100644 index 87e3d5e33c07..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.cxx +++ /dev/null @@ -1,365 +0,0 @@ -/************************************************************************* - * - * $RCSfile: hprophelp.cxx,v $ - * - * $Revision: 1.1 $ - * - * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - - -#include <linguistic/misc.hxx> - -#include "hprophelp.hxx" -#include <linguistic/lngprops.hxx> - -#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT -#include <tools/debug.hxx> -#endif - -#include <com/sun/star/linguistic2/LinguServiceEvent.hpp> -#include <com/sun/star/linguistic2/LinguServiceEventFlags.hpp> -#include <com/sun/star/linguistic2/XLinguServiceEventListener.hpp> - -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSET_HPP_ -#include <com/sun/star/beans/XPropertySet.hpp> -#endif -#ifndef _OSL_MUTEX_HXX_ -#include <osl/mutex.hxx> -#endif - -//using namespace utl; -using namespace osl; -using namespace rtl; -using namespace com::sun::star; -using namespace com::sun::star::beans; -using namespace com::sun::star::lang; -using namespace com::sun::star::uno; -using namespace com::sun::star::linguistic2; -using namespace linguistic; - - -#define A2OU(x) ::rtl::OUString::createFromAscii( x ) - -/////////////////////////////////////////////////////////////////////////// - - -PropertyChgHelper::PropertyChgHelper( - const Reference< XInterface > & rxSource, - Reference< XPropertySet > &rxPropSet, - const char *pPropNames[], USHORT nPropCount ) : - xMyEvtObj (rxSource), - xPropSet (rxPropSet), - aPropNames (nPropCount), - aLngSvcEvtListeners (GetLinguMutex()) -{ - OUString *pName = aPropNames.getArray(); - for (INT32 i = 0; i < nPropCount; ++i) - { - pName[i] = A2OU( pPropNames[i] ); - } -} - - -PropertyChgHelper::PropertyChgHelper( const PropertyChgHelper &rHelper ) : - aLngSvcEvtListeners (GetLinguMutex()) -{ - xPropSet = rHelper.xPropSet; - aPropNames = rHelper.aPropNames; - AddAsPropListener(); - - xMyEvtObj = rHelper.xMyEvtObj; -} - - -PropertyChgHelper::~PropertyChgHelper() -{ -} - - -void PropertyChgHelper::AddAsPropListener() -{ - if (xPropSet.is()) - { - INT32 nLen = aPropNames.getLength(); - const OUString *pPropName = aPropNames.getConstArray(); - for (INT32 i = 0; i < nLen; ++i) - { - if (pPropName[i].getLength()) - xPropSet->addPropertyChangeListener( pPropName[i], this ); - } - } -} - -void PropertyChgHelper::RemoveAsPropListener() -{ - if (xPropSet.is()) - { - INT32 nLen = aPropNames.getLength(); - const OUString *pPropName = aPropNames.getConstArray(); - for (INT32 i = 0; i < nLen; ++i) - { - if (pPropName[i].getLength()) - xPropSet->removePropertyChangeListener( pPropName[i], this ); - } - } -} - - -void PropertyChgHelper::LaunchEvent( const LinguServiceEvent &rEvt ) -{ - cppu::OInterfaceIteratorHelper aIt( aLngSvcEvtListeners ); - while (aIt.hasMoreElements()) - { - Reference< XLinguServiceEventListener > xRef( aIt.next(), UNO_QUERY ); - if (xRef.is()) - xRef->processLinguServiceEvent( rEvt ); - } -} - - -void SAL_CALL PropertyChgHelper::disposing( const EventObject& rSource ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - if (rSource.Source == xPropSet) - { - RemoveAsPropListener(); - xPropSet = NULL; - aPropNames.realloc( 0 ); - } -} - - -sal_Bool SAL_CALL - PropertyChgHelper::addLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxListener ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - BOOL bRes = FALSE; - if (rxListener.is()) - { - INT32 nCount = aLngSvcEvtListeners.getLength(); - bRes = aLngSvcEvtListeners.addInterface( rxListener ) != nCount; - } - return bRes; -} - - -sal_Bool SAL_CALL - PropertyChgHelper::removeLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxListener ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - BOOL bRes = FALSE; - if (rxListener.is()) - { - INT32 nCount = aLngSvcEvtListeners.getLength(); - bRes = aLngSvcEvtListeners.removeInterface( rxListener ) != nCount; - } - return bRes; -} - -/////////////////////////////////////////////////////////////////////////// - -static const char *aSP[] = -{ - UPN_IS_GERMAN_PRE_REFORM, - UPN_IS_IGNORE_CONTROL_CHARACTERS, - UPN_IS_USE_DICTIONARY_LIST, -}; - - -PropertyHelper_Hyphen::PropertyHelper_Hyphen( - const Reference< XInterface > & rxSource, - Reference< XPropertySet > &rxPropSet ) : - PropertyChgHelper ( rxSource, rxPropSet, aSP, sizeof(aSP) / sizeof(aSP[0]) ) -{ - SetDefault(); - INT32 nLen = GetPropNames().getLength(); - if (rxPropSet.is() && nLen) - { - const OUString *pPropName = GetPropNames().getConstArray(); - for (INT32 i = 0; i < nLen; ++i) - { - BOOL *pbVal = NULL, - *pbResVal = NULL; - - if (A2OU( UPN_IS_GERMAN_PRE_REFORM ) == pPropName[i]) - { - pbVal = &bIsGermanPreReform; - pbResVal = &bResIsGermanPreReform; - } - else if (A2OU( UPN_IS_IGNORE_CONTROL_CHARACTERS ) == pPropName[i]) - { - pbVal = &bIsIgnoreControlCharacters; - pbResVal = &bResIsIgnoreControlCharacters; - } - else if (A2OU( UPN_IS_USE_DICTIONARY_LIST ) == pPropName[i]) - { - pbVal = &bIsUseDictionaryList; - pbResVal = &bResIsUseDictionaryList; - } - if (pbVal && pbResVal) - { - rxPropSet->getPropertyValue( pPropName[i] ) >>= *pbVal; - *pbResVal = *pbVal; - } - } - } -} - - -PropertyHelper_Hyphen::~PropertyHelper_Hyphen() -{ -} - - -void PropertyHelper_Hyphen::SetDefault() -{ - bResIsGermanPreReform = bIsGermanPreReform = FALSE; - bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters = TRUE; - bResIsUseDictionaryList = bIsUseDictionaryList = TRUE; - - -} - - -void SAL_CALL - PropertyHelper_Hyphen::propertyChange( const PropertyChangeEvent& rEvt ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - if (GetPropSet().is() && rEvt.Source == GetPropSet()) - { - INT16 nLngSvcFlags = 0; - BOOL bSCWA = FALSE, // SPELL_CORRECT_WORDS_AGAIN ? - bSWWA = FALSE; // SPELL_WRONG_WORDS_AGAIN ? - - BOOL *pbVal = NULL; - switch (rEvt.PropertyHandle) - { - case UPH_IS_IGNORE_CONTROL_CHARACTERS : - { - pbVal = &bIsIgnoreControlCharacters; - break; - } - case UPH_IS_GERMAN_PRE_REFORM : - { - pbVal = &bIsGermanPreReform; - bSCWA = bSWWA = TRUE; - break; - } - case UPH_IS_USE_DICTIONARY_LIST : - { - pbVal = &bIsUseDictionaryList; - bSCWA = bSWWA = TRUE; - break; - } - default: - DBG_ERROR( "unknown property" ); - } - if (pbVal) - rEvt.NewValue >>= *pbVal; - - if (bSCWA) - nLngSvcFlags |= LinguServiceEventFlags::SPELL_CORRECT_WORDS_AGAIN; - if (bSWWA) - nLngSvcFlags |= LinguServiceEventFlags::SPELL_WRONG_WORDS_AGAIN; - if (nLngSvcFlags) - { - LinguServiceEvent aEvt( GetEvtObj(), nLngSvcFlags ); - LaunchEvent( aEvt ); - } - } -} - - -void PropertyHelper_Hyphen::SetTmpPropVals( const PropertyValues &rPropVals ) -{ - // set return value to default value unless there is an - // explicitly supplied temporary value - bResIsGermanPreReform = bIsGermanPreReform; - bResIsIgnoreControlCharacters = bIsIgnoreControlCharacters; - bResIsUseDictionaryList = bIsUseDictionaryList; - - // - INT32 nLen = rPropVals.getLength(); - if (nLen) - { - const PropertyValue *pVal = rPropVals.getConstArray(); - for (INT32 i = 0; i < nLen; ++i) - { - BOOL *pbResVal = NULL; - switch (pVal[i].Handle) - { - case UPH_IS_GERMAN_PRE_REFORM : pbResVal = &bResIsGermanPreReform; break; - case UPH_IS_IGNORE_CONTROL_CHARACTERS : pbResVal = &bResIsIgnoreControlCharacters; break; - case UPH_IS_USE_DICTIONARY_LIST : pbResVal = &bResIsUseDictionaryList; break; - default: - DBG_ERROR( "unknown property" ); - } - if (pbResVal) - pVal[i].Value >>= *pbResVal; - } - } -} - -/////////////////////////////////////////////////////////////////////////// diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx deleted file mode 100644 index f41739bed49b..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hprophelp.hxx +++ /dev/null @@ -1,206 +0,0 @@ -/************************************************************************* - * - * $RCSfile: hprophelp.hxx,v $ - * - * $Revision: 1.1 $ - * - * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - - -#ifndef _LINGU2_PROPHELP_HXX_ -#define _LINGU2_PROPHELP_HXX_ - -#include <tools/solar.h> - -#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type -#include <cppuhelper/implbase2.hxx> // helper for implementations - -#ifndef _CPPUHELPER_INTERFACECONTAINER_H_ -#include <cppuhelper/interfacecontainer.h> -#endif - -#ifndef _COM_SUN_STAR_BEANS_XPROPERTYCHANGELISTENER_HPP_ -#include <com/sun/star/beans/XPropertyChangeListener.hpp> -#endif -#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUES_HPP_ -#include <com/sun/star/beans/PropertyValues.hpp> -#endif - -#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp> - -namespace com { namespace sun { namespace star { namespace beans { - class XPropertySet; -}}}}; - -namespace com { namespace sun { namespace star { namespace linguistic2 { - struct LinguServiceEvent; -}}}}; - - -using namespace ::rtl; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::linguistic2; - -/////////////////////////////////////////////////////////////////////////// -// PropertyChgHelper -// virtual base class for all XPropertyChangeListener members of the -// various lingu services. -// Only propertyChange needs to be implemented. - -class PropertyChgHelper : - public cppu::WeakImplHelper2 - < - XPropertyChangeListener, - XLinguServiceEventBroadcaster - > -{ - Sequence< OUString > aPropNames; - Reference< XInterface > xMyEvtObj; - ::cppu::OInterfaceContainerHelper aLngSvcEvtListeners; - Reference< XPropertySet > xPropSet; - - // disallow use of copy-constructor and assignment-operator - PropertyChgHelper( const PropertyChgHelper & ); - PropertyChgHelper & operator = ( const PropertyChgHelper & ); - -public: - PropertyChgHelper( - const Reference< XInterface > &rxSource, - Reference< XPropertySet > &rxPropSet, - const char *pPropNames[], USHORT nPropCount ); - virtual ~PropertyChgHelper(); - - // XEventListener - virtual void SAL_CALL - disposing( const EventObject& rSource ) - throw(RuntimeException); - - // XPropertyChangeListener - virtual void SAL_CALL - propertyChange( const PropertyChangeEvent& rEvt ) - throw(RuntimeException) = 0; - - // XLinguServiceEventBroadcaster - virtual sal_Bool SAL_CALL - addLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxListener ) - throw(RuntimeException); - virtual sal_Bool SAL_CALL - removeLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxListener ) - throw(RuntimeException); - - // non UNO functions - void AddAsPropListener(); - void RemoveAsPropListener(); - void LaunchEvent( const LinguServiceEvent& rEvt ); - - const Sequence< OUString > & - GetPropNames() const { return aPropNames; } - const Reference< XPropertySet > & - GetPropSet() const { return xPropSet; } - const Reference< XInterface > & - GetEvtObj() const { return xMyEvtObj; } - -}; - - -/////////////////////////////////////////////////////////////////////////// - - -class PropertyHelper_Hyphen : - public PropertyChgHelper -{ - // default values - BOOL bIsGermanPreReform; - BOOL bIsIgnoreControlCharacters; - BOOL bIsUseDictionaryList; - - // return values, will be set to default value or current temporary value - BOOL bResIsGermanPreReform; - BOOL bResIsIgnoreControlCharacters; - BOOL bResIsUseDictionaryList; - - // disallow use of copy-constructor and assignment-operator - PropertyHelper_Hyphen( const PropertyHelper_Hyphen & ); - PropertyHelper_Hyphen & operator = ( const PropertyHelper_Hyphen & ); - - void SetDefault(); - -public: - PropertyHelper_Hyphen( - const Reference< XInterface > &rxSource, - Reference< XPropertySet > &rxPropSet ); - virtual ~PropertyHelper_Hyphen(); - - // XPropertyChangeListener - virtual void SAL_CALL - propertyChange( const PropertyChangeEvent& rEvt ) - throw(RuntimeException); - - void SetTmpPropVals( const PropertyValues &rPropVals ); - - BOOL IsGermanPreReform() const { return bResIsGermanPreReform; } - BOOL IsIgnoreControlCharacters() const { return bResIsIgnoreControlCharacters; } - BOOL IsUseDictionaryList() const { return bResIsUseDictionaryList; } -}; - -/////////////////////////////////////////////////////////////////////////// - -#endif - diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx deleted file mode 100644 index 845b53e684e8..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hreg.cxx +++ /dev/null @@ -1,119 +0,0 @@ -/************************************************************************* - * - * $RCSfile: hreg.cxx,v $ - * - * $Revision: 1.1 $ - * - * last change: $Author: nidd $ $Date: 2001-12-25 08:24:12 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - - - -#include <cppuhelper/factory.hxx> // helper for factories -#ifndef _RTL_STRING_HXX_ -#include <rtl/string.hxx> -#endif - -#include <com/sun/star/registry/XRegistryKey.hpp> - -using namespace com::sun::star::lang; -using namespace com::sun::star::registry; - -//////////////////////////////////////// -// declaration of external RegEntry-functions defined by the service objects -// - -extern sal_Bool SAL_CALL Hyphenator_writeInfo( - void * /*pServiceManager*/, XRegistryKey * pRegistryKey ); - -extern void * SAL_CALL Hyphenator_getFactory( - const sal_Char * pImplName, - XMultiServiceFactory * pServiceManager, - void * /*pRegistryKey*/ ); - -//////////////////////////////////////// -// definition of the two functions that are used to provide the services -// - -extern "C" -{ - -sal_Bool SAL_CALL component_writeInfo( - void * pServiceManager, XRegistryKey * pRegistryKey ) -{ - return Hyphenator_writeInfo( pServiceManager, pRegistryKey ); -} - -void SAL_CALL component_getImplementationEnvironment( - const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv ) -{ - *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; -} - -void * SAL_CALL component_getFactory( - const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ) -{ - void * pRet = Hyphenator_getFactory( - pImplName, - reinterpret_cast< XMultiServiceFactory * >( pServiceManager ), - pRegistryKey ); - - return pRet; -} - -} - -/////////////////////////////////////////////////////////////////////////// - diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map deleted file mode 100644 index 1cc0ac1898a8..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphen.map +++ /dev/null @@ -1,8 +0,0 @@ -LTH_1_0 { - global: - component_getFactory; - component_getImplementationEnvironment; - component_writeInfo; - local: - *; -}; diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx deleted file mode 100644 index b31028a8513c..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx +++ /dev/null @@ -1,789 +0,0 @@ -/************************************************************************* - * - * $RCSfile: hyphenimp.cxx,v $ - * - * $Revision: 1.5 $ - * - * last change: $Author: svesik $ $Date: 2002-07-29 17:51:48 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - - -#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ -#include <com/sun/star/uno/Reference.h> -#endif -#ifndef _COM_SUN_STAR_LINGUISTIC2_XSEARCHABLEDICTIONARYLIST_HPP_ -#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp> -#endif - -//#include <com/sun/star/linguistic2/SpellFailure.hpp> -#include <cppuhelper/factory.hxx> // helper for factories -#include <com/sun/star/registry/XRegistryKey.hpp> - -#ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX -#include <svtools/pathoptions.hxx> -#endif -#ifndef INCLUDED_SVTOOLS_USEROPTIONS_HXX -#include <svtools/useroptions.hxx> -#endif -#ifndef _TOOLS_DEBUG_HXX //autogen wg. DBG_ASSERT -#include <tools/debug.hxx> -#endif -#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_ -#include <unotools/processfactory.hxx> -#endif -#ifndef _OSL_MUTEX_HXX_ -#include <osl/mutex.hxx> -#endif - -#include <hyphen.h> - -#ifndef _HYPHENIMP_HXX -#include <hyphenimp.hxx> -#endif - -#include <linguistic/hyphdta.hxx> - -#ifndef _RTL_USTRING_HXX_ -#include <rtl/ustring.hxx> -#endif - -#ifndef _RTL_USTRBUF_HXX_ -#include <rtl/ustrbuf.hxx> -#endif - -#include <linguistic/lngprops.hxx> - -#ifndef INCLUDED_SVTOOLS_PATHOPTIONS_HXX -#include <svtools/pathoptions.hxx> -#endif -#ifndef INCLUDED_SVTOOLS_USEROPTIONS_HXX -#include <svtools/useroptions.hxx> -#endif -#include <osl/file.hxx> - -#include "dictmgr.hxx" -#include "csutil.hxx" - -#include <stdio.h> -#include <iostream> -using namespace utl; -using namespace osl; -using namespace rtl; -using namespace com::sun::star; -using namespace com::sun::star::beans; -using namespace com::sun::star::lang; -using namespace com::sun::star::uno; -using namespace com::sun::star::linguistic2; -using namespace linguistic; - - -/////////////////////////////////////////////////////////////////////////// - -BOOL operator == ( const Locale &rL1, const Locale &rL2 ) -{ - return rL1.Language == rL2.Language && - rL1.Country == rL2.Country && - rL1.Variant == rL2.Variant; -} - -/////////////////////////////////////////////////////////////////////////// - - - - - -Hyphenator::Hyphenator() : - aEvtListeners ( GetLinguMutex() ) -{ - bDisposing = FALSE; - pPropHelper = NULL; - numdict = 0; - -} - - -Hyphenator::~Hyphenator() -{ - if (pPropHelper) - pPropHelper->RemoveAsPropListener(); - if (numdict) { - delete[] aDicts; - aDicts = NULL; - numdict = 0; - } -} - - -PropertyHelper_Hyphen & Hyphenator::GetPropHelper_Impl() -{ - - if (!pPropHelper) - { - Reference< XPropertySet > xPropSet( GetLinguProperties(), UNO_QUERY ); - - pPropHelper = new PropertyHelper_Hyphen ((XHyphenator *) this, xPropSet ); - xPropHelper = pPropHelper; - pPropHelper->AddAsPropListener(); //! after a reference is established - } - return *pPropHelper; - -} - - -Sequence< Locale > SAL_CALL Hyphenator::getLocales() - throw(RuntimeException) -{ - - MutexGuard aGuard( GetLinguMutex() ); - SvtPathOptions aPathOpt; - - if (!numdict) - { - - // this routine should return the locales supported by the installed - // hyph dictionaries. So here we need to parse both the user edited - // dictionary list and the shared dictionary list - // to see what dictionaries the admin/user has installed - - int numusr; // number of user dictionary entries - int numshr; // number of shared dictionary entries - dictentry * spdict; // shared dict entry pointer - dictentry * updict; // user dict entry pointer - - // invoke a dictionary manager to get the user dictionary list - OUString usrlst = aPathOpt.GetUserDictionaryPath() + A2OU("/dictionary.lst"); - OUString ulst; - osl::FileBase::getSystemPathFromFileURL(usrlst,ulst); - OString uTmp(OU2ENC(ulst,osl_getThreadTextEncoding())); - DictMgr* udMgr = new DictMgr(uTmp.getStr(),"HYPH"); - numusr = 0; - if (udMgr) - numusr = udMgr->get_list(&updict); - - // invoke a second dictionary manager to get the shared dictionary list - OUString shrlst = aPathOpt.GetLinguisticPath() + A2OU("/ooo/dictionary.lst"); - OUString slst; - osl::FileBase::getSystemPathFromFileURL(shrlst,slst); - OString sTmp(OU2ENC(slst,osl_getThreadTextEncoding())); - DictMgr* sdMgr = new DictMgr(sTmp.getStr(),"HYPH"); - numshr = 0; - if (sdMgr) - numshr = sdMgr->get_list(&spdict); - - - // we really should merge these and remove duplicates but since - // users can name their dictionaries anything they want it would - // be impossible to know if a real duplication exists unless we - // add some unique key to each hyphenation dictionary - // we can worry about that when and if issuezilla's flood in - numdict = numusr + numshr; - - if (numdict) { - aDicts = new HDInfo[numdict]; - aSuppLocales.realloc(numdict); - Locale * pLocale = aSuppLocales.getArray(); - int numlocs = 0; - int newloc; - int i,j; - int k = 0; - - // first add the user dictionaries - // keeping track of unique locales only - for (i = 0; i < numusr; i++) { - Locale nLoc( A2OU(updict->lang), A2OU(updict->region), OUString() ); - - newloc = 1; - for (j = 0; j < numlocs; j++) { - if (nLoc == pLocale[j]) newloc = 0; - } - if (newloc) { - pLocale[numlocs] = nLoc; - numlocs++; - } - aDicts[k].aPtr = NULL; - aDicts[k].aLoc = nLoc; - aDicts[k].aEnc = 0; - aDicts[k].aName = A2OU(updict->filename); - k++; - updict++; - } - - // now add the shared dictionaries - // keeping track of unique locales only - for (i = 0; i < numshr; i++) { - Locale nLoc( A2OU(spdict->lang), A2OU(spdict->region), OUString() ); - - newloc = 1; - for (j = 0; j < numlocs; j++) { - if (nLoc == pLocale[j]) newloc = 0; - } - if (newloc) { - pLocale[numlocs] = nLoc; - numlocs++; - } - aDicts[k].aPtr = NULL; - aDicts[k].aLoc = nLoc; - aDicts[k].aEnc = 0; - aDicts[k].aName = A2OU(spdict->filename); - k++; - spdict++; - } - - // reallocate the size to just cover the unique locales - aSuppLocales.realloc(numlocs); - - } else { - // no dictionary.lst files found, just default to hyph_en.dic - numdict = 1; - aSuppLocales.realloc(1); - Locale *pLocale = aSuppLocales.getArray(); - Locale nLoc( A2OU("en"), A2OU("US"), OUString() ); - pLocale[0] = nLoc; - aDicts = new HDInfo[1]; - aDicts[0].aPtr = NULL; - aDicts[0].aLoc = nLoc; - aDicts[0].aEnc = 0; - aDicts[0].aName = A2OU("hyph_en"); - } - - /* de-allocation of memory is handled inside the DictMgr */ - updict = NULL; - if (udMgr) { - delete udMgr; - udMgr = NULL; - } - spdict = NULL; - if (sdMgr) { - delete sdMgr; - sdMgr = NULL; - } - - } - - return aSuppLocales; -} - - - -sal_Bool SAL_CALL Hyphenator::hasLocale(const Locale& rLocale) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - BOOL bRes = FALSE; - if (!aSuppLocales.getLength()) - getLocales(); - - INT32 nLen = aSuppLocales.getLength(); - for (INT32 i = 0; i < nLen; ++i) - { - const Locale *pLocale = aSuppLocales.getConstArray(); - if (rLocale == pLocale[i]) - { - bRes = TRUE; - break; - } - } - return bRes; -} - - -Reference< XHyphenatedWord > SAL_CALL -Hyphenator::hyphenate( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - sal_Int16 nMaxLeading, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw (com::sun::star::uno::RuntimeException, - com::sun::star::lang::IllegalArgumentException) -{ - SvtPathOptions aPathOpt; - - int nHyphenationPos = -1; - int wordlen; - char *hyphens; - char *lcword; - int k = 0; - - - HyphenDict *dict = NULL; - rtl_TextEncoding aEnc = 0; - - Reference< XHyphenatedWord > xRes; - - k = -1; - for (int j = 0; j < numdict; j++) - if (aLocale == aDicts[j].aLoc) k = j; - - - // if we have a hyphenation dictionary matching this locale - if (k != -1) { - - // if this dictinary has not been loaded yet do that - if (!aDicts[k].aPtr) { - - OUString DictFN = aDicts[k].aName + A2OU(".dic"); - OUString userdictpath; - OUString dictpath; - - osl::FileBase::getSystemPathFromFileURL( - aPathOpt.GetUserDictionaryPath() + A2OU("/"), - userdictpath); - - osl::FileBase::getSystemPathFromFileURL( - aPathOpt.GetLinguisticPath() + A2OU("/ooo/"), - dictpath); - - OString uTmp(OU2ENC(userdictpath + DictFN,osl_getThreadTextEncoding())); - OString sTmp(OU2ENC(dictpath + DictFN,osl_getThreadTextEncoding())); - - if ( ( dict = hnj_hyphen_load ( uTmp.getStr() ) ) == NULL ) - if ( ( dict = hnj_hyphen_load ( sTmp.getStr()) ) == NULL ) - { - fprintf(stderr, "Couldn't find file %s and %s\n", OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding()), OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding() )); - return NULL; - } - aDicts[k].aPtr = dict; - aDicts[k].aEnc = rtl_getTextEncodingFromUnixCharset(dict->cset); - } - - // other wise hyphenate the word with that dictionary - dict = aDicts[k].aPtr; - aEnc = aDicts[k].aEnc; - - OString encWord(OU2ENC(aWord,aEnc)); - - wordlen = encWord.getLength(); - lcword = new char[wordlen+1]; - hyphens = new char[wordlen+5]; - enmkallsmall(lcword,encWord.getStr(),dict->cset); - - if (hnj_hyphen_hyphenate(dict, lcword, wordlen, hyphens)) - { - //whoops something did not work - delete[] hyphens; - delete[] lcword; - return NULL; - } - - OUStringBuffer hyphenatedWord; - INT32 Leading = GetPosInWordToCheck( aWord, nMaxLeading ); - - for (INT32 i = 0; i < encWord.getLength(); i++) - { - hyphenatedWord.append(aWord[i]); - if ((hyphens[i]&1) && (i < Leading)) - { - nHyphenationPos = i; - hyphenatedWord.append(sal_Unicode('=')); - } - } - - if (nHyphenationPos == -1) - xRes = NULL; - else - { - xRes = new HyphenatedWord( aWord, LocaleToLanguage( aLocale ), nHyphenationPos, - aWord, nHyphenationPos ); - } - - delete[] hyphens; - delete[] lcword; - return xRes; - - } - return NULL; -} - -Reference < XHyphenatedWord > SAL_CALL - Hyphenator::queryAlternativeSpelling( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - sal_Int16 nIndex, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException) -{ - /* alternative spelling isn't supported by tex dictionaries */ - return NULL; -} - -Reference< XPossibleHyphens > SAL_CALL - Hyphenator::createPossibleHyphens( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException) - -{ - - SvtPathOptions aPathOpt; - // CharClass chclass( rSMgr, aLocale ); - - int nHyphenationPos = -1; - int wordlen; - char *hyphens; - char *lcword; - int k; - - - HyphenDict *dict; - rtl_TextEncoding aEnc; - - Reference< XPossibleHyphens > xRes; - k = -1; - for (int j = 0; j < numdict; j++) - if (aLocale == aDicts[j].aLoc) k = j; - - dict = NULL; - aEnc = 0; - - // if we have a hyphenationd citionary matching this locale - if (k != -1) { - - // if this dictioanry has not been loaded yet do that - if (!aDicts[k].aPtr) { - - OUString DictFN = aDicts[k].aName + A2OU(".dic"); - OUString userdictpath; - OUString dictpath; - osl::FileBase::getSystemPathFromFileURL( - aPathOpt.GetUserDictionaryPath() + A2OU("/"), - userdictpath); - - osl::FileBase::getSystemPathFromFileURL( - aPathOpt.GetLinguisticPath() + A2OU("/ooo/"), - dictpath); - OString uTmp(OU2ENC(userdictpath + DictFN,osl_getThreadTextEncoding())); - OString sTmp(OU2ENC(dictpath + DictFN,osl_getThreadTextEncoding())); - - - if ( ( dict = hnj_hyphen_load ( uTmp.getStr() ) ) == NULL ) - if ( ( dict = hnj_hyphen_load ( sTmp.getStr()) ) == NULL ) - { - fprintf(stderr, "Couldn't find file %s and %s\n", OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding()), OU2ENC(userdictpath + DictFN, osl_getThreadTextEncoding() )); - return NULL; - } - aDicts[k].aPtr = dict; - aDicts[k].aEnc = rtl_getTextEncodingFromUnixCharset(dict->cset); - } - - // other wise hyphenate the word with that dictionary - dict = aDicts[k].aPtr; - aEnc = aDicts[k].aEnc; - - OString encWord(OU2ENC(aWord, aEnc)); - - wordlen = encWord.getLength(); - lcword = new char[wordlen+1]; - hyphens = new char[wordlen+5]; - enmkallsmall(lcword,encWord.getStr(),dict->cset); - - if (hnj_hyphen_hyphenate(dict, lcword, wordlen, hyphens)) - { - delete[] hyphens; - delete[] lcword; - return NULL; - } - - INT16 nHyphCount = 0; - - for (INT16 i = 0; i < encWord.getLength(); i++) - if (hyphens[i]&1) - nHyphCount++; - - Sequence< INT16 > aHyphPos(nHyphCount); - INT16 *pPos = aHyphPos.getArray(); - OUStringBuffer hyphenatedWordBuffer; - OUString hyphenatedWord; - nHyphCount = 0; - - for (i = 0; i < encWord.getLength(); i++) - { - hyphenatedWordBuffer.append(aWord[i]); - if (hyphens[i]&1) - { - pPos[nHyphCount] = i; - hyphenatedWordBuffer.append(sal_Unicode('=')); - nHyphCount++; - } - } - - hyphenatedWord = hyphenatedWordBuffer.makeStringAndClear(); - - xRes = new PossibleHyphens( aWord, LocaleToLanguage( aLocale ), - hyphenatedWord, aHyphPos ); - - delete[] hyphens; - delete[] lcword; - return xRes; - } - - return NULL; - -} - - - -Reference< XInterface > SAL_CALL Hyphenator_CreateInstance( - const Reference< XMultiServiceFactory > & rSMgr ) - throw(Exception) -{ - - Reference< XInterface > xService = (cppu::OWeakObject*) new Hyphenator; - return xService; -} - - -sal_Bool SAL_CALL - Hyphenator::addLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxLstnr ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - BOOL bRes = FALSE; - if (!bDisposing && rxLstnr.is()) - { - bRes = GetPropHelper().addLinguServiceEventListener( rxLstnr ); - } - return bRes; -} - - -sal_Bool SAL_CALL - Hyphenator::removeLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxLstnr ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - BOOL bRes = FALSE; - if (!bDisposing && rxLstnr.is()) - { - DBG_ASSERT( xPropHelper.is(), "xPropHelper non existent" ); - bRes = GetPropHelper().removeLinguServiceEventListener( rxLstnr ); - } - return bRes; -} - - -OUString SAL_CALL - Hyphenator::getServiceDisplayName( const Locale& rLocale ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - return A2OU( "ALTLinux LibHnj Hyphenator" ); -} - - -void SAL_CALL - Hyphenator::initialize( const Sequence< Any >& rArguments ) - throw(Exception, RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - if (!pPropHelper) - { - INT32 nLen = rArguments.getLength(); - if (2 == nLen) - { - Reference< XPropertySet > xPropSet; - rArguments.getConstArray()[0] >>= xPropSet; - //rArguments.getConstArray()[1] >>= xDicList; - - //! Pointer allows for access of the non-UNO functions. - //! And the reference to the UNO-functions while increasing - //! the ref-count and will implicitly free the memory - //! when the object is not longer used. - pPropHelper = new PropertyHelper_Hyphen( (XHyphenator *) this, xPropSet ); - xPropHelper = pPropHelper; - pPropHelper->AddAsPropListener(); //! after a reference is established - } - else - DBG_ERROR( "wrong number of arguments in sequence" ); - - } -} - - -void SAL_CALL - Hyphenator::dispose() - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - if (!bDisposing) - { - bDisposing = TRUE; - EventObject aEvtObj( (XHyphenator *) this ); - aEvtListeners.disposeAndClear( aEvtObj ); - } -} - - -void SAL_CALL - Hyphenator::addEventListener( const Reference< XEventListener >& rxListener ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - if (!bDisposing && rxListener.is()) - aEvtListeners.addInterface( rxListener ); -} - - -void SAL_CALL - Hyphenator::removeEventListener( const Reference< XEventListener >& rxListener ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - if (!bDisposing && rxListener.is()) - aEvtListeners.removeInterface( rxListener ); -} - - -/////////////////////////////////////////////////////////////////////////// -// Service specific part -// - -OUString SAL_CALL Hyphenator::getImplementationName() - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - return getImplementationName_Static(); -} - - -sal_Bool SAL_CALL Hyphenator::supportsService( const OUString& ServiceName ) - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - Sequence< OUString > aSNL = getSupportedServiceNames(); - const OUString * pArray = aSNL.getConstArray(); - for( INT32 i = 0; i < aSNL.getLength(); i++ ) - if( pArray[i] == ServiceName ) - return TRUE; - return FALSE; -} - - -Sequence< OUString > SAL_CALL Hyphenator::getSupportedServiceNames() - throw(RuntimeException) -{ - MutexGuard aGuard( GetLinguMutex() ); - - return getSupportedServiceNames_Static(); -} - - -Sequence< OUString > Hyphenator::getSupportedServiceNames_Static() - throw() -{ - MutexGuard aGuard( GetLinguMutex() ); - - Sequence< OUString > aSNS( 1 ); // auch mehr als 1 Service moeglich - aSNS.getArray()[0] = A2OU( SN_HYPHENATOR ); - return aSNS; -} - - -sal_Bool SAL_CALL Hyphenator_writeInfo( - void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey ) -{ - - try - { - String aImpl( '/' ); - aImpl += Hyphenator::getImplementationName_Static().getStr(); - aImpl.AppendAscii( "/UNO/SERVICES" ); - Reference< registry::XRegistryKey > xNewKey = - pRegistryKey->createKey( aImpl ); - Sequence< OUString > aServices = - Hyphenator::getSupportedServiceNames_Static(); - for( INT32 i = 0; i < aServices.getLength(); i++ ) - xNewKey->createKey( aServices.getConstArray()[i] ); - - return sal_True; - } - catch(Exception &) - { - return sal_False; - } -} - - -void * SAL_CALL Hyphenator_getFactory( const sal_Char * pImplName, - XMultiServiceFactory * pServiceManager, void * ) -{ - void * pRet = 0; - if ( !Hyphenator::getImplementationName_Static().compareToAscii( pImplName ) ) - { - Reference< XSingleServiceFactory > xFactory = - cppu::createOneInstanceFactory( - pServiceManager, - Hyphenator::getImplementationName_Static(), - Hyphenator_CreateInstance, - Hyphenator::getSupportedServiceNames_Static()); - // acquire, because we return an interface pointer instead of a reference - xFactory->acquire(); - pRet = xFactory.get(); - } - return pRet; -} - - -/////////////////////////////////////////////////////////////////////////// diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx deleted file mode 100644 index 3c7d744437fa..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.hxx +++ /dev/null @@ -1,250 +0,0 @@ -/************************************************************************* - * - * $RCSfile: hyphenimp.hxx,v $ - * - * $Revision: 1.2 $ - * - * last change: $Author: svesik $ $Date: 2002-07-29 17:28:01 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - - -#ifndef _LINGU2_HYPHENIMP_HXX_ -#define _LINGU2_HYPHENIMP_HXX_ - -#include <uno/lbnames.h> // CPPU_CURRENT_LANGUAGE_BINDING_NAME macro, which specify the environment type -#include <cppuhelper/implbase1.hxx> // helper for implementations -#include <cppuhelper/implbase6.hxx> // helper for implementations - -#ifndef _COM_SUN_STAR_LANG_XCOMPONENT_HPP_ -#include <com/sun/star/lang/XComponent.hpp> -#endif -#ifndef _COM_SUN_STAR_LANG_XINITIALIZATION_HPP_ -#include <com/sun/star/lang/XInitialization.hpp> -#endif -#ifndef _COM_SUN_STAR_LANG_XSERVICEDISPLAYNAME_HPP_ -#include <com/sun/star/lang/XServiceDisplayName.hpp> -#endif -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/PropertyValues.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/linguistic2/XHyphenator.hpp> -#include <com/sun/star/linguistic2/XSearchableDictionaryList.hpp> -#include <com/sun/star/linguistic2/XLinguServiceEventBroadcaster.hpp> - -#ifndef _TOOLS_TABLE_HXX -#include <tools/table.hxx> -#endif - -#include <linguistic/misc.hxx> -#include "hprophelp.hxx" -#include <stdio.h> -using namespace ::rtl; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::linguistic2; - - -#define A2OU(x) ::rtl::OUString::createFromAscii( x ) - -#define OU2A(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ASCII_US).getStr() - -#define OU2UTF8(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_UTF8).getStr() - -#define OU2ISO_1(rtlOUString) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), RTL_TEXTENCODING_ISO_8859_1).getStr() - -#define OU2ENC(rtlOUString, rtlEncoding) ::rtl::OString((rtlOUString).getStr(), (rtlOUString).getLength(), rtlEncoding).getStr() - -/////////////////////////////////////////////////////////////////////////// - - -struct HDInfo { - HyphenDict * aPtr; - OUString aName; - Locale aLoc; - rtl_TextEncoding aEnc; -}; - - - -class Hyphenator : - public cppu::WeakImplHelper6 - < - XHyphenator, - XLinguServiceEventBroadcaster, - XInitialization, - XComponent, - XServiceInfo, - XServiceDisplayName - > -{ - Sequence< Locale > aSuppLocales; - HDInfo * aDicts; - sal_Int32 numdict; - - ::cppu::OInterfaceContainerHelper aEvtListeners; - Reference< XPropertyChangeListener > xPropHelper; - Reference< XMultiServiceFactory > rSMgr; - PropertyHelper_Hyphen * pPropHelper; - BOOL bDisposing; - - // disallow copy-constructor and assignment-operator for now - Hyphenator(const Hyphenator &); - Hyphenator & operator = (const Hyphenator &); - - PropertyHelper_Hyphen & GetPropHelper_Impl(); - PropertyHelper_Hyphen & GetPropHelper() - { - return pPropHelper ? *pPropHelper : GetPropHelper_Impl(); - } - -public: - Hyphenator(); - - virtual ~Hyphenator(); - - // XSupportedLocales (for XHyphenator) - virtual Sequence< Locale > SAL_CALL getLocales() - throw(RuntimeException); - virtual sal_Bool SAL_CALL hasLocale( const Locale& rLocale ) - throw(RuntimeException); - - // XHyphenator - virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenatedWord > SAL_CALL - hyphenate( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - sal_Int16 nMaxLeading, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenatedWord > SAL_CALL - queryAlternativeSpelling( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - sal_Int16 nIndex, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XPossibleHyphens > SAL_CALL - createPossibleHyphens( const ::rtl::OUString& aWord, - const ::com::sun::star::lang::Locale& aLocale, - const ::com::sun::star::beans::PropertyValues& aProperties ) - throw(::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::uno::RuntimeException); - - // XLinguServiceEventBroadcaster - virtual sal_Bool SAL_CALL - addLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxLstnr ) - throw(RuntimeException); - virtual sal_Bool SAL_CALL - removeLinguServiceEventListener( - const Reference< XLinguServiceEventListener >& rxLstnr ) - throw(RuntimeException); - - // XServiceDisplayName - virtual OUString SAL_CALL - getServiceDisplayName( const Locale& rLocale ) - throw(RuntimeException); - - // XInitialization - virtual void SAL_CALL - initialize( const Sequence< Any >& rArguments ) - throw(Exception, RuntimeException); - - // XComponent - virtual void SAL_CALL - dispose() - throw(RuntimeException); - virtual void SAL_CALL - addEventListener( const Reference< XEventListener >& rxListener ) - throw(RuntimeException); - virtual void SAL_CALL - removeEventListener( const Reference< XEventListener >& rxListener ) - throw(RuntimeException); - - //////////////////////////////////////////////////////////// - // Service specific part - // - - // XServiceInfo - virtual OUString SAL_CALL - getImplementationName() - throw(RuntimeException); - virtual sal_Bool SAL_CALL - supportsService( const OUString& rServiceName ) - throw(RuntimeException); - virtual Sequence< OUString > SAL_CALL - getSupportedServiceNames() - throw(RuntimeException); - - - static inline OUString - getImplementationName_Static() throw(); - static Sequence< OUString > - getSupportedServiceNames_Static() throw(); -}; - -inline OUString Hyphenator::getImplementationName_Static() throw() -{ - return A2OU( "org.openoffice.lingu.LibHnjHyphenator" ); -} - - -/////////////////////////////////////////////////////////////////////////// - -#endif - diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk deleted file mode 100644 index 39f277c189d3..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/makefile.mk +++ /dev/null @@ -1,180 +0,0 @@ -#************************************************************************* -# -# $RCSfile: makefile.mk,v $ -# -# $Revision: 1.4 $ -# -# last change: $Author: svesik $ $Date: 2002-07-29 17:28:01 $ -# -# The Contents of this file are made available subject to the terms of -# either of the following licenses -# -# - GNU Lesser General Public License Version 2.1 -# - Sun Industry Standards Source License Version 1.1 -# -# Sun Microsystems Inc., October, 2000 -# -# GNU Lesser General Public License Version 2.1 -# ============================================= -# Copyright 2000 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License version 2.1, as published by the Free Software Foundation. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# -# -# Sun Industry Standards Source License Version 1.1 -# ================================================= -# The contents of this file are subject to the Sun Industry Standards -# Source License Version 1.1 (the "License"); You may not use this file -# except in compliance with the License. You may obtain a copy of the -# License at http://www.openoffice.org/license.html. -# -# Software provided under this License is provided on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -# See the License for the specific provisions governing your rights and -# obligations concerning the Software. -# -# The Initial Developer of the Original Code is: Sun Microsystems, Inc. -# -# Copyright: 2000 by Sun Microsystems, Inc. -# -# All Rights Reserved. -# -# Contributor(s): _______________________________________ -# -# -# -#************************************************************************* - -PRJ = ..$/..$/..$/.. - -PRJNAME = lingucomponent -TARGET = hyphen -ENABLE_EXCEPTIONS=TRUE -USE_DEFFILE=TRUE - -.IF "$(GUI)"=="UNX" -HNJLIB=-lhnj -.ELSE -HNJLIB=libhnj.lib -.ENDIF - -.IF "$(ULINGULIB)"=="" -.IF "$(GUI)"=="UNX" -ULINGULIB=-lulingu$(UPD)$(DLLPOSTFIX) -.ENDIF # unx -.IF "$(GUI)"=="WNT" -ULINGULIB=$(LIBPRE) ulingu.lib -.ENDIF # wnt -.ENDIF - - - -#----- Settings --------------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -UNOUCRDEP= $(SOLARBINDIR)$/applicat.rdb -UNOUCRRDB= $(SOLARBINDIR)$/applicat.rdb - -UNOTYPES=\ - com.sun.star.linguistic2.DictionaryEvent\ - com.sun.star.linguistic2.DictionaryEventFlags\ - com.sun.star.linguistic2.DictionaryListEvent\ - com.sun.star.linguistic2.DictionaryListEventFlags\ - com.sun.star.linguistic2.DictionaryType\ - com.sun.star.linguistic2.LinguServiceEventFlags\ - com.sun.star.linguistic2.SpellFailure\ - com.sun.star.linguistic2.XDictionary\ - com.sun.star.linguistic2.XDictionary1\ - com.sun.star.linguistic2.XDictionaryEntry\ - com.sun.star.linguistic2.XDictionaryEventListener\ - com.sun.star.linguistic2.XDictionaryList\ - com.sun.star.linguistic2.XDictionaryListEventListener\ - com.sun.star.linguistic2.XHyphenatedWord\ - com.sun.star.linguistic2.XHyphenator\ - com.sun.star.linguistic2.XLinguServiceEventBroadcaster\ - com.sun.star.linguistic2.XLinguServiceEventListener\ - com.sun.star.linguistic2.XLinguServiceManager\ - com.sun.star.linguistic2.XMeaning\ - com.sun.star.linguistic2.XPossibleHyphens\ - com.sun.star.linguistic2.XSearchableDictionaryList\ - com.sun.star.linguistic2.XSpellAlternatives\ - com.sun.star.linguistic2.XSpellChecker\ - com.sun.star.linguistic2.XSupportedLocales\ - com.sun.star.linguistic2.XThesaurus - -CXXFLAGS += -I..$/libhnj -I..$/..$/..$/utility -CFLAGSCXX += -I..$/libhnj -I..$/..$/..$/utility -CFLAGSCC += -I..$/libhnj -I..$/..$/..$/utility - -.IF "$(header)" == "" - -EXCEPTIONSFILES= \ - $(SLO)$/hprophelp.obj\ - $(SLO)$/hyphenimp.obj - -SLOFILES= \ - $(SLO)$/hprophelp.obj\ - $(SLO)$/hreg.obj\ - $(SLO)$/hyphenimp.obj - - -SHL1TARGET= $(TARGET)$(UPD)$(DLLPOSTFIX) - -SHL1STDLIBS= \ - $(CPPULIB) \ - $(CPPUHELPERLIB) \ - $(UNOLIB) \ - $(VOSLIB) \ - $(TOOLSLIB) \ - $(SVTOOLLIB) \ - $(SVLLIB) \ - $(VCLLIB) \ - $(SFXLIB) \ - $(SALLIB) \ - $(UCBHELPERLIB) \ - $(UNOTOOLSLIB) \ - $(LNGLIB) \ - $(HNJLIB) \ - $(ULINGULIB) - - -# build DLL -SHL1LIBS= $(SLB)$/$(TARGET).lib -SHL1IMPLIB= i$(TARGET) -SHL1DEPN= $(SHL1LIBS) -SHL1DEF= $(MISC)$/$(SHL1TARGET).def -.IF "$(OS)"!="MACOSX" -SHL1VERSIONMAP= $(TARGET).map -.ENDIF - -# build DEF file -DEF1NAME =$(SHL1TARGET) -#DEF1DEPN =$(MISC)$/$(SHL1TARGET).flt -#DEFLIB1NAME =$(TARGET) -#DEF1DES =Linguistic2 main DLL -DEF1EXPORTFILE= exports.dxp - -.ENDIF - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl b/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl deleted file mode 100755 index 2f27b6b8e95d..000000000000 --- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs/substrings.pl +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/perl -# A utility for finding substring embeddings in patterns - -$fn = $ARGV[0]; -if (!-e $fn) { $fn = "hyphen.us"; } -open HYPH, $fn; -open OUT, ">$ARGV[1]"; - -while (<HYPH>) -{ - if (/^\%/) { - #comment, ignore - } elsif (/^(.+)\%/) { - $origpat = $1; - $pat = $1; - $pat =~ s/\d//g; - push @patlist, $pat; - $pattab{$pat} = $origpat; - } elsif (/^(.+)$/) { - $origpat = $1; - $pat = $1; - $pat =~ s/\d//g; - push @patlist, $pat; - $pattab{$pat} = $origpat; - } -} - -foreach $pat (@patlist) { - $patsize = length $pat; - for $i (0..$patsize - 1) { - for $j (1..$patsize - $i) { - $subpat = substr ($pat, $i, $j); -# print "$pattab{$pat} $i $j $subpat $pattab{$subpat}\n"; - if (defined $pattab{$subpat}) { - print "$pattab{$subpat} is embedded in $pattab{$pat}\n"; - $newpat = substr $pat, 0, $i + $j; - if (!defined $newpattab{$newpat}) { - $newpattab{$newpat} = - substr ($pat, 0, $i).$pattab{$subpat}; - $ss = substr ($pat, 0, $i); - print "$ss+$pattab{$subpat}\n"; - push @newpatlist, $newpat; - } else { - $tmp = $newpattab{$newpat}; - $newpattab{$newpat} = - combine ($newpattab{$newpat}, $pattab{$subpat}); - print "$tmp + $pattab{$subpat} -> $newpattab{$newpat}\n"; - } - } - } - } -} - -foreach $pat (@newpatlist) { - print OUT $newpattab{$pat}."\n"; -} - -#convert 'n1im' to 0n1i0m0 expresed as a list -sub expand { - my ($pat) = @_; - my $last = '.'; - my @exp = (); - - foreach $c (split (//, $pat)) { - if ($last =~ /[\D]/ && $c =~ /[\D]/) { - push @exp, 0; - } - push @exp, $c; - $last = $c; - } - if ($last =~ /[\D]/) { - push @exp, 0; - } - return @exp; -} - -# Combine two patterns, i.e. .ad4der + a2d becomes .a2d4der -# The second pattern needs to be a substring of the first (modulo digits) -sub combine { - my @exp = expand shift; - my @subexp = expand shift; - my $pat1, $pat2; - my $i; - - $pat1 = join ('', map { $_ =~ /\d/ ? () : $_ } @exp); - $pat2 = join ('', map { $_ =~ /\d/ ? () : $_ } @subexp); - - for $i (0..length ($pat1) - length ($pat2)) { - if (substr ($pat1, $i, length $pat2) eq $subpat) { - for ($j = 0; $j < @subexp; $j += 2) { -# print ("$i $j $subexp[$j] $exp[2 * $i + $j]\n"); - if ($subexp[$j] > $exp[2 * $i + $j]) { - $exp[2 * $i + $j] = $subexp[$j]; - } - } - print ("$pat1 includes $pat2 at pos $i\n"); - } - } - return join ('', map { $_ eq '0' ? () : $_ } @exp); -} - - |