[Libreoffice-commits] .: 6 commits - basic/source boost/aliasing.patch boost/boost.3780.aliasing.patch boost/boost.5119.unordered_map-cp-ctor.patch boost/boost.6369.warnings.patch boost/makefile.mk boost/unordered_map-doesnt-support-cp-ctor.patch cui/source editeng/source formula/source lingucomponent/source linguistic/source sal/qa sc/source sfx2/source sot/source svl/source svtools/source svx/source sw/inc sw/source unotools/inc unotools/source unusedcode.easy xmloff/source

Caolán McNamara caolan at kemper.freedesktop.org
Mon Jan 9 05:29:19 PST 2012


 basic/source/runtime/methods.cxx                                   |   14 
 boost/aliasing.patch                                               |   43 -
 boost/boost.3780.aliasing.patch                                    |   43 +
 boost/boost.5119.unordered_map-cp-ctor.patch                       |   92 +++
 boost/boost.6369.warnings.patch                                    |  305 ++++++++++
 boost/makefile.mk                                                  |    6 
 boost/unordered_map-doesnt-support-cp-ctor.patch                   |   92 ---
 cui/source/tabpages/autocdlg.cxx                                   |    4 
 editeng/source/items/svxfont.cxx                                   |    6 
 editeng/source/misc/svxacorr.cxx                                   |   12 
 formula/source/ui/dlg/formula.cxx                                  |    3 
 lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx |    8 
 lingucomponent/source/thesaurus/libnth/nthesimp.cxx                |   10 
 linguistic/source/misc.cxx                                         |   10 
 sal/qa/rtl/cipher/rtl_cipher.cxx                                   |   20 
 sc/source/core/data/dociter.cxx                                    |   15 
 sc/source/core/data/document.cxx                                   |    3 
 sc/source/core/data/dpshttab.cxx                                   |    2 
 sc/source/core/data/stlpool.cxx                                    |    6 
 sc/source/core/data/table1.cxx                                     |    2 
 sc/source/core/data/table2.cxx                                     |    3 
 sc/source/core/data/table3.cxx                                     |    8 
 sc/source/core/tool/addincol.cxx                                   |    9 
 sc/source/core/tool/compiler.cxx                                   |    8 
 sc/source/core/tool/dbdata.cxx                                     |    4 
 sc/source/core/tool/doubleref.cxx                                  |   18 
 sc/source/core/tool/interpr1.cxx                                   |   10 
 sc/source/core/tool/interpr4.cxx                                   |    2 
 sc/source/core/tool/parclass.cxx                                   |    2 
 sc/source/core/tool/rangenam.cxx                                   |    6 
 sc/source/core/tool/rangeutl.cxx                                   |    6 
 sc/source/core/tool/userlist.cxx                                   |    9 
 sc/source/filter/html/htmlimp.cxx                                  |    4 
 sc/source/filter/rtf/eeimpars.cxx                                  |    2 
 sc/source/ui/app/inputwin.cxx                                      |    2 
 sc/source/ui/dbgui/pvlaydlg.cxx                                    |    2 
 sc/source/ui/docshell/arealink.cxx                                 |    2 
 sc/source/ui/docshell/docfunc.cxx                                  |    2 
 sc/source/ui/docshell/docsh4.cxx                                   |    2 
 sc/source/ui/docshell/externalrefmgr.cxx                           |   32 -
 sc/source/ui/docshell/impex.cxx                                    |    2 
 sc/source/ui/docshell/servobj.cxx                                  |    2 
 sc/source/ui/namedlg/namedefdlg.cxx                                |    2 
 sc/source/ui/namedlg/namedlg.cxx                                   |    8 
 sc/source/ui/namedlg/namemgrtable.cxx                              |    2 
 sc/source/ui/navipi/content.cxx                                    |    4 
 sc/source/ui/unoobj/funcuno.cxx                                    |    2 
 sc/source/ui/unoobj/nameuno.cxx                                    |   10 
 sc/source/ui/vba/vbarange.cxx                                      |    2 
 sc/source/ui/view/viewfunc.cxx                                     |    2 
 sfx2/source/appl/linkmgr2.cxx                                      |    9 
 sfx2/source/bastyp/fltfnc.cxx                                      |    2 
 sot/source/sdstor/stgelem.cxx                                      |    3 
 svl/source/numbers/zforfind.cxx                                    |   26 
 svl/source/numbers/zforlist.cxx                                    |    2 
 svl/source/numbers/zformat.cxx                                     |    6 
 svl/source/numbers/zforscan.cxx                                    |   42 -
 svtools/source/control/ctrlbox.cxx                                 |    5 
 svx/source/form/fmsrcimp.cxx                                       |    4 
 sw/inc/IDocumentLinksAdministration.hxx                            |    6 
 sw/inc/doc.hxx                                                     |    6 
 sw/source/core/bastyp/calc.cxx                                     |   19 
 sw/source/core/doc/docdde.cxx                                      |   36 -
 sw/source/core/doc/docfld.cxx                                      |    6 
 sw/source/core/edit/autofmt.cxx                                    |    2 
 sw/source/core/edit/edfld.cxx                                      |    4 
 sw/source/core/edit/editsh.cxx                                     |    2 
 sw/source/core/swg/SwXMLBlockListContext.cxx                       |    2 
 sw/source/core/swg/swblocks.cxx                                    |   10 
 sw/source/core/tox/txmsrt.cxx                                      |    2 
 sw/source/filter/html/css1atr.cxx                                  |    2 
 sw/source/filter/ww1/fltshell.cxx                                  |    2 
 sw/source/filter/ww8/ww8par5.cxx                                   |    2 
 sw/source/ui/cctrl/swlbox.cxx                                      |    4 
 sw/source/ui/docvw/edtwin.cxx                                      |    4 
 sw/source/ui/misc/glossary.cxx                                     |    3 
 unotools/inc/unotools/charclass.hxx                                |  172 ++---
 unotools/source/i18n/charclass.cxx                                 |   35 -
 unusedcode.easy                                                    |    2 
 xmloff/source/style/xmlnumfe.cxx                                   |    2 
 80 files changed, 759 insertions(+), 528 deletions(-)

New commits:
commit ab706f997d4b9758e317e28c791a645021fe7bd0
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jan 9 11:34:24 2012 +0000

    remove duplicate createHex

diff --git a/sal/qa/rtl/cipher/rtl_cipher.cxx b/sal/qa/rtl/cipher/rtl_cipher.cxx
index 346a44b..a4d5bfb 100644
--- a/sal/qa/rtl/cipher/rtl_cipher.cxx
+++ b/sal/qa/rtl/cipher/rtl_cipher.cxx
@@ -43,26 +43,6 @@
 namespace rtl_cipher
 {
 
-rtl::OString createHex(sal_uInt8 *_pKeyBuffer, sal_uInt32 _nKeyLen)
-{
-    // Create hex-value string from the  value to keep the string size minimal
-    rtl::OStringBuffer aBuffer( _nKeyLen * 2 + 1 );
-    for ( sal_uInt32 i = 0; i < _nKeyLen; i++ )
-    {
-        sal_Int32 nValue = (sal_Int32)_pKeyBuffer[i];
-        if (nValue < 16)                         // maximul hex value for 1 byte
-        {
-            sal_Int32 nil = sal_Int32(0);
-            aBuffer.append( nil, 16 /* radix */ );
-        }
-        aBuffer.append( nValue, 16 /* radix */ );
-    }
-
-    return aBuffer.makeStringAndClear();
-}
-
-// -----------------------------------------------------------------------------
-
 class create : public CppUnit::TestFixture
 {
 public:
diff --git a/unusedcode.easy b/unusedcode.easy
index e54f380..7169083 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -1831,7 +1831,6 @@ pyuno::importToGlobal(_object*, _object*, _object*)
 rptui::OFieldExpressionControl::LinkStubAsynchActivate(void*, void*)
 rptui::OFieldExpressionControl::LinkStubAsynchDeactivate(void*, void*)
 rptui::OReportController::LinkStubOnInvalidateClipboard(void*, void*)
-rtl_cipher::createHex(unsigned char*, unsigned int)
 salhelper::ORealDynamicLoader::acquire()
 salhelper::ORealDynamicLoader::getApi() const
 salhelper::ORealDynamicLoader::newInstance(salhelper::ORealDynamicLoader**, rtl::OUString const&, rtl::OUString const&)
@@ -1971,4 +1970,4 @@ vcl::PDFExtOutDevData::SetOutlineItemText(int, rtl::OUString const&)
 vcl::PDFWriter::DrawPixel(Polygon const&, Color const*)
 vcl::PDFWriterImpl::drawPolyPolygon(PolyPolygon const&, int, bool)
 vcl::unx::GtkPrintWrapper::print_operation_set_has_selection(_GtkPrintOperation*, int) const
-vcl::unx::GtkPrintWrapper::print_operation_set_support_selection(_GtkPrintOperation*, int) const
\ No newline at end of file
+vcl::unx::GtkPrintWrapper::print_operation_set_support_selection(_GtkPrintOperation*, int) const
commit c8352a6c19489ba7e74d1bfbe0e94b783d9db580
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jan 9 11:10:12 2012 +0000

    WaE: some more warnings in higher debug levels

diff --git a/boost/aliasing.patch b/boost/aliasing.patch
deleted file mode 100644
index 5ca5ed0..0000000
--- a/boost/aliasing.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- misc/boost_1_44_0/boost/function/function_base.hpp
-+++ misc/build/boost_1_44_0/boost/function/function_base.hpp
-@@ -2,6 +2,7 @@
- 
- //  Copyright Douglas Gregor 2001-2006
- //  Copyright Emil Dotchevski 2007
-+//  Copyright Dean Michael Berris 2009
- //  Use, modification and distribution is subject to the Boost Software License, Version 1.0.
- //  (See accompanying file LICENSE_1_0.txt or copy at
- //  http://www.boost.org/LICENSE_1_0.txt)
-@@ -44,6 +45,13 @@
- #   pragma warning( disable : 4127 ) // "conditional expression is constant"
- #endif       
- 
-+#if defined(__GNUC__)
-+// Because GCC complains of strict aliasing problems, we make it
-+// treat the header as a system header, becoming more forgiving with
-+// treating implementation details that may be potentially harmful.
-+# pragma GCC system_header
-+#endif
-+
- // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
- #ifdef BOOST_NO_STD_TYPEINFO
- // Embedded VC++ does not have type_info in namespace std
-@@ -314,15 +322,15 @@
-         {
-           if (op == clone_functor_tag || op == move_functor_tag) {
-             const functor_type* in_functor = 
--              reinterpret_cast<const functor_type*>(&in_buffer.data);
-+              static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
-             new ((void*)&out_buffer.data) functor_type(*in_functor);
- 
-             if (op == move_functor_tag) {
--              reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();
-+              static_cast<functor_type*>(static_cast<void*>(&in_buffer.data))->~Functor();
-             }
-           } else if (op == destroy_functor_tag) {
-             // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
--            reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
-+            static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor();
-           } else if (op == check_functor_type_tag) {
-             const detail::sp_typeinfo& check_type 
-               = *out_buffer.type.type;
diff --git a/boost/boost.3780.aliasing.patch b/boost/boost.3780.aliasing.patch
new file mode 100644
index 0000000..5ca5ed0
--- /dev/null
+++ b/boost/boost.3780.aliasing.patch
@@ -0,0 +1,43 @@
+--- misc/boost_1_44_0/boost/function/function_base.hpp
++++ misc/build/boost_1_44_0/boost/function/function_base.hpp
+@@ -2,6 +2,7 @@
+ 
+ //  Copyright Douglas Gregor 2001-2006
+ //  Copyright Emil Dotchevski 2007
++//  Copyright Dean Michael Berris 2009
+ //  Use, modification and distribution is subject to the Boost Software License, Version 1.0.
+ //  (See accompanying file LICENSE_1_0.txt or copy at
+ //  http://www.boost.org/LICENSE_1_0.txt)
+@@ -44,6 +45,13 @@
+ #   pragma warning( disable : 4127 ) // "conditional expression is constant"
+ #endif       
+ 
++#if defined(__GNUC__)
++// Because GCC complains of strict aliasing problems, we make it
++// treat the header as a system header, becoming more forgiving with
++// treating implementation details that may be potentially harmful.
++# pragma GCC system_header
++#endif
++
+ // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.
+ #ifdef BOOST_NO_STD_TYPEINFO
+ // Embedded VC++ does not have type_info in namespace std
+@@ -314,15 +322,15 @@
+         {
+           if (op == clone_functor_tag || op == move_functor_tag) {
+             const functor_type* in_functor = 
+-              reinterpret_cast<const functor_type*>(&in_buffer.data);
++              static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data));
+             new ((void*)&out_buffer.data) functor_type(*in_functor);
+ 
+             if (op == move_functor_tag) {
+-              reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor();
++              static_cast<functor_type*>(static_cast<void*>(&in_buffer.data))->~Functor();
+             }
+           } else if (op == destroy_functor_tag) {
+             // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type.
+-            reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor();
++            static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor();
+           } else if (op == check_functor_type_tag) {
+             const detail::sp_typeinfo& check_type 
+               = *out_buffer.type.type;
diff --git a/boost/boost.5119.unordered_map-cp-ctor.patch b/boost/boost.5119.unordered_map-cp-ctor.patch
new file mode 100644
index 0000000..42e7175
--- /dev/null
+++ b/boost/boost.5119.unordered_map-cp-ctor.patch
@@ -0,0 +1,92 @@
+Index: /trunk/boost/unordered/unordered_set.hpp
+===================================================================
+--- misc/boost_1_44_0/boost/unordered/unordered_set.hpp	(revision 60754)
++++ misc/build/boost_1_44_0/boost/unordered/unordered_set.hpp	(revision 68445)
+@@ -155,4 +155,9 @@
+ 
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
++        unordered_set(unordered_set const& other)
++          : table_(other.table_)
++        {
++        }
++
+         unordered_set(unordered_set&& other)
+           : table_(other.table_, boost::unordered_detail::move_tag())
+@@ -163,4 +168,10 @@
+           : table_(other.table_, a, boost::unordered_detail::move_tag())
+         {
++        }
++
++        unordered_set& operator=(unordered_set const& x)
++        {
++            table_ = x.table_;
++            return *this;
+         }
+ 
+@@ -652,4 +663,9 @@
+ 
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
++        unordered_multiset(unordered_multiset const& other)
++          : table_(other.table_)
++        {
++        }
++
+         unordered_multiset(unordered_multiset&& other)
+           : table_(other.table_, boost::unordered_detail::move_tag())
+@@ -660,4 +676,10 @@
+           : table_(other.table_, a, boost::unordered_detail::move_tag())
+         {
++        }
++
++        unordered_multiset& operator=(unordered_multiset const& x)
++        {
++            table_ = x.table_;
++            return *this;
+         }
+ 
+Index: /trunk/boost/unordered/unordered_map.hpp
+===================================================================
+--- misc/boost_1_44_0/boost/unordered/unordered_map.hpp	(revision 60754)
++++ misc/build/boost_1_44_0/boost/unordered/unordered_map.hpp	(revision 68445)
+@@ -161,4 +161,9 @@
+ 
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
++        unordered_map(unordered_map const& other)
++          : table_(other.table_)
++        {
++        }
++
+         unordered_map(unordered_map&& other)
+           : table_(other.table_, boost::unordered_detail::move_tag())
+@@ -169,4 +174,10 @@
+           : table_(other.table_, a, boost::unordered_detail::move_tag())
+         {
++        }
++
++        unordered_map& operator=(unordered_map const& x)
++        {
++            table_ = x.table_;
++            return *this;
+         }
+ 
+@@ -706,4 +717,9 @@
+ 
+ #if !defined(BOOST_NO_RVALUE_REFERENCES)
++        unordered_multimap(unordered_multimap const& other)
++          : table_(other.table_)
++        {
++        }
++
+         unordered_multimap(unordered_multimap&& other)
+           : table_(other.table_, boost::unordered_detail::move_tag())
+@@ -714,4 +730,10 @@
+           : table_(other.table_, a, boost::unordered_detail::move_tag())
+         {
++        }
++
++        unordered_multimap& operator=(unordered_multimap const& x)
++        {
++            table_ = x.table_;
++            return *this;
+         }
+ 
diff --git a/boost/boost.6369.warnings.patch b/boost/boost.6369.warnings.patch
new file mode 100644
index 0000000..545f9c0
--- /dev/null
+++ b/boost/boost.6369.warnings.patch
@@ -0,0 +1,305 @@
+--- misc/boost_1_44_0/boost/date_time/gregorian/gregorian_io.hpp	2012-01-08 20:16:41.321760852 +0000
++++ misc/build/boost_1_44_0/boost/date_time/gregorian/gregorian_io.hpp	2012-01-08 20:25:43.233484675 +0000
+@@ -77,14 +77,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+         
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, d);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, d);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, d);
+@@ -138,14 +138,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+         
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, dd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, dd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, dd);
+@@ -202,14 +202,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, dp);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, dp);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, dp);
+@@ -261,14 +261,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, m);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, m);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, m);
+@@ -318,14 +318,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, wd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, wd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, wd);
+@@ -359,14 +359,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, gd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, gd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, gd);
+@@ -400,14 +400,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, gy);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, gy);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, gy);
+@@ -458,14 +458,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, pd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, pd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, pd);
+@@ -515,14 +515,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, nday);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, nday);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, nday);
+@@ -573,14 +573,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, fkd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, fkd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, fkd);
+@@ -631,14 +631,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, lkd);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, lkd);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, lkd);
+@@ -690,14 +690,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, fka);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, fka);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, fka);
+@@ -749,14 +749,14 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false); 
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::date_input_facet<date, CharT> date_input_facet;
++        typedef typename date_time::date_input_facet<date, CharT> lcl_date_input_facet;
+ 
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<date_input_facet>(is.getloc())) {
+-          std::use_facet<date_input_facet>(is.getloc()).get(sit, str_end, is, fkb);
++        if(std::has_facet<lcl_date_input_facet>(is.getloc())) {
++          std::use_facet<lcl_date_input_facet>(is.getloc()).get(sit, str_end, is, fkb);
+         }
+         else {
+-          date_input_facet* f = new date_input_facet();
++          lcl_date_input_facet* f = new lcl_date_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, fkb);
+--- misc/boost_1_44_0/boost/date_time/posix_time/posix_time_io.hpp	2012-01-08 20:16:41.342761072 +0000
++++ misc/build/boost_1_44_0/boost/date_time/posix_time/posix_time_io.hpp	2012-01-09 09:47:25.426730124 +0000
+@@ -75,13 +75,13 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
++        typedef typename date_time::time_input_facet<ptime, CharT> lcl_time_input_facet;
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<time_input_facet>(is.getloc())) {
+-          std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, pt);
++        if(std::has_facet<lcl_time_input_facet>(is.getloc())) {
++          std::use_facet<lcl_time_input_facet>(is.getloc()).get(sit, str_end, is, pt);
+         }
+         else {
+-          time_input_facet* f = new time_input_facet();
++          lcl_time_input_facet* f = new lcl_time_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, pt);
+@@ -143,13 +143,13 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
++        typedef typename date_time::time_input_facet<ptime, CharT> lcl_time_input_facet;
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<time_input_facet>(is.getloc())) {
+-          std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, tp);
++        if(std::has_facet<lcl_time_input_facet>(is.getloc())) {
++          std::use_facet<lcl_time_input_facet>(is.getloc()).get(sit, str_end, is, tp);
+         }
+         else {
+-          time_input_facet* f = new time_input_facet();
++          lcl_time_input_facet* f = new lcl_time_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, tp);
+@@ -208,13 +208,13 @@
+     typename std::basic_istream<CharT, Traits>::sentry strm_sentry(is, false);
+     if (strm_sentry) {
+       try {
+-        typedef typename date_time::time_input_facet<ptime, CharT> time_input_facet;
++        typedef typename date_time::time_input_facet<ptime, CharT> lcl_time_input_facet;
+         std::istreambuf_iterator<CharT,Traits> sit(is), str_end;
+-        if(std::has_facet<time_input_facet>(is.getloc())) {
+-          std::use_facet<time_input_facet>(is.getloc()).get(sit, str_end, is, td);
++        if(std::has_facet<lcl_time_input_facet>(is.getloc())) {
++          std::use_facet<lcl_time_input_facet>(is.getloc()).get(sit, str_end, is, td);
+         }
+         else {
+-          time_input_facet* f = new time_input_facet();
++          lcl_time_input_facet* f = new lcl_time_input_facet();
+           std::locale l = std::locale(is.getloc(), f);
+           is.imbue(l);
+           f->get(sit, str_end, is, td);
diff --git a/boost/makefile.mk b/boost/makefile.mk
index 3ba21d8..085e1c7 100644
--- a/boost/makefile.mk
+++ b/boost/makefile.mk
@@ -52,13 +52,15 @@ TARFILE_NAME=boost_1_44_0
 TARFILE_MD5=f02578f5218f217a9f20e9c30e119c6a
 PATCH_FILES=$(TARFILE_NAME).patch
 #https://svn.boost.org/trac/boost/ticket/3780
-PATCH_FILES+=aliasing.patch
+PATCH_FILES+=boost.3780.aliasing.patch
 #https://svn.boost.org/trac/boost/ticket/4713
 PATCH_FILES+=boost.4713.warnings.patch
 #https://svn.boost.org/trac/boost/ticket/5119
-PATCH_FILES+=unordered_map-doesnt-support-cp-ctor.patch
+PATCH_FILES+=boost.5119.unordered_map-cp-ctor.patch
 #http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679
 PATCH_FILES+=boost.gcc47679.patch
+#https://svn.boost.org/trac/boost/ticket/6369
+PATCH_FILES+=boost.6369.warnings.patch
 
 PATCH_FILES+=boost.windows.patch
 
diff --git a/boost/unordered_map-doesnt-support-cp-ctor.patch b/boost/unordered_map-doesnt-support-cp-ctor.patch
deleted file mode 100644
index 42e7175..0000000
--- a/boost/unordered_map-doesnt-support-cp-ctor.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-Index: /trunk/boost/unordered/unordered_set.hpp
-===================================================================
---- misc/boost_1_44_0/boost/unordered/unordered_set.hpp	(revision 60754)
-+++ misc/build/boost_1_44_0/boost/unordered/unordered_set.hpp	(revision 68445)
-@@ -155,4 +155,9 @@
- 
- #if !defined(BOOST_NO_RVALUE_REFERENCES)
-+        unordered_set(unordered_set const& other)
-+          : table_(other.table_)
-+        {
-+        }
-+
-         unordered_set(unordered_set&& other)
-           : table_(other.table_, boost::unordered_detail::move_tag())
-@@ -163,4 +168,10 @@
-           : table_(other.table_, a, boost::unordered_detail::move_tag())
-         {
-+        }
-+
-+        unordered_set& operator=(unordered_set const& x)
-+        {
-+            table_ = x.table_;
-+            return *this;
-         }
- 
-@@ -652,4 +663,9 @@
- 
- #if !defined(BOOST_NO_RVALUE_REFERENCES)
-+        unordered_multiset(unordered_multiset const& other)
-+          : table_(other.table_)
-+        {
-+        }
-+
-         unordered_multiset(unordered_multiset&& other)
-           : table_(other.table_, boost::unordered_detail::move_tag())
-@@ -660,4 +676,10 @@
-           : table_(other.table_, a, boost::unordered_detail::move_tag())
-         {
-+        }
-+
-+        unordered_multiset& operator=(unordered_multiset const& x)
-+        {
-+            table_ = x.table_;
-+            return *this;
-         }
- 
-Index: /trunk/boost/unordered/unordered_map.hpp
-===================================================================
---- misc/boost_1_44_0/boost/unordered/unordered_map.hpp	(revision 60754)
-+++ misc/build/boost_1_44_0/boost/unordered/unordered_map.hpp	(revision 68445)
-@@ -161,4 +161,9 @@
- 
- #if !defined(BOOST_NO_RVALUE_REFERENCES)
-+        unordered_map(unordered_map const& other)
-+          : table_(other.table_)
-+        {
-+        }
-+
-         unordered_map(unordered_map&& other)
-           : table_(other.table_, boost::unordered_detail::move_tag())
-@@ -169,4 +174,10 @@
-           : table_(other.table_, a, boost::unordered_detail::move_tag())
-         {
-+        }
-+
-+        unordered_map& operator=(unordered_map const& x)
-+        {
-+            table_ = x.table_;
-+            return *this;
-         }
- 
-@@ -706,4 +717,9 @@
- 
- #if !defined(BOOST_NO_RVALUE_REFERENCES)
-+        unordered_multimap(unordered_multimap const& other)
-+          : table_(other.table_)
-+        {
-+        }
-+
-         unordered_multimap(unordered_multimap&& other)
-           : table_(other.table_, boost::unordered_detail::move_tag())
-@@ -714,4 +730,10 @@
-           : table_(other.table_, a, boost::unordered_detail::move_tag())
-         {
-+        }
-+
-+        unordered_multimap& operator=(unordered_multimap const& x)
-+        {
-+            table_ = x.table_;
-+            return *this;
-         }
- 
commit 45b19123a63f23fe37b11b063d7567bf79ef09aa
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Jan 6 23:00:40 2012 +0000

    simplify CharClass
    
    multiple variants of toUpper (etc)
    some that take a non-const OUString or String and modify it
    some that take a const OUString or String and return a new one
    some that take part of a const OUString or String and return a new one

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 34a453a..3ac1115 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -158,7 +158,7 @@ static long GetDayDiff( const Date& rDate )
     return nDiffDays;
 }
 
-static CharClass& GetCharClass( void )
+static const CharClass& GetCharClass( void )
 {
     static sal_Bool bNeedsInit = sal_True;
     static ::com::sun::star::lang::Locale aLocale;
@@ -1136,9 +1136,9 @@ RTLFUNC(LCase)
         StarBASIC::Error( SbERR_BAD_ARGUMENT );
     else
     {
-        CharClass& rCharClass = GetCharClass();
+        const CharClass& rCharClass = GetCharClass();
         String aStr( rPar.Get(1)->GetString() );
-        rCharClass.toLower( aStr );
+        aStr = rCharClass.lowercase(aStr);
         rPar.Get(0)->PutString( aStr );
     }
 }
@@ -1681,9 +1681,9 @@ RTLFUNC(UCase)
         StarBASIC::Error( SbERR_BAD_ARGUMENT );
     else
     {
-        CharClass& rCharClass = GetCharClass();
+        const CharClass& rCharClass = GetCharClass();
         String aStr( rPar.Get(1)->GetString() );
-        rCharClass.toUpper( aStr );
+        aStr = rCharClass.uppercase( aStr );
         rPar.Get(0)->PutString( aStr );
     }
 }
@@ -3907,8 +3907,8 @@ RTLFUNC(StrConv)
     sal_Int32 nType = 0;
     if ( (nConversion & 0x03) == 3 ) //  vbProperCase
     {
-        CharClass& rCharClass = GetCharClass();
-        aOldStr = rCharClass.toTitle( aOldStr.ToLowerAscii(), 0, nOldLen );
+        const CharClass& rCharClass = GetCharClass();
+        aOldStr = rCharClass.titlecase( aOldStr.ToLowerAscii(), 0, nOldLen );
     }
     else if ( (nConversion & 0x01) == 1 ) // vbUpperCase
         nType |= ::com::sun::star::i18n::TransliterationModules_LOWERCASE_UPPERCASE;
diff --git a/cui/source/tabpages/autocdlg.cxx b/cui/source/tabpages/autocdlg.cxx
index 541ba2a..f1731e9 100644
--- a/cui/source/tabpages/autocdlg.cxx
+++ b/cui/source/tabpages/autocdlg.cxx
@@ -1390,7 +1390,7 @@ IMPL_LINK(OfaAutocorrReplacePage, ModifyHdl, Edit*, pEdt)
     sal_Bool bShort = pEdt == &aShortED;
     const String rEntry = pEdt->GetText();
     const String rRepString = aReplaceED.GetText();
-    String aWordStr( pCharClass->lower( rEntry ));
+    String aWordStr( pCharClass->lowercase( rEntry ));
 
     if(bShort)
     {
@@ -1415,7 +1415,7 @@ IMPL_LINK(OfaAutocorrReplacePage, ModifyHdl, Edit*, pEdt)
                 }
                 else
                 {
-                    pCharClass->toLower( aTestStr );
+                    aTestStr = pCharClass->lowercase( aTestStr );
                     if(aTestStr.Search(aWordStr)==0 && !bTmpSelEntry)
                     {
                         aReplaceTLB.MakeVisible(pEntry);
diff --git a/editeng/source/items/svxfont.cxx b/editeng/source/items/svxfont.cxx
index 5dcadd8..5080038 100644
--- a/editeng/source/items/svxfont.cxx
+++ b/editeng/source/items/svxfont.cxx
@@ -130,13 +130,13 @@ XubString SvxFont::CalcCaseMap( const XubString &rTxt ) const
         case SVX_CASEMAP_KAPITAELCHEN:
         case SVX_CASEMAP_VERSALIEN:
         {
-            aCharClass.toUpper( aTxt );
+            aTxt = aCharClass.uppercase( aTxt );
             break;
         }
 
         case SVX_CASEMAP_GEMEINE:
         {
-            aCharClass.toLower( aTxt );
+            aTxt = aCharClass.lowercase( aTxt );
             break;
         }
         case SVX_CASEMAP_TITEL:
@@ -155,7 +155,7 @@ XubString SvxFont::CalcCaseMap( const XubString &rTxt ) const
                     if( bBlank )
                     {
                         String aTemp( aTxt.GetChar( i ) );
-                        aCharClass.toUpper( aTemp );
+                        aTemp = aCharClass.uppercase( aTemp );
                         aTxt.Replace( i, 1, aTemp );
                     }
                     bBlank = sal_False;
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 159cde6..35d5b20 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -435,7 +435,7 @@ sal_Bool SvxAutoCorrect::FnCptlSttWrd( SvxAutoCorrDoc& rDoc, const String& rTxt,
             {
                 sal_Unicode cSave = rTxt.GetChar( nSttPos );
                 String sChar( cSave );
-                rCC.toLower( sChar );
+                sChar = rCC.lowercase( sChar );
                 if( sChar.GetChar(0) != cSave && rDoc.ReplaceRange( nSttPos, 1, sChar ))
                 {
                     if( SaveWordWrdSttLst & nFlags )
@@ -883,7 +883,7 @@ sal_Bool SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc,
         {
             // valid separator -> replace
             String sChar( *pWordStt );
-            rCC.toUpper( sChar );
+            sChar = rCC.uppercase( sChar );
             return  sChar != *pWordStt &&
                     rDoc.ReplaceRange( xub_StrLen( pWordStt - pStart ), 1, sChar );
         }
@@ -1059,7 +1059,7 @@ sal_Bool SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc,
     sal_Unicode cSave = *pWordStt;
     nSttPos = sal::static_int_cast< xub_StrLen >( pWordStt - rTxt.GetBuffer() );
     String sChar( cSave );
-    rCC.toUpper( sChar );
+    sChar = rCC.uppercase( sChar );
     sal_Bool bRet = sChar.GetChar(0) != cSave && rDoc.ReplaceRange( nSttPos, 1, sChar );
 
     // Parahaps someone wants to have the word
@@ -1087,8 +1087,8 @@ bool SvxAutoCorrect::FnCorrectCapsLock( SvxAutoCorrDoc& rDoc, const String& rTxt
         return false;
 
     String aConverted;
-    aConverted.Append( rCC.upper(rTxt.GetChar(nSttPos)) );
-    aConverted.Append( rCC.lower(rTxt.GetChar(nSttPos+1)) );
+    aConverted.Append( rCC.uppercase(rtl::OUString(rTxt.GetChar(nSttPos))) );
+    aConverted.Append( rCC.lowercase(rtl::OUString(rTxt.GetChar(nSttPos+1))) );
 
     for (xub_StrLen i = nSttPos+2; i < nEndPos; ++i)
     {
@@ -1098,7 +1098,7 @@ bool SvxAutoCorrect::FnCorrectCapsLock( SvxAutoCorrDoc& rDoc, const String& rTxt
 
         if ( IsUpperLetter(rCC.getCharacterType(rTxt, i)) )
             // Another uppercase letter.  Convert it.
-            aConverted.Append( rCC.lower(rTxt.GetChar(i)) );
+            aConverted.Append( rCC.lowercase(String(rTxt.GetChar(i))) );
         else
             // This is not an alphabetic letter.  Leave it as-is.
             aConverted.Append(rTxt.GetChar(i));
diff --git a/formula/source/ui/dlg/formula.cxx b/formula/source/ui/dlg/formula.cxx
index d34e86f..a64242e 100644
--- a/formula/source/ui/dlg/formula.cxx
+++ b/formula/source/ui/dlg/formula.cxx
@@ -477,8 +477,7 @@ xub_StrLen FormulaDlg_Impl::GetFunctionPos(xub_StrLen nPos)
 
     xub_StrLen nFuncPos=STRING_NOTFOUND;    //@ Testwise
     sal_Bool   bFlag=sal_False;
-    String aFormString = pMEdit->GetText();
-    m_aFormulaHelper.GetCharClass()->toUpper( aFormString );
+    String aFormString = m_aFormulaHelper.GetCharClass()->uppercase(pMEdit->GetText());
 
     if ( m_aTokenList.getLength() )
     {
diff --git a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
index d2f7365..132660f 100644
--- a/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
+++ b/lingucomponent/source/hyphenator/altlinuxhyph/hyphen/hyphenimp.cxx
@@ -753,14 +753,14 @@ sal_uInt16 SAL_CALL Hyphenator::capitalType(const OUString& aTerm, CharClass * p
 OUString SAL_CALL Hyphenator::makeLowerCase(const OUString& aTerm, CharClass * pCC)
 {
     if (pCC)
-        return pCC->toLower_rtl(aTerm, 0, aTerm.getLength());
+        return pCC->lowercase(aTerm);
     return aTerm;
 }
 
 OUString SAL_CALL Hyphenator::makeUpperCase(const OUString& aTerm, CharClass * pCC)
 {
     if (pCC)
-        return pCC->toUpper_rtl(aTerm, 0, aTerm.getLength());
+        return pCC->uppercase(aTerm);
     return aTerm;
 }
 
@@ -772,9 +772,9 @@ OUString SAL_CALL Hyphenator::makeInitCap(const OUString& aTerm, CharClass * pCC
     {
         OUString bTemp = aTerm.copy(0,1);
         if (tlen > 1)
-            return ( pCC->toUpper_rtl(bTemp, 0, 1) + pCC->toLower_rtl(aTerm,1,(tlen-1)) );
+            return ( pCC->uppercase(bTemp, 0, 1) + pCC->lowercase(aTerm,1,(tlen-1)) );
 
-        return pCC->toUpper_rtl(bTemp, 0, 1);
+        return pCC->uppercase(bTemp, 0, 1);
     }
     return aTerm;
 }
diff --git a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
index 8e9bf58..ae88aea 100644
--- a/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
+++ b/lingucomponent/source/thesaurus/libnth/nthesimp.cxx
@@ -643,7 +643,7 @@ sal_uInt16 SAL_CALL Thesaurus::capitalType(const OUString& aTerm, CharClass * pC
 OUString SAL_CALL Thesaurus::makeLowerCase(const OUString& aTerm, CharClass * pCC)
 {
     if (pCC)
-        return pCC->toLower_rtl(aTerm, 0, aTerm.getLength());
+        return pCC->lowercase(aTerm);
     return aTerm;
 }
 
@@ -651,7 +651,7 @@ OUString SAL_CALL Thesaurus::makeLowerCase(const OUString& aTerm, CharClass * pC
 OUString SAL_CALL Thesaurus::makeUpperCase(const OUString& aTerm, CharClass * pCC)
 {
     if (pCC)
-        return pCC->toUpper_rtl(aTerm, 0, aTerm.getLength());
+        return pCC->uppercase(aTerm);
     return aTerm;
 }
 
@@ -664,11 +664,11 @@ OUString SAL_CALL Thesaurus::makeInitCap(const OUString& aTerm, CharClass * pCC)
         OUString bTemp = aTerm.copy(0,1);
         if (tlen > 1)
         {
-            return ( pCC->toUpper_rtl(bTemp, 0, 1)
-                     + pCC->toLower_rtl(aTerm,1,(tlen-1)) );
+            return ( pCC->uppercase(bTemp, 0, 1)
+                     + pCC->lowercase(aTerm,1,(tlen-1)) );
         }
 
-        return pCC->toUpper_rtl(bTemp, 0, 1);
+        return pCC->uppercase(bTemp, 0, 1);
     }
     return aTerm;
 }
diff --git a/linguistic/source/misc.cxx b/linguistic/source/misc.cxx
index 3e10cf3..4927b4e 100644
--- a/linguistic/source/misc.cxx
+++ b/linguistic/source/misc.cxx
@@ -653,7 +653,7 @@ String ToLower( const String &rText, sal_Int16 nLanguage )
 
     CharClass &rCC = lcl_GetCharClass();
     rCC.setLocale( CreateLocale( nLanguage ) );
-    return rCC.lower( rText );
+    return rCC.lowercase( rText );
 }
 
 
@@ -663,7 +663,7 @@ String ToUpper( const String &rText, sal_Int16 nLanguage )
 
     CharClass &rCC = lcl_GetCharClass();
     rCC.setLocale( CreateLocale( nLanguage ) );
-    return rCC.upper( rText );
+    return rCC.uppercase( rText );
 }
 
 
@@ -673,7 +673,7 @@ String ToTitle( const String &rText, sal_Int16 nLanguage )
 
     CharClass &rCC = lcl_GetCharClass();
     rCC.setLocale( CreateLocale( nLanguage ) );
-    return rCC.toTitle( rText, 0, rText.Len() );
+    return rCC.titlecase(rText);
 }
 
 
@@ -683,7 +683,7 @@ sal_Unicode ToLower( const sal_Unicode cChar, sal_Int16 nLanguage )
 
     CharClass &rCC = lcl_GetCharClass();
     rCC.setLocale( CreateLocale( nLanguage ) );
-    return rCC.lower( cChar ).GetChar(0);
+    return rCC.lowercase( rtl::OUString(cChar) )[0];
 }
 
 
@@ -693,7 +693,7 @@ sal_Unicode ToUpper( const sal_Unicode cChar, sal_Int16 nLanguage )
 
     CharClass &rCC = lcl_GetCharClass();
     rCC.setLocale( CreateLocale( nLanguage ) );
-    return rCC.upper( cChar ).GetChar(0);
+    return rCC.uppercase( rtl::OUString(cChar) )[0];
 }
 
 // sorted(!) array of unicode ranges for code points that are exclusively(!) used as numbers
diff --git a/sc/source/core/data/dociter.cxx b/sc/source/core/data/dociter.cxx
index 0b466c0..fd6bd28 100644
--- a/sc/source/core/data/dociter.cxx
+++ b/sc/source/core/data/dociter.cxx
@@ -58,13 +58,12 @@ using ::std::set;
 
 // STATIC DATA -----------------------------------------------------------
 
-namespace {
-
-void lcl_toUpper(OUString& rStr)
+namespace
 {
-    rStr = ScGlobal::pCharClass->toUpper(rStr.trim(), 0, static_cast<sal_uInt16>(rStr.getLength()));
-}
-
+    void lcl_uppercase(OUString& rStr)
+    {
+        rStr = ScGlobal::pCharClass->uppercase(rStr.trim());
+    }
 }
 
 ScDocumentIterator::ScDocumentIterator( ScDocument* pDocument,
@@ -825,9 +824,9 @@ bool ScDBQueryDataIterator::DataAccessMatrix::isValidQuery(SCROW nRow, const ScM
                 // Equality check first.
 
                 OUString aMatStr = rMat.GetString(nField, nRow);
-                lcl_toUpper(aMatStr);
+                lcl_uppercase(aMatStr);
                 OUString aQueryStr = rEntry.GetQueryItem().maString;
-                lcl_toUpper(aQueryStr);
+                lcl_uppercase(aQueryStr);
                 bool bDone = false;
                 switch (rEntry.eOp)
                 {
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 8f31478..dbc4cec 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -218,8 +218,7 @@ bool ScDocument::GetCodeName( SCTAB nTab, rtl::OUString& rName ) const
 
 bool ScDocument::GetTable( const rtl::OUString& rName, SCTAB& rTab ) const
 {
-    rtl::OUString aUpperName = rName;
-    ScGlobal::pCharClass->toUpper(aUpperName);
+    rtl::OUString aUpperName = ScGlobal::pCharClass->uppercase(rName);
 
     for (SCTAB i=0; i< static_cast<SCTAB>(maTabs.size()); i++)
         if (maTabs[i])
diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx
index 539fd88..046c159 100644
--- a/sc/source/core/data/dpshttab.cxx
+++ b/sc/source/core/data/dpshttab.cxx
@@ -246,7 +246,7 @@ const ScRange& ScSheetSourceDesc::GetSourceRange() const
             if (!pRangeName)
                 break;
 
-            OUString aUpper = ScGlobal::pCharClass->upper(maRangeName);
+            OUString aUpper = ScGlobal::pCharClass->uppercase(maRangeName);
             const ScRangeData* pData = pRangeName->findByUpperName(aUpper);
             if (!pData)
                 break;
diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx
index 30e6926..f9dbef0 100644
--- a/sc/source/core/data/stlpool.cxx
+++ b/sc/source/core/data/stlpool.cxx
@@ -499,8 +499,7 @@ void ScStyleSheetPool::CreateStandardStyles()
 
 ScStyleSheet* ScStyleSheetPool::FindCaseIns( const String& rName, SfxStyleFamily eFam )
 {
-    String aUpSearch = rName;
-    ScGlobal::pCharClass->toUpper(aUpSearch);
+    String aUpSearch = ScGlobal::pCharClass->uppercase(rName);
 
     sal_uInt32 nCount = aStyles.size();
     for (sal_uInt32 n=0; n<nCount; n++)
@@ -508,8 +507,7 @@ ScStyleSheet* ScStyleSheetPool::FindCaseIns( const String& rName, SfxStyleFamily
         SfxStyleSheetBase* pStyle = aStyles[n].get();
         if ( pStyle->GetFamily() == eFam )
         {
-            String aUpName = pStyle->GetName();
-            ScGlobal::pCharClass->toUpper(aUpName);
+            String aUpName = ScGlobal::pCharClass->uppercase(pStyle->GetName());
             if (aUpName == aUpSearch)
                 return (ScStyleSheet*)pStyle;
         }
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index 93285a2..4493a71 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -366,7 +366,7 @@ void ScTable::SetName( const rtl::OUString& rNewName )
 const rtl::OUString& ScTable::GetUpperName() const
 {
     if (aUpperName.isEmpty() && !aName.isEmpty())
-        aUpperName = ScGlobal::pCharClass->upper(aName);
+        aUpperName = ScGlobal::pCharClass->uppercase(aName);
     return aUpperName;
 }
 
diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx
index 853785b..2b5fbed 100644
--- a/sc/source/core/data/table2.cxx
+++ b/sc/source/core/data/table2.cxx
@@ -3013,8 +3013,7 @@ bool ScTable::RefVisible(ScFormulaCell* pCell)
 void ScTable::GetUpperCellString(SCCOL nCol, SCROW nRow, rtl::OUString& rStr)
 {
     GetInputString(nCol, nRow, rStr);
-    rStr = rStr.trim();
-    ScGlobal::pCharClass->toUpper(rStr);
+    rStr = ScGlobal::pCharClass->uppercase(rStr.trim());
 }
 
 
diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx
index d98552b..5525888 100644
--- a/sc/source/core/data/table3.cxx
+++ b/sc/source/core/data/table3.cxx
@@ -881,7 +881,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
             {
                 GetString( nGroupCol[i], nStartRow, aSubString );
                 if ( bIgnoreCase )
-                    *pCompString[i] = ScGlobal::pCharClass->upper( aSubString );
+                    *pCompString[i] = ScGlobal::pCharClass->uppercase( aSubString );
                 else
                     *pCompString[i] = aSubString;
             }                                                   // aSubString bleibt auf dem letzten stehen
@@ -903,7 +903,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
                         {
                             GetString( nGroupCol[i], nRow, aString );
                             if (bIgnoreCase)
-                                ScGlobal::pCharClass->toUpper( aString );
+                                aString = ScGlobal::pCharClass->uppercase(aString);
                             //  wenn sortiert, ist "leer" eine eigene Gruppe
                             //  sonst sind leere Zellen unten erlaubt
                             bChanged = ( ( !aString.isEmpty() || rParam.bDoSort ) &&
@@ -997,7 +997,7 @@ bool ScTable::DoSubTotals( ScSubTotalParam& rParam )
                         {
                             GetString( nGroupCol[i], nRow, aSubString );
                             if ( bIgnoreCase )
-                                *pCompString[i] = ScGlobal::pCharClass->upper( aSubString );
+                                *pCompString[i] = ScGlobal::pCharClass->uppercase( aSubString );
                             else
                                 *pCompString[i] = aSubString;
                         }
@@ -1928,7 +1928,7 @@ bool ScTable::CreateExcelQuery(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow
             while (nCol <= nCol2)
             {
                 GetInputString( nCol, nRow, aCellStr );
-                ScGlobal::pCharClass->toUpper( aCellStr );
+                aCellStr = ScGlobal::pCharClass->uppercase(aCellStr);
                 if (!aCellStr.isEmpty())
                 {
                     if (nIndex < nNewEntries)
diff --git a/sc/source/core/tool/addincol.cxx b/sc/source/core/tool/addincol.cxx
index 505a650..3e6d523 100644
--- a/sc/source/core/tool/addincol.cxx
+++ b/sc/source/core/tool/addincol.cxx
@@ -106,8 +106,8 @@ ScUnoAddInFuncData::ScUnoAddInFuncData( const String& rNam, const String& rLoc,
     else
         pArgDescs = NULL;
 
-    ScGlobal::pCharClass->toUpper(aUpperName);
-    ScGlobal::pCharClass->toUpper(aUpperLocal);
+    aUpperName = ScGlobal::pCharClass->uppercase(aUpperName);
+    aUpperLocal = ScGlobal::pCharClass->uppercase(aUpperLocal);
 }
 
 ScUnoAddInFuncData::~ScUnoAddInFuncData()
@@ -670,8 +670,7 @@ sal_Bool ScUnoAddInCollection::GetCalcName( const String& rExcelName, String& rR
     if (!bInitialized)
         Initialize();
 
-    String aUpperCmp = rExcelName;
-    ScGlobal::pCharClass->toUpper(aUpperCmp);
+    rtl::OUString aUpperCmp = ScGlobal::pCharClass->uppercase(rExcelName);
 
     for (long i=0; i<nFuncCount; i++)
     {
@@ -684,7 +683,7 @@ sal_Bool ScUnoAddInCollection::GetCalcName( const String& rExcelName, String& rR
             {
                 const sheet::LocalizedName* pArray = rSequence.getConstArray();
                 for ( long nName=0; nName<nSeqLen; nName++)
-                    if ( ScGlobal::pCharClass->upper( pArray[nName].Name ) == aUpperCmp )
+                    if ( ScGlobal::pCharClass->uppercase( pArray[nName].Name ) == aUpperCmp )
                     {
                         //! store upper case for comparing?
 
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 67dc2de..c7dc18a 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -188,7 +188,7 @@ void ScCompiler::DeInit()
 bool ScCompiler::IsEnglishSymbol( const String& rName )
 {
     // function names are always case-insensitive
-    String aUpper( ScGlobal::pCharClass->upper( rName ) );
+    String aUpper( ScGlobal::pCharClass->uppercase( rName ) );
 
     // 1. built-in function name
     OpCode eOp = ScCompiler::GetEnglishOpCode( aUpper );
@@ -3533,7 +3533,7 @@ inline bool lcl_UpperAsciiOrI18n( String& rUpper, const String& rOrg, FormulaGra
     }
     else
     {
-        rUpper = ScGlobal::pCharClass->upper( rOrg );
+        rUpper = ScGlobal::pCharClass->uppercase( rOrg );
         return false;
     }
 }
@@ -3673,7 +3673,7 @@ bool ScCompiler::NextNewToken( bool bInArray )
 
         // User defined names and such do need i18n upper also in ODF.
         if (bAsciiUpper)
-            aUpper = ScGlobal::pCharClass->upper( aOrg );
+            aUpper = ScGlobal::pCharClass->uppercase( aOrg );
 
         if (IsNamedRange( aUpper ))
             return true;
@@ -3702,7 +3702,7 @@ bool ScCompiler::NextNewToken( bool bInArray )
     // Provide single token information and continue. Do not set an error, that
     // would prematurely end compilation. Simple unknown names are handled by
     // the interpreter.
-    ScGlobal::pCharClass->toLower( aUpper );
+    aUpper = ScGlobal::pCharClass->lowercase( aUpper );
     ScRawToken aToken;
     aToken.SetString( aUpper.GetBuffer() );
     aToken.NewOpCode( ocBad );
diff --git a/sc/source/core/tool/dbdata.cxx b/sc/source/core/tool/dbdata.cxx
index 3cc4146..288fbac 100644
--- a/sc/source/core/tool/dbdata.cxx
+++ b/sc/source/core/tool/dbdata.cxx
@@ -82,7 +82,7 @@ ScDBData::ScDBData( const ::rtl::OUString& rName,
     bAutoFilter (false),
     bModified   (false)
 {
-    ScGlobal::pCharClass->toUpper(aUpper);
+    aUpper = ScGlobal::pCharClass->uppercase(aUpper);
 }
 
 ScDBData::ScDBData( const ScDBData& rData ) :
@@ -137,7 +137,7 @@ ScDBData::ScDBData( const ::rtl::OUString& rName, const ScDBData& rData ) :
     bAutoFilter         (rData.bAutoFilter),
     bModified           (rData.bModified)
 {
-    ScGlobal::pCharClass->toUpper(aUpper);
+    aUpper = ScGlobal::pCharClass->uppercase(aUpper);
 }
 
 ScDBData& ScDBData::operator= (const ScDBData& rData)
diff --git a/sc/source/core/tool/doubleref.cxx b/sc/source/core/tool/doubleref.cxx
index a5d582a..e13f239 100644
--- a/sc/source/core/tool/doubleref.cxx
+++ b/sc/source/core/tool/doubleref.cxx
@@ -46,9 +46,9 @@ using ::std::vector;
 
 namespace {
 
-void lcl_toUpper(OUString& rStr)
+void lcl_uppercase(OUString& rStr)
 {
-    rStr = ScGlobal::pCharClass->toUpper(rStr.trim(), 0, static_cast<xub_StrLen>(rStr.getLength()));
+    rStr = ScGlobal::pCharClass->uppercase(rStr.trim());
 }
 
 bool lcl_createStarQuery(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef, const ScDBRangeBase* pQueryRef)
@@ -83,7 +83,7 @@ bool lcl_createStarQuery(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef,
         {
             // For all entries after the first one, check the and/or connector in the first column.
             aCellStr = pQueryRef->getString(0, nRow);
-            lcl_toUpper(aCellStr);
+            lcl_uppercase(aCellStr);
             if ( aCellStr.equals(ScGlobal::GetRscString(STR_TABLE_UND)) )
             {
                 rEntry.eConnect = SC_AND;
@@ -114,7 +114,7 @@ bool lcl_createStarQuery(ScQueryParamBase* pParam, const ScDBRangeBase* pDBRef,
         {
             // equality, non-equality operator in the 3rd column.
             aCellStr = pQueryRef->getString(2, nRow);
-            lcl_toUpper(aCellStr);
+            lcl_uppercase(aCellStr);
             const sal_Unicode* p = aCellStr.getStr();
             if (p[0] == sal_Unicode('<'))
             {
@@ -192,7 +192,7 @@ bool lcl_createExcelQuery(
             while (nCol < nCols)
             {
                 aCellStr = pQueryRef->getString(nCol, nRow);
-                ScGlobal::pCharClass->toUpper( aCellStr );
+                aCellStr = ScGlobal::pCharClass->uppercase( aCellStr );
                 if (aCellStr.Len() > 0)
                 {
                     if (nIndex < nNewEntries)
@@ -347,7 +347,7 @@ SCCOL ScDBInternalRange::findFieldColumn(const OUString& rStr, sal_uInt16* pErr)
     const ScAddress& s = maRange.aStart;
     const ScAddress& e = maRange.aEnd;
     OUString aUpper = rStr;
-    lcl_toUpper(aUpper);
+    lcl_uppercase(aUpper);
 
     SCCOL nDBCol1 = s.Col();
     SCROW nDBRow1 = s.Row();
@@ -365,7 +365,7 @@ SCCOL ScDBInternalRange::findFieldColumn(const OUString& rStr, sal_uInt16* pErr)
         sal_uInt16 nErr = getDoc()->GetStringForFormula( aLook, aCellStr );
         if (pErr)
             *pErr = nErr;
-        lcl_toUpper(aCellStr);
+        lcl_uppercase(aCellStr);
         bFound = ScGlobal::GetpTransliteration()->isEqual(aCellStr, aUpper);
         if (!bFound)
             aLook.IncCol();
@@ -461,11 +461,11 @@ SCCOL ScDBExternalRange::findFieldColumn(const OUString& rStr, sal_uInt16* pErr)
         pErr = 0;
 
     OUString aUpper = rStr;
-    lcl_toUpper(aUpper);
+    lcl_uppercase(aUpper);
     for (SCCOL i = 0; i < mnCols; ++i)
     {
         OUString aUpperVal = mpMatrix->GetString(i, 0);
-        lcl_toUpper(aUpperVal);
+        lcl_uppercase(aUpperVal);
         if (aUpper.equals(aUpperVal))
             return i;
     }
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index f54d2a0..1ee8204 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -2909,8 +2909,7 @@ void ScInterpreter::ScTrim()
 void ScInterpreter::ScUpper()
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScTrim" );
-    String aString = GetString();
-    ScGlobal::pCharClass->toUpper(aString);
+    String aString = ScGlobal::pCharClass->uppercase(GetString());
     PushString(aString);
 }
 
@@ -2925,8 +2924,8 @@ void ScInterpreter::ScPropper()
     // (would crash now that the empty string is const)
     if ( nLen > 0 )
     {
-        String aUpr( ScGlobal::pCharClass->upper( aStr ) );
-        String aLwr( ScGlobal::pCharClass->lower( aStr ) );
+        String aUpr( ScGlobal::pCharClass->uppercase( aStr ) );
+        String aLwr( ScGlobal::pCharClass->lowercase( aStr ) );
         register sal_Unicode* pStr = aStr.GetBufferAccess();
         const sal_Unicode* pUpr = aUpr.GetBuffer();
         const sal_Unicode* pLwr = aLwr.GetBuffer();
@@ -2951,8 +2950,7 @@ void ScInterpreter::ScPropper()
 void ScInterpreter::ScLower()
 {
     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScLower" );
-    String aString( GetString() );
-    ScGlobal::pCharClass->toLower(aString);
+    String aString = ScGlobal::pCharClass->lowercase(GetString());
     PushString(aString);
 }
 
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 429150e..b329ccb 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -2489,7 +2489,7 @@ void ScInterpreter::ScExternal()
     sal_uInt16 nIndex;
     sal_uInt8 nParamCount = GetByte();
     String aUnoName;
-    String aFuncName( ScGlobal::pCharClass->upper( pCur->GetExternal() ) );
+    String aFuncName( ScGlobal::pCharClass->uppercase( pCur->GetExternal() ) );
     if (ScGlobal::GetFuncCollection()->SearchFunc(aFuncName, nIndex))
     {
         FuncData* pFuncData = (FuncData*)ScGlobal::GetFuncCollection()->At(nIndex);
diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx
index 410b2ff..7add078 100644
--- a/sc/source/core/tool/parclass.cxx
+++ b/sc/source/core/tool/parclass.cxx
@@ -326,7 +326,7 @@ ScParameterClassification::GetExternalParameterType( const formula::FormulaToken
     // similar to ScInterpreter::ScExternal()
     sal_uInt16 nIndex;
     String aUnoName;
-    String aFuncName( ScGlobal::pCharClass->upper( pToken->GetExternal()));
+    String aFuncName( ScGlobal::pCharClass->uppercase( pToken->GetExternal()));
     if ( ScGlobal::GetFuncCollection()->SearchFunc( aFuncName, nIndex) )
     {
         FuncData* pFuncData = (FuncData*)ScGlobal::GetFuncCollection()->At(
diff --git a/sc/source/core/tool/rangenam.cxx b/sc/source/core/tool/rangenam.cxx
index 8ebcc76..0766f00 100644
--- a/sc/source/core/tool/rangenam.cxx
+++ b/sc/source/core/tool/rangenam.cxx
@@ -68,7 +68,7 @@ ScRangeData::ScRangeData( ScDocument* pDok,
                           RangeType nType,
                           const FormulaGrammar::Grammar eGrammar ) :
                 aName       ( rName ),
-                aUpperName  ( ScGlobal::pCharClass->upper( rName ) ),
+                aUpperName  ( ScGlobal::pCharClass->uppercase( rName ) ),
                 pCode       ( NULL ),
                 aPos        ( rAddress ),
                 eType       ( nType ),
@@ -99,7 +99,7 @@ ScRangeData::ScRangeData( ScDocument* pDok,
                           const ScAddress& rAddress,
                           RangeType nType ) :
                 aName       ( rName ),
-                aUpperName  ( ScGlobal::pCharClass->upper( rName ) ),
+                aUpperName  ( ScGlobal::pCharClass->uppercase( rName ) ),
                 pCode       ( new ScTokenArray( rArr ) ),
                 aPos        ( rAddress ),
                 eType       ( nType ),
@@ -128,7 +128,7 @@ ScRangeData::ScRangeData( ScDocument* pDok,
                           const rtl::OUString& rName,
                           const ScAddress& rTarget ) :
                 aName       ( rName ),
-                aUpperName  ( ScGlobal::pCharClass->upper( rName ) ),
+                aUpperName  ( ScGlobal::pCharClass->uppercase( rName ) ),
                 pCode       ( new ScTokenArray() ),
                 aPos        ( rTarget ),
                 eType       ( RT_NAME ),
diff --git a/sc/source/core/tool/rangeutl.cxx b/sc/source/core/tool/rangeutl.cxx
index 82d9dcb..edb85aa 100644
--- a/sc/source/core/tool/rangeutl.cxx
+++ b/sc/source/core/tool/rangeutl.cxx
@@ -305,9 +305,9 @@ sal_Bool ScRangeUtil::MakeRangeFromName (
         ScRangeName* pRangeNames = pDoc->GetRangeName( nTable );
         ScRangeData* pData = NULL;
         if ( pRangeNames )
-            pData = pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
+            pData = pRangeNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
         if (!pData)
-            pData = pDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->upper(aName));
+            pData = pDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
         if (pData)
         {
             String       aStrArea;
@@ -1019,7 +1019,7 @@ ScRangeData* ScRangeStringConverter::GetRangeDataFromString(const rtl::OUString&
 {
     ScRangeName* pLocalRangeName = pDoc->GetRangeName(nTab);
     ScRangeData* pData = NULL;
-    rtl::OUString aUpperName = ScGlobal::pCharClass->upper(rString);
+    rtl::OUString aUpperName = ScGlobal::pCharClass->uppercase(rString);
     if(pLocalRangeName)
     {
         pData = pLocalRangeName->findByUpperName(aUpperName);
diff --git a/sc/source/core/tool/userlist.cxx b/sc/source/core/tool/userlist.cxx
index f09423b..4a97af0 100644
--- a/sc/source/core/tool/userlist.cxx
+++ b/sc/source/core/tool/userlist.cxx
@@ -85,8 +85,7 @@ void ScUserListData::InitTokens()
             if (nLen)
             {
                 OUString aSub(p0, nLen);
-                String aUpStr = aSub;
-                ScGlobal::pCharClass->toUpper(aUpStr);
+                String aUpStr = ScGlobal::pCharClass->uppercase(aSub);
                 maSubStrings.push_back(new SubStr(aSub, aUpStr));
             }
             bFirst = true;
@@ -96,8 +95,7 @@ void ScUserListData::InitTokens()
     if (nLen)
     {
         OUString aSub(p0, nLen);
-        String aUpStr = aSub;
-        ScGlobal::pCharClass->toUpper(aUpStr);
+        String aUpStr = ScGlobal::pCharClass->uppercase(aSub);
         maSubStrings.push_back(new SubStr(aSub, aUpStr));
     }
 }
@@ -141,8 +139,7 @@ bool ScUserListData::GetSubIndex(const OUString& rSubStr, sal_uInt16& rIndex) co
     }
 
     // When that fails, do a case insensitive search.
-    String aTmp = rSubStr;
-    ScGlobal::pCharClass->toUpper(aTmp);
+    String aTmp = ScGlobal::pCharClass->uppercase(rSubStr);
     OUString aUpStr = aTmp;
     itr = ::std::find_if(
         maSubStrings.begin(), maSubStrings.end(), FindByName(aUpStr, true));
diff --git a/sc/source/filter/html/htmlimp.cxx b/sc/source/filter/html/htmlimp.cxx
index b060be8..34b13ae 100644
--- a/sc/source/filter/html/htmlimp.cxx
+++ b/sc/source/filter/html/htmlimp.cxx
@@ -207,7 +207,7 @@ void ScHTMLImport::WriteToDocument(
         if (!pTable->GetTableName().isEmpty())
         {
             String aName( ScfTools::GetNameFromHTMLName( pTable->GetTableName() ) );
-            if (!mpDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->upper(aName)))
+            if (!mpDoc->GetRangeName()->findByUpperName(ScGlobal::pCharClass->uppercase(aName)))
                 InsertRangeName( mpDoc, aName, aNewRange );
         }
     }
@@ -237,7 +237,7 @@ String ScHTMLImport::GetHTMLRangeNameList( ScDocument* pDoc, const String& rOrig
             while( bLoop )
             {
                 aToken = ScfTools::GetNameFromHTMLIndex( nIndex++ );
-                const ScRangeData* pRangeData = pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(aToken));
+                const ScRangeData* pRangeData = pRangeNames->findByUpperName(ScGlobal::pCharClass->uppercase(aToken));
                 if (pRangeData)
                 {
                     ScRange aRange;
diff --git a/sc/source/filter/rtf/eeimpars.cxx b/sc/source/filter/rtf/eeimpars.cxx
index 2c09688..2fb0484 100644
--- a/sc/source/filter/rtf/eeimpars.cxx
+++ b/sc/source/filter/rtf/eeimpars.cxx
@@ -418,7 +418,7 @@ void ScEEImport::WriteToDocument( sal_Bool bSizeColsRows, double nOutputFactor,
                 bHasGraphics |= GraphicSize( nCol, nRow, nTab, pE );
             if ( pE->pName )
             {   // Anchor Name => RangeName
-                if (!pRangeNames->findByUpperName(ScGlobal::pCharClass->upper(*pE->pName)))
+                if (!pRangeNames->findByUpperName(ScGlobal::pCharClass->uppercase(*pE->pName)))
                 {
                     ScRangeData* pData = new ScRangeData( mpDoc, *pE->pName,
                         ScAddress( nCol, nRow, nTab ) );
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 1793fae..f6404a7 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -2363,7 +2363,7 @@ void ScPosWnd::DoEnter()
                 {
                     ScRangeName* pNames = pDoc->GetRangeName();
                     ScRange aSelection;
-                    if ( pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aText)) &&
+                    if ( pNames && !pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aText)) &&
                             (pViewData->GetSimpleArea( aSelection ) == SC_MARK_SIMPLE) )
                     {
                         ScRangeName aNewRanges( *pNames );
diff --git a/sc/source/ui/dbgui/pvlaydlg.cxx b/sc/source/ui/dbgui/pvlaydlg.cxx
index 4c0bf59..961b979 100644
--- a/sc/source/ui/dbgui/pvlaydlg.cxx
+++ b/sc/source/ui/dbgui/pvlaydlg.cxx
@@ -1487,7 +1487,7 @@ void ScDPLayoutDlg::UpdateSrcRange()
         ScRangeName* pRangeName = pDoc->GetRangeName();
         if (pRangeName)
         {
-            OUString aUpper = ScGlobal::pCharClass->upper(aSrcStr);
+            OUString aUpper = ScGlobal::pCharClass->uppercase(aSrcStr);
             const ScRangeData* pData = pRangeName->findByUpperName(aUpper);
             if (pData)
             {
diff --git a/sc/source/ui/docshell/arealink.cxx b/sc/source/ui/docshell/arealink.cxx
index 554e611..18e163d 100644
--- a/sc/source/ui/docshell/arealink.cxx
+++ b/sc/source/ui/docshell/arealink.cxx
@@ -215,7 +215,7 @@ bool ScAreaLink::FindExtRange( ScRange& rRange, ScDocument* pSrcDoc, const Strin
     ScRangeName* pNames = pSrcDoc->GetRangeName();
     if (pNames)         // benannte Bereiche
     {
-        const ScRangeData* p = pNames->findByUpperName(ScGlobal::pCharClass->upper(rAreaName));
+        const ScRangeData* p = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(rAreaName));
         if (p && p->IsValidReference(rRange))
             bFound = true;
     }
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 598c1ea..dd3df95 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -4573,7 +4573,7 @@ void ScDocFunc::CreateOneName( ScRangeName& rList,
             ScRange( nX1, nY1, nTab, nX2, nY2, nTab ).Format( aContent, SCR_ABS_3D, pDoc );
 
             bool bInsert = false;
-            ScRangeData* pOld = rList.findByUpperName(ScGlobal::pCharClass->upper(aName));
+            ScRangeData* pOld = rList.findByUpperName(ScGlobal::pCharClass->uppercase(aName));
             if (pOld)
             {
                 String aOldStr;
diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx
index f1f1305..2760a39 100644
--- a/sc/source/ui/docshell/docsh4.cxx
+++ b/sc/source/ui/docshell/docsh4.cxx
@@ -2079,7 +2079,7 @@ long ScDocShell::DdeSetData( const String& rItem,
     ScRangeName* pRange = aDocument.GetRangeName();
     if( pRange )
     {
-        const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos));
+        const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->uppercase(aPos));
         if (pData)
         {
             if( pData->HasType( RT_REFAREA )
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index bddc951..7931074 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -91,7 +91,7 @@ class TabNameSearchPredicate : public unary_function<ScExternalRefCache::TableNa
 {
 public:
     explicit TabNameSearchPredicate(const OUString& rSearchName) :
-        maSearchName(ScGlobal::pCharClass->upper(rSearchName))
+        maSearchName(ScGlobal::pCharClass->uppercase(rSearchName))
     {
     }
 
@@ -518,7 +518,7 @@ const OUString* ScExternalRefCache::getRealTableName(sal_uInt16 nFileId, const O
 
     const DocItem& rDoc = itrDoc->second;
     TableNameIndexMap::const_iterator itrTabId = rDoc.maTableNameIndex.find(
-        ScGlobal::pCharClass->upper(rTabName));
+        ScGlobal::pCharClass->uppercase(rTabName));
     if (itrTabId == rDoc.maTableNameIndex.end())
     {
         // the specified table is not in cache.
@@ -539,7 +539,7 @@ const OUString* ScExternalRefCache::getRealRangeName(sal_uInt16 nFileId, const O
 
     const DocItem& rDoc = itrDoc->second;
     NamePairMap::const_iterator itr = rDoc.maRealRangeNameMap.find(
-        ScGlobal::pCharClass->upper(rRangeName));
+        ScGlobal::pCharClass->uppercase(rRangeName));
     if (itr == rDoc.maRealRangeNameMap.end())
         // range name not found.
         return NULL;
@@ -559,7 +559,7 @@ ScExternalRefCache::TokenRef ScExternalRefCache::getCellData(
 
     const DocItem& rDoc = itrDoc->second;
     TableNameIndexMap::const_iterator itrTabId = rDoc.maTableNameIndex.find(
-        ScGlobal::pCharClass->upper(rTabName));
+        ScGlobal::pCharClass->uppercase(rTabName));
     if (itrTabId == rDoc.maTableNameIndex.end())
     {
         // the specified table is not in cache.
@@ -587,7 +587,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefCache::getCellRangeData(
     DocItem& rDoc = itrDoc->second;
 
     TableNameIndexMap::iterator itrTabId = rDoc.maTableNameIndex.find(
-        ScGlobal::pCharClass->upper(rTabName));
+        ScGlobal::pCharClass->uppercase(rTabName));
     if (itrTabId == rDoc.maTableNameIndex.end())
         // the specified table is not in cache.
         return TokenArrayRef();
@@ -695,7 +695,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefCache::getRangeNameTokens(sal_uIn
 
     RangeNameMap& rMap = pDoc->maRangeNames;
     RangeNameMap::const_iterator itr = rMap.find(
-        ScGlobal::pCharClass->upper(rName));
+        ScGlobal::pCharClass->uppercase(rName));
     if (itr == rMap.end())
         return TokenArrayRef();
 
@@ -708,7 +708,7 @@ void ScExternalRefCache::setRangeNameTokens(sal_uInt16 nFileId, const OUString&
     if (!pDoc)
         return;
 
-    String aUpperName = ScGlobal::pCharClass->upper(rName);
+    String aUpperName = ScGlobal::pCharClass->uppercase(rName);
     RangeNameMap& rMap = pDoc->maRangeNames;
     rMap.insert(RangeNameMap::value_type(aUpperName, pArray));
     pDoc->maRealRangeNameMap.insert(NamePairMap::value_type(aUpperName, rName));
@@ -729,7 +729,7 @@ void ScExternalRefCache::setCellData(sal_uInt16 nFileId, const OUString& rTabNam
 
     // See if the table by this name already exists.
     TableNameIndexMap::iterator itrTabName = rDoc.maTableNameIndex.find(
-        ScGlobal::pCharClass->upper(rTabName));
+        ScGlobal::pCharClass->uppercase(rTabName));
     if (itrTabName == rDoc.maTableNameIndex.end())
         // Table not found.  Maybe the table name or the file id is wrong ???
         return;
@@ -760,7 +760,7 @@ void ScExternalRefCache::setCellRangeData(sal_uInt16 nFileId, const ScRange& rRa
     // Now, find the table position of the first table to cache.
     const String& rFirstTabName = rData.front().maTableName;
     TableNameIndexMap::iterator itrTabName = rDoc.maTableNameIndex.find(
-        ScGlobal::pCharClass->upper(rFirstTabName));
+        ScGlobal::pCharClass->uppercase(rFirstTabName));
     if (itrTabName == rDoc.maTableNameIndex.end())
     {
         // table index not found.
@@ -844,7 +844,7 @@ void ScExternalRefCache::initializeDoc(sal_uInt16 nFileId, const vector<OUString
     for (vector<OUString>::const_iterator itr = rTabNames.begin(), itrEnd = rTabNames.end();
           itr != itrEnd; ++itr)
     {
-        TableName aNameItem(ScGlobal::pCharClass->upper(*itr), *itr);
+        TableName aNameItem(ScGlobal::pCharClass->uppercase(*itr), *itr);
         aNewTabNames.push_back(aNameItem);
     }
     pDoc->maTableNames.swap(aNewTabNames);
@@ -950,7 +950,7 @@ bool ScExternalRefCache::hasCacheTable(sal_uInt16 nFileId, const OUString& rTabN
     if (!pDoc)
         return false;
 
-    String aUpperName = ScGlobal::pCharClass->upper(rTabName);
+    String aUpperName = ScGlobal::pCharClass->uppercase(rTabName);
     vector<TableName>::const_iterator itrBeg = pDoc->maTableNames.begin(), itrEnd = pDoc->maTableNames.end();
     vector<TableName>::const_iterator itr = ::std::find_if(
         itrBeg, itrEnd, TabNameSearchPredicate(aUpperName));
@@ -986,7 +986,7 @@ bool ScExternalRefCache::setCacheTableReferenced( sal_uInt16 nFileId, const OUSt
     if (pDoc)
     {
         size_t nIndex = 0;
-        String aTabNameUpper = ScGlobal::pCharClass->upper( rTabName);
+        String aTabNameUpper = ScGlobal::pCharClass->uppercase( rTabName);
         if (lcl_getTableDataIndex( pDoc->maTableNameIndex, aTabNameUpper, nIndex))
         {
             size_t nStop = ::std::min( nIndex + nSheets, pDoc->maTables.size());
@@ -1171,7 +1171,7 @@ ScExternalRefCache::TableTypeRef ScExternalRefCache::getCacheTable(sal_uInt16 nF
     DocItem& rDoc = *pDoc;
 
     size_t nIndex;
-    String aTabNameUpper = ScGlobal::pCharClass->upper(rTabName);
+    String aTabNameUpper = ScGlobal::pCharClass->uppercase(rTabName);
     if (lcl_getTableDataIndex(rDoc.maTableNameIndex, aTabNameUpper, nIndex))
     {
         // specified table found.
@@ -2006,7 +2006,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokensFromSr
     vector<ScExternalRefCache::SingleRangeData> aCacheData;
     aCacheData.reserve(nTabSpan+1);
     aCacheData.push_back(ScExternalRefCache::SingleRangeData());
-    aCacheData.back().maTableName = ScGlobal::pCharClass->upper(rTabName);
+    aCacheData.back().maTableName = ScGlobal::pCharClass->uppercase(rTabName);
 
     for (SCTAB i = 1; i < nTabSpan + 1; ++i)
     {
@@ -2016,7 +2016,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getDoubleRefTokensFromSr
             break;
 
         aCacheData.push_back(ScExternalRefCache::SingleRangeData());
-        aCacheData.back().maTableName = ScGlobal::pCharClass->upper(aTabName);
+        aCacheData.back().maTableName = ScGlobal::pCharClass->uppercase(aTabName);
     }
 
     aRange.aStart.SetTab(nTab1);
@@ -2032,7 +2032,7 @@ ScExternalRefCache::TokenArrayRef ScExternalRefManager::getRangeNameTokensFromSr
     sal_uInt16 nFileId, const ScDocument* pSrcDoc, OUString& rName)
 {
     ScRangeName* pExtNames = pSrcDoc->GetRangeName();
-    String aUpperName = ScGlobal::pCharClass->upper(rName);
+    String aUpperName = ScGlobal::pCharClass->uppercase(rName);
     const ScRangeData* pRangeData = pExtNames->findByUpperName(aUpperName);
     if (!pRangeData)
         return ScExternalRefCache::TokenArrayRef();
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index c538977..f53ded4 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -169,7 +169,7 @@ ScImportExport::ScImportExport( ScDocument* p, const String& rPos )
     ScRangeName* pRange = pDoc->GetRangeName();
     if( pRange )
     {
-        const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->upper(aPos));
+        const ScRangeData* pData = pRange->findByUpperName(ScGlobal::pCharClass->uppercase(aPos));
         if (pData)
         {
             if( pData->HasType( RT_REFAREA )
diff --git a/sc/source/ui/docshell/servobj.cxx b/sc/source/ui/docshell/servobj.cxx
index cdcf3f0..c9041ea 100644
--- a/sc/source/ui/docshell/servobj.cxx
+++ b/sc/source/ui/docshell/servobj.cxx
@@ -52,7 +52,7 @@ sal_Bool lcl_FillRangeFromName( ScRange& rRange, ScDocShell* pDocSh, const Strin
         ScRangeName* pNames = pDoc->GetRangeName();
         if (pNames)
         {
-            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(rName));
+            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(rName));
             if (pData)
             {
                 if ( pData->IsValidReference( rRange ) )
diff --git a/sc/source/ui/namedlg/namedefdlg.cxx b/sc/source/ui/namedlg/namedefdlg.cxx
index 19de631..1fad2a6 100644
--- a/sc/source/ui/namedlg/namedefdlg.cxx
+++ b/sc/source/ui/namedlg/namedefdlg.cxx
@@ -174,7 +174,7 @@ bool ScNameDefDlg::IsNameValid()
         maBtnAdd.Disable();
         return false;
     }
-    else if (pRangeName->findByUpperName(ScGlobal::pCharClass->upper(aName)))
+    else if (pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(aName)))
     {
         maFtInfo.SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor());
         maFtInfo.SetText(maErrNameInUse);
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index fe2453f..e6362fe 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -292,7 +292,7 @@ bool ScNameDlg::IsNameValid()
         maFtInfo.SetText(maErrInvalidNameStr);
         return false;
     }
-    else if (pRangeName && pRangeName->findByUpperName(ScGlobal::pCharClass->upper(aName)))
+    else if (pRangeName && pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(aName)))
     {
         maFtInfo.SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor());
         maFtInfo.SetText(maErrNameInUse);
@@ -345,7 +345,7 @@ void ScNameDlg::CalcCurTableAssign( String& aAssign, ScRangeData* pRangeData )
 void ScNameDlg::ShowOptions(const ScRangeNameLine& rLine)
 {
     ScRangeName* pRangeName = GetRangeName(rLine.aScope);
-    ScRangeData* pData = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(rLine.aName));
+    ScRangeData* pData = pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(rLine.aName));
     if (pData)
     {
         UpdateChecks(pData);
@@ -380,7 +380,7 @@ void ScNameDlg::RemovePushed()
     for (std::vector<ScRangeNameLine>::iterator itr = maEntries.begin(); itr != maEntries.end(); ++itr)
     {
         ScRangeName* pRangeName = GetRangeName(itr->aScope);
-        ScRangeData* pData = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(itr->aName));
+        ScRangeData* pData = pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(itr->aName));
         OSL_ENSURE(pData, "table and model should be in sync");
         // be safe and check for possible problems
         if (pData)
@@ -423,7 +423,7 @@ void ScNameDlg::NameModified()
     rtl::OUString aNewScope = maLbScope.GetSelectEntry();
 
     ScRangeName* pOldRangeName = GetRangeName( aOldScope );
-    ScRangeData* pData = pOldRangeName->findByUpperName( ScGlobal::pCharClass->upper(aOldName) );
+    ScRangeData* pData = pOldRangeName->findByUpperName( ScGlobal::pCharClass->uppercase(aOldName) );
     ScRangeName* pNewRangeName = GetRangeName( aNewScope );
     OSL_ENSURE(pData, "model and table should be in sync");
     // be safe and check for range data
diff --git a/sc/source/ui/namedlg/namemgrtable.cxx b/sc/source/ui/namedlg/namemgrtable.cxx
index b9164d3..2bc5189 100644
--- a/sc/source/ui/namedlg/namemgrtable.cxx
+++ b/sc/source/ui/namedlg/namemgrtable.cxx
@@ -157,7 +157,7 @@ const ScRangeData* ScRangeManagerTable::findRangeData(const ScRangeNameLine& rLi
     else
         pRangeName = mrRangeMap.find(rLine.aScope)->second;
 
-    return pRangeName->findByUpperName(ScGlobal::pCharClass->upper(rLine.aName));
+    return pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(rLine.aName));
 }
 
 
diff --git a/sc/source/ui/navipi/content.cxx b/sc/source/ui/navipi/content.cxx
index e3a49dd..c80ca02 100644
--- a/sc/source/ui/navipi/content.cxx
+++ b/sc/source/ui/navipi/content.cxx
@@ -1016,7 +1016,7 @@ bool lcl_GetRange( ScDocument* pDoc, sal_uInt16 nType, const String& rName, ScRa
         ScRangeName* pList = pDoc->GetRangeName();
         if (pList)
         {
-            const ScRangeData* p = pList->findByUpperName(ScGlobal::pCharClass->upper(rName));
+            const ScRangeData* p = pList->findByUpperName(ScGlobal::pCharClass->uppercase(rName));
             if (p && p->IsValidReference(rRange))
                 bFound = true;
         }
@@ -1026,7 +1026,7 @@ bool lcl_GetRange( ScDocument* pDoc, sal_uInt16 nType, const String& rName, ScRa
         ScDBCollection* pList = pDoc->GetDBCollection();
         if (pList)
         {
-            const ScDBData* p = pList->getNamedDBs().findByUpperName(ScGlobal::pCharClass->upper(rName));
+            const ScDBData* p = pList->getNamedDBs().findByUpperName(ScGlobal::pCharClass->uppercase(rName));
             if (p)
             {
                 SCTAB nTab;
diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx
index 722f262..4297d72 100644
--- a/sc/source/ui/unoobj/funcuno.cxx
+++ b/sc/source/ui/unoobj/funcuno.cxx
@@ -355,7 +355,7 @@ SC_IMPL_DUMMY_PROPERTY_LISTENER( ScFunctionAccess )
 sal_Bool lcl_AddFunctionToken( ScTokenArray& rArray, const rtl::OUString& rName,const ScCompiler& rCompiler )
 {
     // function names are always case-insensitive
-    String aUpper( ScGlobal::pCharClass->upper( rName ) );
+    String aUpper( ScGlobal::pCharClass->uppercase( rName ) );
 
     // same options as in ScCompiler::IsOpCode:
     // 1. built-in function name
diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx
index 60f3025..efb00e6 100644
--- a/sc/source/ui/unoobj/nameuno.cxx
+++ b/sc/source/ui/unoobj/nameuno.cxx
@@ -135,7 +135,7 @@ ScRangeData* ScNamedRangeObj::GetRangeData_Impl()
             pNames = pDocShell->GetDocument()->GetRangeName();
         if (pNames)
         {
-            pRet = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
+            pRet = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
             if (pRet)
                 pRet->ValidateTabRefs();        // adjust relative tab refs to valid tables
         }
@@ -178,7 +178,7 @@ void ScNamedRangeObj::Modify_Impl( const String* pNewName, const ScTokenArray* p
     if (!pNames)
         return;
 
-    const ScRangeData* pOld = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
+    const ScRangeData* pOld = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
     if (!pOld)
         return;
 
@@ -554,7 +554,7 @@ void SAL_CALL ScNamedRangesObj::addNewByName( const rtl::OUString& aName,
     {
         ScDocument* pDoc = pDocShell->GetDocument();
         ScRangeName* pNames = GetRangeName_Impl();
-        if (pNames && !pNames->findByUpperName(ScGlobal::pCharClass->upper(aName)))
+        if (pNames && !pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName)))
         {
             ScRangeName* pNewRanges = new ScRangeName( *pNames );
             // GRAM_PODF_A1 for API compatibility.
@@ -615,7 +615,7 @@ void SAL_CALL ScNamedRangesObj::removeByName( const rtl::OUString& aName )
         ScRangeName* pNames = GetRangeName_Impl();
         if (pNames)
         {
-            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
+            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
             if (pData && lcl_UserVisibleName(*pData))
             {
                 ScRangeName* pNewRanges = new ScRangeName(*pNames);
@@ -777,7 +777,7 @@ sal_Bool SAL_CALL ScNamedRangesObj::hasByName( const rtl::OUString& aName )
         ScRangeName* pNames = GetRangeName_Impl();
         if (pNames)
         {
-            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->upper(aName));
+            const ScRangeData* pData = pNames->findByUpperName(ScGlobal::pCharClass->uppercase(aName));
             if (pData && lcl_UserVisibleName(*pData))
                 return sal_True;
         }
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index 21500db..114ac2e 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -1185,7 +1185,7 @@ bool getScRangeListForAddress( const rtl::OUString& sName, ScDocShell* pDocSh, S
                 ScRangeName* pRangeName = pDoc->GetRangeName(nCurTab);
                 if (pRangeName)
                 {
-                    bLocalName = pRangeName->findByUpperName(ScGlobal::pCharClass->upper(sAddress)) != NULL;
+                    bLocalName = pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(sAddress)) != NULL;
                     // TODO: Handle local names correctly.
                     (void)bLocalName;
                 }
diff --git a/sc/source/ui/view/viewfunc.cxx b/sc/source/ui/view/viewfunc.cxx
index 9bd0d9e..38d7999 100644
--- a/sc/source/ui/view/viewfunc.cxx
+++ b/sc/source/ui/view/viewfunc.cxx
@@ -2926,7 +2926,7 @@ sal_Bool ScViewFunc::InsertName( const String& rName, const String& rSymbol,
         pDoc->CompileNameFormula( sal_True );   // CreateFormulaString
 
         // input available yet? Then remove beforehand (=change)
-        ScRangeData* pData = pList->findByUpperName(ScGlobal::pCharClass->upper(rName));
+        ScRangeData* pData = pList->findByUpperName(ScGlobal::pCharClass->uppercase(rName));
         if (pData)
         {                                   // take old Index
             pNewEntry->SetIndex(pData->GetIndex());
diff --git a/sfx2/source/appl/linkmgr2.cxx b/sfx2/source/appl/linkmgr2.cxx
index 3ee11cc..2a2fb43 100644
--- a/sfx2/source/appl/linkmgr2.cxx
+++ b/sfx2/source/appl/linkmgr2.cxx
@@ -590,8 +590,7 @@ sal_Bool SvxInternalLink::Connect( sfx2::SvBaseLink* pLink )
                 nUpdateMode = pItem->GetValue();
         }
 
-        String sNmURL( lcl_DDE_RelToAbs( sTopic, sReferer ) );
-        aCC.toLower( sNmURL );
+        String sNmURL(aCC.lowercase(lcl_DDE_RelToAbs(sTopic, sReferer)));
 
         if ( !pShell )
         {
@@ -609,7 +608,7 @@ sal_Bool SvxInternalLink::Connect( sfx2::SvBaseLink* pLink )
             }
 
 
-            aCC.toLower( sTmp );
+            sTmp = aCC.lowercase( sTmp );
             if( sTmp == sNmURL )  // we want these
             {
                 pFndShell = pShell;
diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index 580603c..51d3fec 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -140,7 +140,7 @@ static void CreateFilterArr()
 //----------------------------------------------------------------
 inline String ToUpper_Impl( const String &rStr )
 {
-    return SvtSysLocale().GetCharClass().upper( rStr );
+    return SvtSysLocale().GetCharClass().uppercase( rStr );
 }
 
 //----------------------------------------------------------------
diff --git a/sot/source/sdstor/stgelem.cxx b/sot/source/sdstor/stgelem.cxx
index bb163e6..ff73a59 100644
--- a/sot/source/sdstor/stgelem.cxx
+++ b/sot/source/sdstor/stgelem.cxx
@@ -247,10 +247,9 @@ static String ToUpperUnicode( const String & rStr )
     static rtl::OUString aEN(RTL_CONSTASCII_USTRINGPARAM("en"));
     static rtl::OUString aUS(RTL_CONSTASCII_USTRINGPARAM("US"));
     static CharClass aCC( com::sun::star::lang::Locale( aEN, aUS, rtl::OUString() ) );
-    return aCC.toUpper( rStr, 0, rStr.Len() );
+    return aCC.uppercase( rStr );
 }
 
-
 sal_Bool StgEntry::SetName( const String& rName )
 {
     // I don't know the locale, so en_US is hopefully fine
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
index 6e1cde0..ef76fac 100644
--- a/svl/source/numbers/zforfind.cxx
+++ b/svl/source/numbers/zforfind.cxx
@@ -668,7 +668,7 @@ bool ImpSvNumberInputScan::GetCurrency( const String& rString, xub_StrLen& nPos,
         {   // if no format specified the currency of the initialized formatter
             LanguageType eLang = (pFormat ? pFormat->GetLanguage() :
                 pFormatter->GetLanguage());
-            aUpperCurrSymbol = pFormatter->GetCharClass()->upper(
+            aUpperCurrSymbol = pFormatter->GetCharClass()->uppercase(
                 SvNumberFormatter::GetCurrencyEntry( eLang ).GetSymbol() );
         }
         if ( StringContains( aUpperCurrSymbol, rString, nPos ) )
@@ -683,7 +683,7 @@ bool ImpSvNumberInputScan::GetCurrency( const String& rString, xub_StrLen& nPos,
             {
                 if ( aSymbol.Len() <= rString.Len() - nPos )
                 {
-                    pFormatter->GetCharClass()->toUpper( aSymbol );
+                    aSymbol = pFormatter->GetCharClass()->uppercase(aSymbol);
                     if ( StringContains( aSymbol, rString, nPos ) )
                     {
                         nPos = nPos + aSymbol.Len();
@@ -719,13 +719,13 @@ bool ImpSvNumberInputScan::GetTimeAmPm( const String& rString, xub_StrLen& nPos
     {
         const CharClass* pChr = pFormatter->GetCharClass();
         const LocaleDataWrapper* pLoc = pFormatter->GetLocaleData();
-        if ( StringContains( pChr->upper( pLoc->getTimeAM() ), rString, nPos ) )
+        if ( StringContains( pChr->uppercase( pLoc->getTimeAM() ), rString, nPos ) )
         {
             nAmPm = 1;
             nPos = nPos + pLoc->getTimeAM().Len();
             return true;
         }
-        else if ( StringContains( pChr->upper( pLoc->getTimePM() ), rString, nPos ) )
+        else if ( StringContains( pChr->uppercase( pLoc->getTimePM() ), rString, nPos ) )
         {
             nAmPm = -1;
             nPos = nPos + pLoc->getTimePM().Len();
@@ -2456,8 +2456,8 @@ void ImpSvNumberInputScan::InitText()
     pUpperAbbrevMonthText = new String[nElems];
     for ( j=0; j<nElems; j++ )
     {
-        pUpperMonthText[j] = pChrCls->upper( xElems[j].FullName );
-        pUpperAbbrevMonthText[j] = pChrCls->upper( xElems[j].AbbrevName );
+        pUpperMonthText[j] = pChrCls->uppercase( xElems[j].FullName );
+        pUpperAbbrevMonthText[j] = pChrCls->uppercase( xElems[j].AbbrevName );
     }
 
     delete [] pUpperGenitiveMonthText;
@@ -2469,8 +2469,8 @@ void ImpSvNumberInputScan::InitText()
     pUpperGenitiveAbbrevMonthText = new String[nElems];
     for ( j=0; j<nElems; j++ )
     {
-        pUpperGenitiveMonthText[j] = pChrCls->upper( xElems[j].FullName );
-        pUpperGenitiveAbbrevMonthText[j] = pChrCls->upper( xElems[j].AbbrevName );
+        pUpperGenitiveMonthText[j] = pChrCls->uppercase( xElems[j].FullName );
+        pUpperGenitiveAbbrevMonthText[j] = pChrCls->uppercase( xElems[j].AbbrevName );
         if (!bScanGenitiveMonths &&
                 (pUpperGenitiveMonthText[j] != pUpperMonthText[j] ||
                  pUpperGenitiveAbbrevMonthText[j] != pUpperAbbrevMonthText[j]))
@@ -2486,8 +2486,8 @@ void ImpSvNumberInputScan::InitText()
     pUpperPartitiveAbbrevMonthText = new String[nElems];
     for ( j=0; j<nElems; j++ )
     {
-        pUpperPartitiveMonthText[j] = pChrCls->upper( xElems[j].FullName );
-        pUpperPartitiveAbbrevMonthText[j] = pChrCls->upper( xElems[j].AbbrevName );
+        pUpperPartitiveMonthText[j] = pChrCls->uppercase( xElems[j].FullName );
+        pUpperPartitiveAbbrevMonthText[j] = pChrCls->uppercase( xElems[j].AbbrevName );
         if (!bScanPartitiveMonths &&
                 (pUpperPartitiveMonthText[j] != pUpperGenitiveMonthText[j] ||
                  pUpperPartitiveAbbrevMonthText[j] != pUpperGenitiveAbbrevMonthText[j]))
@@ -2502,8 +2502,8 @@ void ImpSvNumberInputScan::InitText()
     pUpperAbbrevDayText = new String[nElems];
     for ( j=0; j<nElems; j++ )
     {
-        pUpperDayText[j] = pChrCls->upper( xElems[j].FullName );
-        pUpperAbbrevDayText[j] = pChrCls->upper( xElems[j].AbbrevName );
+        pUpperDayText[j] = pChrCls->uppercase( xElems[j].FullName );
+        pUpperAbbrevDayText[j] = pChrCls->uppercase( xElems[j].AbbrevName );
     }
 
     bTextInitialized = true;
@@ -2568,7 +2568,7 @@ bool ImpSvNumberInputScan::IsNumberFormat(
     else
     {
         // NoMoreUpperNeeded, all comparisons on UpperCase
-        aString = pFormatter->GetCharClass()->upper( rString );
+        aString = pFormatter->GetCharClass()->uppercase( rString );
         // convert native number to ASCII if necessary
         TransformInput( aString );
         res = IsNumberFormatMain( aString, fOutNumber, pFormat );
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index b248413..908b437 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -1637,7 +1637,7 @@ bool SvNumberFormatter::GetPreviewStringGuess( const String& sFormatString,
     eLnge = ActLnge;
     bool bEnglish = (eLnge == LANGUAGE_ENGLISH_US);
 
-    String aFormatStringUpper( pCharClass->upper( sFormatString ) );
+    String aFormatStringUpper( pCharClass->uppercase( sFormatString ) );
     sal_uInt32 nCLOffset = ImpGenerateCL( eLnge );
     sal_uInt32 nKey = ImpIsEntry( aFormatStringUpper, nCLOffset, eLnge );
     if ( nKey != NUMBERFORMAT_ENTRY_NOT_FOUND )
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 13c4ab9..d796980 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -1404,8 +1404,8 @@ short SvNumberformat::ImpNextSymbol(String& rString,
                     {
                         const String aNatNum(RTL_CONSTASCII_USTRINGPARAM("NATNUM"));
                         const String aDBNum(RTL_CONSTASCII_USTRINGPARAM("DBNUM"));
-                        String aUpperNatNum( rChrCls().toUpper( rString, nPos-1, aNatNum.Len() ) );
-                        String aUpperDBNum( rChrCls().toUpper( rString, nPos-1, aDBNum.Len() ) );
+                        String aUpperNatNum( rChrCls().uppercase( rString, nPos-1, aNatNum.Len() ) );
+                        String aUpperDBNum( rChrCls().uppercase( rString, nPos-1, aDBNum.Len() ) );
                         sal_Unicode cUpper = aUpperNatNum.GetChar(0);
                         sal_Int32 nNatNumNum = rString.Copy( nPos-1+aNatNum.Len() ).ToInt32();
                         sal_Unicode cDBNum = rString.GetChar( nPos-1+aDBNum.Len() );
@@ -1466,7 +1466,7 @@ short SvNumberformat::ImpNextSymbol(String& rString,
                 }
                 else
                 {
-                    sal_Unicode cUpper = rChrCls().toUpper( rString, nPos-1, 1 ).GetChar(0);
+                    sal_Unicode cUpper = rChrCls().uppercase(rString, nPos-1, 1)[0];
                     if (cUpper == rKeywords[NF_KEY_H].GetChar(0)    ||  // H
                         cUpper == rKeywords[NF_KEY_MI].GetChar(0)   ||  // M
                         cUpper == rKeywords[NF_KEY_S].GetChar(0)    )   // S
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index 3c7074a..e1f1ac1 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -136,7 +136,7 @@ void ImpSvNumberformatScan::InitSpecialKeyword( NfKeywordIndex eIdx ) const
     {
         case NF_KEY_TRUE :
             ((ImpSvNumberformatScan*)this)->sKeyword[NF_KEY_TRUE] =
-                pFormatter->GetCharClass()->upper(
+                pFormatter->GetCharClass()->uppercase(
                 pFormatter->GetLocaleData()->getTrueWord() );
             if ( !sKeyword[NF_KEY_TRUE].Len() )
             {
@@ -146,7 +146,7 @@ void ImpSvNumberformatScan::InitSpecialKeyword( NfKeywordIndex eIdx ) const
         break;
         case NF_KEY_FALSE :
             ((ImpSvNumberformatScan*)this)->sKeyword[NF_KEY_FALSE] =
-                pFormatter->GetCharClass()->upper(
+                pFormatter->GetCharClass()->uppercase(
                 pFormatter->GetLocaleData()->getFalseWord() );
             if ( !sKeyword[NF_KEY_FALSE].Len() )
             {
@@ -165,7 +165,7 @@ void ImpSvNumberformatScan::InitCompatCur() const
     // currency symbol for old style ("automatic") compatibility format codes
     pFormatter->GetCompatibilityCurrency( pThis->sCurSymbol, pThis->sCurAbbrev );
     // currency symbol upper case
-    pThis->sCurString = pFormatter->GetCharClass()->upper( sCurSymbol );
+    pThis->sCurString = pFormatter->GetCharClass()->uppercase( sCurSymbol );
     bCompatCurNeedInit = false;
 }
 
@@ -235,7 +235,7 @@ void ImpSvNumberformatScan::SetDependentKeywords()
 
     i18n::NumberFormatCode aFormat = aNumberFormatCode.getFormatCode( NF_NUMBER_STANDARD );
     sNameStandardFormat = lcl_extractStandardGeneralName( aFormat.Code);
-    sKeyword[NF_KEY_GENERAL] = pCharClass->upper( sNameStandardFormat );
+    sKeyword[NF_KEY_GENERAL] = pCharClass->uppercase( sNameStandardFormat );
 
     // preset new calendar keywords
     sKeyword[NF_KEY_AAA].AssignAscii( RTL_CONSTASCII_STRINGPARAM(   "AAA" ) );
@@ -462,7 +462,7 @@ void ImpSvNumberformatScan::ChangeStandardPrec(sal_uInt16 nPrec)
 
 Color* ImpSvNumberformatScan::GetColor(String& sStr)
 {
-    String sString = pFormatter->GetCharClass()->upper(sStr);
+    String sString = pFormatter->GetCharClass()->uppercase(sStr);
     const NfKeywordTable & rKeyword = GetKeywords();
     size_t i = 0;
     while (i < NF_MAX_DEFAULT_COLORS &&
@@ -528,7 +528,7 @@ Color* ImpSvNumberformatScan::GetColor(String& sStr)
 
 short ImpSvNumberformatScan::GetKeyWord( const String& sSymbol, xub_StrLen nPos )
 {
-    String sString = pFormatter->GetCharClass()->toUpper( sSymbol, nPos, sSymbol.Len() - nPos );
+    String sString = pFormatter->GetCharClass()->uppercase( sSymbol, nPos, sSymbol.Len() - nPos );
     const NfKeywordTable & rKeyword = GetKeywords();
     // #77026# for the Xcl perverts: the GENERAL keyword is recognized anywhere
     if ( sString.Search( rKeyword[NF_KEY_GENERAL] ) == 0 )
@@ -647,8 +647,7 @@ short ImpSvNumberformatScan::Next_Symbol( const String& rStr,
                         nPos-1 + sCurString.Len() <= rStr.Len() &&
                         !(nPos > 1 && rStr.GetChar( nPos-2 ) == '[') )
                 {
-                    String aTest( rStr.Copy( nPos-1, sCurString.Len() ) );
-                    pChrCls->toUpper( aTest );
+                    String aTest = pChrCls->uppercase( rStr.Copy( nPos-1, sCurString.Len() ) );
                     if ( aTest == sCurString )
                     {
                         sSymbol = rStr.Copy( --nPos, sCurString.Len() );
@@ -737,8 +736,7 @@ short ImpSvNumberformatScan::Next_Symbol( const String& rStr,
                                     nPos-1 + sCurString.Len() <= rStr.Len() &&
                                     sCurString.Search( sKeyword[nTmpType] ) == 0 )
                                 {
-                                    String aTest( rStr.Copy( nPos-1, sCurString.Len() ) );
-                                    pChrCls->toUpper( aTest );
+                                    String aTest = pChrCls->uppercase( rStr.Copy( nPos-1, sCurString.Len() ) );
                                     if ( aTest == sCurString )
                                         bCurrency = true;
                                 }
@@ -878,7 +876,7 @@ xub_StrLen ImpSvNumberformatScan::Symbol_Division(const String& rString)
 {
     nCurrPos = STRING_NOTFOUND;
                                                     // Ist Waehrung im Spiel?
-    String sString = pFormatter->GetCharClass()->upper(rString);
+    String sString = pFormatter->GetCharClass()->uppercase(rString);
     xub_StrLen nCPos = 0;
     while (nCPos != STRING_NOTFOUND)
     {
@@ -1463,7 +1461,7 @@ xub_StrLen ImpSvNumberformatScan::FinalScan( String& rString )

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list