sw/qa/extras/ww8export/data/arabic-zero-numbering.doc |binary
 sw/qa/extras/ww8export/ww8export3.cxx                 |   13 +++++++++++++
 sw/source/filter/ww8/wrtw8num.cxx                     |    4 ++++
 sw/source/filter/ww8/ww8par3.cxx                      |    4 ++++
 4 files changed, 21 insertions(+)

New commits:
commit a8a5fc175a8af2bf3750497d7ebe2c8ea9176981
Author:     Miklos Vajna <vmik...@collabora.com>
AuthorDate: Wed Mar 4 11:22:09 2020 +0100
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Wed Mar 4 12:31:35 2020 +0100

    sw padded numbering: add DOC filter
    
    [MS-OSHARED] 2.2.1.3 MSONFC says msonfcArabicLZ / 0x16 should be used
    for this.
    
    Change-Id: I6bdf460d77acabf54cecc2ec2d2bca91bc814518
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89951
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>
    Tested-by: Jenkins

diff --git a/sw/qa/extras/ww8export/data/arabic-zero-numbering.doc 
b/sw/qa/extras/ww8export/data/arabic-zero-numbering.doc
new file mode 100644
index 000000000000..c198c4aa44d0
Binary files /dev/null and 
b/sw/qa/extras/ww8export/data/arabic-zero-numbering.doc differ
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx 
b/sw/qa/extras/ww8export/ww8export3.cxx
index af21711d0136..5900892cadf6 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -52,6 +52,19 @@ DECLARE_WW8EXPORT_TEST(testTdf37778_readonlySection, 
"tdf37778_readonlySection.d
     CPPUNIT_ASSERT(drawing::FillStyle_NONE != 
getProperty<drawing::FillStyle>(xStyle, "FillStyle"));
 }
 
+DECLARE_ODFEXPORT_TEST(testArabicZeroNumbering, "arabic-zero-numbering.doc")
+{
+    auto xNumberingRules
+        = 
getProperty<uno::Reference<container::XIndexAccess>>(getParagraph(1), 
"NumberingRules");
+    comphelper::SequenceAsHashMap aMap(xNumberingRules->getByIndex(0));
+    // Without the accompanying fix in place, this test would have failed with:
+    // - Expected: 64
+    // - Actual  : 4
+    // i.e. numbering type was ARABIC, not ARABIC_ZERO.
+    
CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(style::NumberingType::ARABIC_ZERO),
+                         aMap["NumberingType"].get<sal_uInt16>());
+}
+
 DECLARE_WW8EXPORT_TEST(testTdf122429_header, "tdf122429_header.doc")
 {
     uno::Reference<container::XNameAccess> pageStyles = 
getStyles("PageStyles");
diff --git a/sw/source/filter/ww8/wrtw8num.cxx 
b/sw/source/filter/ww8/wrtw8num.cxx
index 21e3b96e1559..49e2eb8f4bc5 100644
--- a/sw/source/filter/ww8/wrtw8num.cxx
+++ b/sw/source/filter/ww8/wrtw8num.cxx
@@ -290,6 +290,10 @@ static sal_uInt8 GetLevelNFC(  sal_uInt16 eNumType, const 
SfxItemSet *pOutSet)
     case style::NumberingType::NUMBER_HANGUL_KO: nRet = 41; break;
     case style::NumberingType::NUMBER_UPPER_KO: nRet = 44; break;
     case SVX_NUM_NUMBER_NONE:           nRet = 0xff;    break;
+    case SVX_NUM_ARABIC_ZERO:
+        // 0x16, msonfcArabicLZ
+        nRet = 22;
+        break;
     }
     return nRet;
 }
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index d95fe07d4f80..118764b4d73d 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -763,6 +763,10 @@ bool WW8ListManager::ReadLVL(SwNumFormat& rNumFormat, 
std::unique_ptr<SfxItemSet
             // actually: ORDINAL
             nType = SVX_NUM_ARABIC;
             break;
+        case 22:
+            // 0x16, msonfcArabicLZ
+            nType = SVX_NUM_ARABIC_ZERO;
+            break;
         case 23:
             nType = SVX_NUM_CHAR_SPECIAL;
             //For i120928,type info
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to