diff options
author | Eike Rathke <erack@redhat.com> | 2021-07-29 17:49:08 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2021-07-29 23:39:47 +0200 |
commit | ac80ec817eb07c77a51bc0729985a473c734182e (patch) | |
tree | f8ff40e86983752770117ef624d4c127cbb87cc4 | |
parent | 1009cb94ba8d5adbe0b37f05c5eecf43d6cab60c (diff) |
Make duplicate generated numbering identifiers unique, tdf#143526 follow-up
Change-Id: I28366c4e868e97b70e016b056b73b88b4cc8b812
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119677
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
-rw-r--r-- | i18npool/qa/cppunit/test_defaultnumberingprovider.cxx | 4 | ||||
-rw-r--r-- | i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx | 17 |
2 files changed, 17 insertions, 4 deletions
diff --git a/i18npool/qa/cppunit/test_defaultnumberingprovider.cxx b/i18npool/qa/cppunit/test_defaultnumberingprovider.cxx index 4770abb93808..f7382ede1a9f 100644 --- a/i18npool/qa/cppunit/test_defaultnumberingprovider.cxx +++ b/i18npool/qa/cppunit/test_defaultnumberingprovider.cxx @@ -57,10 +57,6 @@ CPPUNIT_TEST_FIXTURE(I18npoolDefaultnumberingproviderTest, testNumberingIdentifi // FIXME: duplicate of NUMBER_UPPER_ZH_TW case css::style::NumberingType::NUMBER_INDIC_DEVANAGARI: // FIXME: duplicate of NUMBER_EAST_ARABIC_INDIC - case css::style::NumberingType::NUMBER_DIGITAL_KO: - // FIXME: duplicate of NUMBER_HANGUL_KO - case css::style::NumberingType::NUMBER_DIGITAL2_KO: - // FIXME: duplicate of NUMBER_LOWER_ZH break; default: if (aID.isEmpty() || !aMap.insert(std::pair(aID, i)).second) diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx index b7ee64cac5eb..a5a604903ad6 100644 --- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx +++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx @@ -1128,6 +1128,23 @@ OUString DefaultNumberingProvider::makeNumberingIdentifier(sal_Int16 index) result.append(", "); } result.append("..."); + // Make known duplicate generated identifiers unique. + // Note this alone works only for newly added numberings, if duplicates + // are in the wild further handling is needed when loading documents + // and asking for numberings. + switch (aSupportedTypes[index].nType) + { + case css::style::NumberingType::NUMBER_DIGITAL_KO: + // Duplicate of NUMBER_HANGUL_KO. + result.append(" (ko-x-digital)"); + break; + case css::style::NumberingType::NUMBER_DIGITAL2_KO: + // Duplicate of NUMBER_LOWER_ZH. + result.append(" (ko)"); + break; + default: + ; // nothing + } return result.makeStringAndClear(); } } |