[Libreoffice-commits] .: 2 commits - i18npool/prj i18npool/qa i18npool/source i18npool/util

Caolán McNamara caolan at kemper.freedesktop.org
Mon Mar 21 13:17:30 PDT 2011


 i18npool/prj/build.lst                              |    2 
 i18npool/qa/cppunit/makefile.mk                     |   19 ++--
 i18npool/source/breakiterator/breakiteratorImpl.cxx |   95 +++++++++-----------
 i18npool/util/makefile.mk                           |    8 +
 4 files changed, 68 insertions(+), 56 deletions(-)

New commits:
commit f8cccd345883a5bd3a2a313d16c714fe2f45509a
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Mar 21 20:16:50 2011 +0000

    fix catastrophically wrong merge

diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx
index d5f1999..601acef 100644
--- a/i18npool/source/breakiterator/breakiteratorImpl.cxx
+++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx
@@ -443,39 +443,49 @@ sal_Int16 SAL_CALL BreakIteratorImpl::getWordType( const OUString& /*Text*/,
         return 0;
 }
 
-typedef struct {
-    UBlockCode from;
-    UBlockCode to;
-    sal_Int16 script;
-} UBlock2Script;
-
-// for a list of the UBLOCK_... values see:
-// http://icu-project.org/apiref/icu4c/uchar_8h.html
-// where enum UBlockCode is defined.
-// See also http://www.unicode.org/charts/ for general reference
-static UBlock2Script scriptList[] = {
-    {UBLOCK_NO_BLOCK, UBLOCK_NO_BLOCK, ScriptType::WEAK},
-    {UBLOCK_BASIC_LATIN, UBLOCK_ARMENIAN, ScriptType::LATIN},
-    {UBLOCK_HEBREW, UBLOCK_MYANMAR, ScriptType::COMPLEX},
-    {UBLOCK_GEORGIAN, UBLOCK_GEORGIAN, ScriptType::LATIN},
-    {UBLOCK_HANGUL_JAMO, UBLOCK_HANGUL_JAMO, ScriptType::ASIAN},
-    {UBLOCK_ETHIOPIC, UBLOCK_ETHIOPIC, ScriptType::COMPLEX},
-    {UBLOCK_CHEROKEE, UBLOCK_RUNIC, ScriptType::LATIN},
-    {UBLOCK_KHMER, UBLOCK_MONGOLIAN, ScriptType::COMPLEX},
-    {UBLOCK_LATIN_EXTENDED_ADDITIONAL, UBLOCK_GREEK_EXTENDED, ScriptType::LATIN},
-    {UBLOCK_GENERAL_PUNCTUATION, UBLOCK_GENERAL_PUNCTUATION, ScriptType::LATIN},
-    {UBLOCK_CJK_RADICALS_SUPPLEMENT, UBLOCK_HANGUL_SYLLABLES, ScriptType::ASIAN},
-    {UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS, ScriptType::ASIAN},
-    {UBLOCK_ARABIC_PRESENTATION_FORMS_A, UBLOCK_ARABIC_PRESENTATION_FORMS_A, ScriptType::COMPLEX},
-    {UBLOCK_CJK_COMPATIBILITY_FORMS, UBLOCK_CJK_COMPATIBILITY_FORMS, ScriptType::ASIAN},
-    {UBLOCK_ARABIC_PRESENTATION_FORMS_B, UBLOCK_ARABIC_PRESENTATION_FORMS_B, ScriptType::COMPLEX},
-    {UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS, ScriptType::ASIAN},
-    {UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B, UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT, ScriptType::ASIAN},
-    {UBLOCK_CJK_STROKES, UBLOCK_CJK_STROKES, ScriptType::ASIAN},
-    {UBLOCK_LATIN_EXTENDED_C, UBLOCK_LATIN_EXTENDED_D, ScriptType::LATIN}
-};
-
-#define scriptListCount SAL_N_ELEMENTS(scriptList)
+static sal_Int16 scriptTypes[] = {
+    ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX,
+    ScriptType::ASIAN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::LATIN,
+// 15
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN, ScriptType::COMPLEX,
+    ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
+// 30
+    ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::LATIN, ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+// 45
+    ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN,
+    ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+// 60
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN, ScriptType::ASIAN,
+// 75
+    ScriptType::COMPLEX, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::LATIN, ScriptType::LATIN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+// 90
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK, ScriptType::COMPLEX,
+// 105
+    ScriptType::ASIAN, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::ASIAN,
+// 120
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::WEAK, ScriptType::WEAK,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+// 135
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX, ScriptType::COMPLEX,
+    ScriptType::COMPLEX,
+    ScriptType::WEAK};
+
+#define scriptListCount SAL_N_ELEMENTS(scriptTypes)
 
 sal_Int16  BreakIteratorImpl::getScriptClass(sal_uInt32 currentChar)
 {
@@ -488,21 +498,10 @@ sal_Int16  BreakIteratorImpl::getScriptClass(sal_uInt32 currentChar)
             int32_t script = u_getIntPropertyValue(currentChar, UCHAR_SCRIPT);
             if (script < 0)
                 nRet = ScriptType::WEAK;
-            // workaround for Coptic
-            else if ( 0x2C80 <= currentChar && 0x2CE3 >= currentChar)
-                nRet = ScriptType::LATIN; 
-            // work-around for ligatures (see http://www.unicode.org/charts/PDF/UFB00.pdf)
-            else if ((0xFB00 <= currentChar && currentChar <= 0xFB06) || 
-                     (0xFB13 <= currentChar && currentChar <= 0xFB17))
-                nRet = ScriptType::LATIN; 
-            else {
-                UBlockCode block=ublock_getCode(currentChar);
-                sal_uInt16 i;
-                for ( i = 0; i < scriptListCount; i++) {
-                    if (block <= scriptList[i].to) break;
-                }
-                nRet=(i < scriptListCount && block >= scriptList[i].from) ? scriptList[i].script : ScriptType::WEAK;
-            }
+            else if (static_cast<size_t>(script) >= SAL_N_ELEMENTS(scriptTypes))
+                nRet = ScriptType::COMPLEX;         // anything new is going to be pretty wild
+            else
+                nRet = scriptTypes[script];
         }
         return nRet;
 }
commit 7f831c8f723017a38a872a0a70aef9c83bb6f500
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Mar 21 20:16:13 2011 +0000

    update regression tests for new component registration

diff --git a/i18npool/prj/build.lst b/i18npool/prj/build.lst
index 4e4dd4a..9e1b5c8 100644
--- a/i18npool/prj/build.lst
+++ b/i18npool/prj/build.lst
@@ -24,4 +24,4 @@ inp  i18npool\source\textconversion\data        nmake   -   all inp_textconv_dic
 inp  i18npool\source\search                     nmake   -   all inp_search inp_inc NULL
 inp  i18npool\source\ordinalsuffix              nmake   -   all inp_ordinalsuffix NULL
 inp  i18npool\util                              nmake   -   all inp_util inp_brkit inp_dict inp_chclass inp_translit inp_cal inp_dnum inp_natnum inp_localedata inp_locdata_data inp_numformat inp_rserv inp_index inp_index_data inp_collator inp_collator_data inp_inputchecker inp_textconversion inp_textconv_dict inp_search inp_isolang inp_paper inp_ordinalsuffix NULL
-#FIXME (needs update for new component registration): inp  i18npool\qa\cppunit                        nmake   -   all inp_qa_cppunit inp_util NULL
+inp  i18npool\qa\cppunit                        nmake   -   all inp_qa_cppunit inp_util NULL
diff --git a/i18npool/qa/cppunit/makefile.mk b/i18npool/qa/cppunit/makefile.mk
index b228d38..2f0eecb 100644
--- a/i18npool/qa/cppunit/makefile.mk
+++ b/i18npool/qa/cppunit/makefile.mk
@@ -31,6 +31,8 @@ TARGET=qa_cppunit
 
 ENABLE_EXCEPTIONS=TRUE
 
+my_components = qa_i18npool
+
 # --- Settings -----------------------------------------------------
 
 .INCLUDE :  settings.mk
@@ -83,10 +85,17 @@ $(MISC)/$(TARGET)/udkapi.rdb .ERRREMOVE : $(SOLARBINDIR)$/udkapi.rdb
     $(GNUCOPY) $? $@
 
 #Make a services.rdb with the services we know we need to get up and running
-$(MISC)/$(TARGET)/services.rdb .ERRREMOVE : $(MISC)/$(TARGET)/udkapi.rdb makefile.mk
+$(MISC)/$(TARGET)/services.rdb .ERRREMOVE: $(SOLARENV)/bin/packcomponents.xslt \
+        $(MISC)/$(TARGET)/services.input \
+        $(my_components:^"$(MISC)/":+".component")
+    $(XSLTPROC) --nonet --stringparam prefix $(PWD)/$(MISC)/ -o $@ \
+        $(SOLARENV)/bin/packcomponents.xslt $(MISC)/$(TARGET)/services.input
+
+$(MISC)/$(TARGET)/services.input:
     $(MKDIRHIER) $(@:d)
-    $(REGCOMP) -register -br $(MISC)/$(TARGET)/udkapi.rdb -r $@ -wop \
-        -c $(DLLDEST)/i18npool.uno$(DLLPOST)
+    echo \
+        '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \
+        > $@
 
 test .PHONY: $(SHL1TARGETN) $(MISC)/$(TARGET)/services.rdb $(MISC)$/$(TARGET)$/types.rdb $(MISC)/$(TARGET)/udkapi.rdb
     @echo ----------------------------------------------------------
@@ -95,6 +104,4 @@ test .PHONY: $(SHL1TARGETN) $(MISC)/$(TARGET)/services.rdb $(MISC)$/$(TARGET)$/t
     $(CPPUNITTESTER) $(SHL1TARGETN) -headless -invisible \
         -env:UNO_SERVICES=$(my_file)$(PWD)/$(MISC)/$(TARGET)/services.rdb \
         -env:UNO_TYPES="$(my_file)$(PWD)/$(MISC)/$(TARGET)/types.rdb $(my_file)$(PWD)/$(MISC)/$(TARGET)/udkapi.rdb" \
-        -env:OOO_BASE_DIR="$(my_file)$(PWD)/$(MISC)/$(TARGET)" \
-        -env:BRAND_BASE_DIR="$(my_file)$(PWD)/$(MISC)/$(TARGET)" \
-        -env:UNO_USER_PACKAGES_CACHE="$(my_file)$(PWD)/$(MISC)/$(TARGET)"
+        -env:OOO_INBUILD_SHAREDLIB_DIR="$(my_file)$(PWD)/$(DLLDEST)"
diff --git a/i18npool/util/makefile.mk b/i18npool/util/makefile.mk
index 8c9f1a8..bbaecb5 100644
--- a/i18npool/util/makefile.mk
+++ b/i18npool/util/makefile.mk
@@ -80,10 +80,16 @@ SHL1STDLIBS= \
 
 .INCLUDE :	target.mk
 
-ALLTAR : $(MISC)/i18npool.component
+ALLTAR : $(MISC)/i18npool.component $(MISC)/qa_i18npool.component
 
 $(MISC)/i18npool.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
         i18npool.component
     $(XSLTPROC) --nonet --stringparam uri \
         '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
         $(SOLARENV)/bin/createcomponent.xslt i18npool.component
+
+$(MISC)/qa_i18npool.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+        i18npool.component
+    $(XSLTPROC) --nonet --stringparam uri \
+        '$(COMPONENTPREFIX_INBUILD_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+        $(SOLARENV)/bin/createcomponent.xslt i18npool.component


More information about the Libreoffice-commits mailing list