From c3c29d31d77ff93aa50634cfd51c62d12dc0f6ec Mon Sep 17 00:00:00 2001 From: Jonathan Clark Date: Thu, 26 Sep 2024 02:59:26 -0600 Subject: [PATCH] tdf#140767 Implemented Syriac justification This change extends kashida justification to Syriac, using custom insertion rules. Change-Id: I7508d2c32e95abb12a098e989c7153828ba81c87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173990 Tested-by: Jenkins Reviewed-by: Jonathan Clark --- i18nutil/qa/cppunit/test_kashida.cxx | 45 +++++++++- i18nutil/source/utility/kashida.cxx | 88 ++++++++++++++++++-- sw/source/core/inc/scriptinfo.hxx | 9 +- sw/source/core/text/itradj.cxx | 8 +- sw/source/core/text/porlay.cxx | 12 +-- sw/source/core/text/portxt.cxx | 2 +- sw/source/core/txtnode/fntcache.cxx | 7 +- vcl/qa/cppunit/pdfexport/data/tdf140767.odt | Bin 0 -> 101535 bytes vcl/qa/cppunit/pdfexport/pdfexport2.cxx | 61 ++++++++++++++ 9 files changed, 206 insertions(+), 26 deletions(-) create mode 100644 vcl/qa/cppunit/pdfexport/data/tdf140767.odt diff --git a/i18nutil/qa/cppunit/test_kashida.cxx b/i18nutil/qa/cppunit/test_kashida.cxx index 46b40c2a5b7a..e0526c4c8f93 100644 --- a/i18nutil/qa/cppunit/test_kashida.cxx +++ b/i18nutil/qa/cppunit/test_kashida.cxx @@ -26,6 +26,7 @@ public: void testFinalYeh(); void testNoZwnjExpansion(); void testExcludeInvalid(); + void testSyriac(); CPPUNIT_TEST_SUITE(KashidaTest); CPPUNIT_TEST(testCharacteristic); @@ -33,6 +34,7 @@ public: CPPUNIT_TEST(testFinalYeh); CPPUNIT_TEST(testNoZwnjExpansion); CPPUNIT_TEST(testExcludeInvalid); + CPPUNIT_TEST(testSyriac); CPPUNIT_TEST_SUITE_END(); }; @@ -69,7 +71,9 @@ void KashidaTest::testManualKashida() // tdf#65344: Do not insert kashida before a final Yeh void KashidaTest::testFinalYeh() { - CPPUNIT_ASSERT(!GetWordKashidaPosition(u"نیمِي"_ustr).has_value()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), GetWordKashidaPosition(u"يييي"_ustr).value().nIndex); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), GetWordKashidaPosition(u"ييي"_ustr).value().nIndex); + CPPUNIT_ASSERT(!GetWordKashidaPosition(u"يي"_ustr).has_value()); // Should always insert kashida after Seen, even before a final Yeh CPPUNIT_ASSERT_EQUAL(sal_Int32(2), GetWordKashidaPosition(u"كرسي"_ustr).value().nIndex); @@ -82,7 +86,7 @@ void KashidaTest::testNoZwnjExpansion() CPPUNIT_ASSERT_EQUAL(sal_Int32(0), GetWordKashidaPosition(u"نویس\u200Cه"_ustr).value().nIndex); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), GetWordKashidaPosition(u"متن"_ustr).value().nIndex); - CPPUNIT_ASSERT(!GetWordKashidaPosition(u"مت\u200Cن"_ustr).has_value()); + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), GetWordKashidaPosition(u"مت\u200Cن"_ustr).value().nIndex); } // tdf#163105: Do not insert kashida if the position is invalid @@ -111,6 +115,43 @@ void KashidaTest::testExcludeInvalid() CPPUNIT_ASSERT(!GetWordKashidaPosition(u"نویسه"_ustr, aValid).has_value()); } +// tdf#140767: Kashida justification for Syriac +void KashidaTest::testSyriac() +{ + // - Prefer user-inserted kashida + CPPUNIT_ASSERT_EQUAL(sal_Int32(2), GetWordKashidaPosition(u"ܥܥـܥܥܥܥ"_ustr).value().nIndex); + + std::vector aValid; + aValid.resize(7, true); + + // - Start from end and work toward midpoint, then reverse direction + CPPUNIT_ASSERT_EQUAL(sal_Int32(5), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[5] = false; + + CPPUNIT_ASSERT_EQUAL(sal_Int32(4), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[4] = false; + + CPPUNIT_ASSERT_EQUAL(sal_Int32(0), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[0] = false; + + CPPUNIT_ASSERT_EQUAL(sal_Int32(1), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[1] = false; + + CPPUNIT_ASSERT_EQUAL(sal_Int32(2), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[2] = false; + + CPPUNIT_ASSERT_EQUAL(sal_Int32(3), + GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).value().nIndex); + aValid[3] = false; + + CPPUNIT_ASSERT(!GetWordKashidaPosition(u"ܥܥܥܥܥܥܥ"_ustr, aValid).has_value()); +} + CPPUNIT_TEST_SUITE_REGISTRATION(KashidaTest); } diff --git a/i18nutil/source/utility/kashida.cxx b/i18nutil/source/utility/kashida.cxx index 6a6c7adde690..a992e5c8e643 100644 --- a/i18nutil/source/utility/kashida.cxx +++ b/i18nutil/source/utility/kashida.cxx @@ -133,10 +133,9 @@ bool CanConnectToPrev(sal_Unicode cCh, sal_Unicode cPrevCh) return bRet; } -} std::optional -i18nutil::GetWordKashidaPosition(const OUString& rWord, const std::vector& pValidPositions) +GetWordKashidaPositionArabic(const OUString& rWord, const std::vector& pValidPositions) { sal_Int32 nIdx = 0; sal_Int32 nPrevIdx = 0; @@ -148,9 +147,6 @@ i18nutil::GetWordKashidaPosition(const OUString& rWord, const std::vector& sal_Int32 nWordLen = rWord.getLength(); - SAL_WARN_IF(!pValidPositions.empty() && pValidPositions.size() != static_cast(nWordLen), - "i18n", "Kashida valid position array wrong size"); - // ignore trailing vowel chars while (nWordLen && isTransparentChar(rWord[nWordLen - 1])) { @@ -298,8 +294,8 @@ i18nutil::GetWordKashidaPosition(const OUString& rWord, const std::vector& } } - // 8. If valid position data exists, use the last legal position - if (nPriorityLevel >= 7 && nIdx > 0 && !pValidPositions.empty()) + // 8. Try any valid position + if (nPriorityLevel >= 7 && nIdx > 0) { fnTryInsertBefore(7); } @@ -317,10 +313,86 @@ i18nutil::GetWordKashidaPosition(const OUString& rWord, const std::vector& if (-1 != nKashidaPos) { - return KashidaPosition{ nKashidaPos }; + return i18nutil::KashidaPosition{ nKashidaPos }; } return std::nullopt; } +std::optional +GetWordKashidaPositionSyriac(const OUString& rWord, const std::vector& pValidPositions) +{ + sal_Int32 nWordLen = rWord.getLength(); + + // Search for a user-inserted kashida + for (sal_Int32 i = nWordLen - 1; i >= 0; --i) + { + if (0x640 == rWord[i]) + { + return i18nutil::KashidaPosition{ i }; + } + } + + // Always insert kashida from the outside-in: + // - First, work from the end of the word toward the midpoint + // - Then, work from the beginning of the word toward the midpoint + + sal_Int32 nWordMidpoint = nWordLen / 2; + + auto fnPositionValid = [&pValidPositions](sal_Int32 nIdx) { + // Exclusions: + + // tdf#163105: Do not insert kashida if the position is invalid + if (!pValidPositions.empty() && !pValidPositions[nIdx]) + { + return false; + } + + return true; + }; + + // End to midpoint + for (sal_Int32 i = nWordLen - 2; i > nWordMidpoint; --i) + { + if (fnPositionValid(i)) + { + return i18nutil::KashidaPosition{ i }; + } + } + + // Beginning to midpoint + for (sal_Int32 i = 0; i <= nWordMidpoint; ++i) + { + if (fnPositionValid(i)) + { + return i18nutil::KashidaPosition{ i }; + } + } + + return std::nullopt; +} +} + +std::optional +i18nutil::GetWordKashidaPosition(const OUString& rWord, const std::vector& pValidPositions) +{ + sal_Int32 nWordLen = rWord.getLength(); + + SAL_WARN_IF(!pValidPositions.empty() && pValidPositions.size() != static_cast(nWordLen), + "i18n", "Kashida valid position array wrong size"); + + for (sal_Int32 nIdx = 0; nIdx < nWordLen; ++nIdx) + { + auto cCh = rWord[nIdx]; + + if ((cCh >= 0x700 && cCh <= 0x74F) || (cCh >= 0x860 && cCh <= 0x86A)) + { + // This word contains Syriac characters. + return GetWordKashidaPositionSyriac(rWord, pValidPositions); + } + } + + return GetWordKashidaPositionArabic(rWord, pValidPositions); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/sw/source/core/inc/scriptinfo.hxx b/sw/source/core/inc/scriptinfo.hxx index ae37779b6f71..60cf9c542eab 100644 --- a/sw/source/core/inc/scriptinfo.hxx +++ b/sw/source/core/inc/scriptinfo.hxx @@ -347,16 +347,17 @@ public: */ bool IsKashidaLine(TextFrameIndex nCharIdx) const; -/** Checks if text is Arabic text. +/** Checks if text is in a script that allows kashida justification. - @descr Checks if text is Arabic text. + @descr Checks if text is in a language that allows kashida justification. @param rText The text to check @param nStt Start index of the text - @return Returns if the language is an Arabic language + @return Returns true if the script is Arabic or Syriac */ - static bool IsArabicText(const OUString& rText, TextFrameIndex nStt, TextFrameIndex nLen); + static bool IsKashidaScriptText(const OUString& rText, TextFrameIndex nStt, + TextFrameIndex nLen); /** Performs a thai justification on the kerning array diff --git a/sw/source/core/text/itradj.cxx b/sw/source/core/text/itradj.cxx index 1a22579c24f1..c072025e7a96 100644 --- a/sw/source/core/text/itradj.cxx +++ b/sw/source/core/text/itradj.cxx @@ -168,7 +168,8 @@ static bool lcl_CheckKashidaPositions(SwScriptInfo& rSI, SwTextSizeInfo& rInf, S // Fetch the set of valid positions from VCL, where possible aValidPositions.clear(); - if ( SwScriptInfo::IsArabicText( rInf.GetText(), TextFrameIndex{aScanner.GetBegin()}, TextFrameIndex{aScanner.GetLen()} ) ) + if (SwScriptInfo::IsKashidaScriptText(rInf.GetText(), TextFrameIndex{ aScanner.GetBegin() }, + TextFrameIndex{ aScanner.GetLen() })) { rItr.SeekAndChgAttrIter(TextFrameIndex{ aScanner.GetBegin() }, rInf.GetRefDev()); @@ -250,7 +251,7 @@ static bool lcl_CheckKashidaPositions(SwScriptInfo& rSI, SwTextSizeInfo& rInf, S } sal_Int32 nKashidasDropped = 0; - if ( !SwScriptInfo::IsArabicText( rInf.GetText(), nIdx, nNext - nIdx ) ) + if (!SwScriptInfo::IsKashidaScriptText(rInf.GetText(), nIdx, nNext - nIdx)) { nKashidasDropped = nKashidasInAttr; rKashidas -= nKashidasDropped; @@ -314,7 +315,8 @@ static bool lcl_CheckKashidaWidth ( SwScriptInfo& rSI, SwTextSizeInfo& rInf, SwT sal_Int32 nKashidasInAttr = rSI.KashidaJustify(nullptr, nullptr, nIdx, nNext - nIdx); tools::Long nFontMinKashida = rInf.GetRefDev()->GetMinKashida(); - if ( nFontMinKashida && nKashidasInAttr > 0 && SwScriptInfo::IsArabicText( rInf.GetText(), nIdx, nNext - nIdx ) ) + if (nFontMinKashida && nKashidasInAttr > 0 + && SwScriptInfo::IsKashidaScriptText(rInf.GetText(), nIdx, nNext - nIdx)) { sal_Int32 nKashidasDropped = 0; while ( rKashidas && nGluePortion && nKashidasInAttr > 0 && diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx index c18969fc709c..37cb23961cff 100644 --- a/sw/source/core/text/porlay.cxx +++ b/sw/source/core/text/porlay.cxx @@ -2194,16 +2194,18 @@ sal_Int32 SwScriptInfo::KashidaJustify( KernArray* pKernArray, return 0; } -// Checks if the current text is 'Arabic' text. Note that only the first +// Checks if the text is in Arabic or Syriac. Note that only the first // character has to be checked because a ctl portion only contains one // script, see NewTextPortion -bool SwScriptInfo::IsArabicText(const OUString& rText, +bool SwScriptInfo::IsKashidaScriptText(const OUString& rText, TextFrameIndex const nStt, TextFrameIndex const nLen) { using namespace ::com::sun::star::i18n; static const ScriptTypeList typeList[] = { - { UnicodeScript_kArabic, UnicodeScript_kArabic, sal_Int16(UnicodeScript_kArabic) }, // 11, - { UnicodeScript_kScriptCount, UnicodeScript_kScriptCount, sal_Int16(UnicodeScript_kScriptCount) } // 88 + { UnicodeScript_kArabic, UnicodeScript_kArabic, sal_Int16(UnicodeScript_kArabic) }, // 11, + { UnicodeScript_kSyriac, UnicodeScript_kSyriac, sal_Int16(UnicodeScript_kSyriac) }, // 12, + { UnicodeScript_kScriptCount, UnicodeScript_kScriptCount, + sal_Int16(UnicodeScript_kScriptCount) } // 88 }; // go forward if current position does not hold a regular character: @@ -2229,7 +2231,7 @@ bool SwScriptInfo::IsArabicText(const OUString& rText, { const sal_Unicode cCh = rText[nIdx]; const sal_Int16 type = unicode::getUnicodeScriptType( cCh, typeList, sal_Int16(UnicodeScript_kScriptCount) ); - return type == sal_Int16(UnicodeScript_kArabic); + return type == sal_Int16(UnicodeScript_kArabic) || type == sal_Int16(UnicodeScript_kSyriac); } return false; } diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index b310ee706cb5..147eeb10064b 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -116,7 +116,7 @@ static TextFrameIndex lcl_AddSpace(const SwTextSizeInfo &rInf, // Kashida Justification: Insert Kashidas if ( nEnd > nPos && pSI && COMPLEX == nScript ) { - if ( SwScriptInfo::IsArabicText( *pStr, nPos, nEnd - nPos ) && pSI->CountKashida() ) + if (SwScriptInfo::IsKashidaScriptText(*pStr, nPos, nEnd - nPos) && pSI->CountKashida()) { const sal_Int32 nKashRes = pSI->KashidaJustify(nullptr, nullptr, nPos, nEnd - nPos); // i60591: need to check result of KashidaJustify diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx index 8b68e29b9ec3..5ca414fc1c68 100644 --- a/sw/source/core/txtnode/fntcache.cxx +++ b/sw/source/core/txtnode/fntcache.cxx @@ -1127,7 +1127,8 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf ) // Kashida Justification if ( SwFontScript::CTL == nActual && nSpaceAdd ) { - if ( SwScriptInfo::IsArabicText( rInf.GetText(), rInf.GetIdx(), rInf.GetLen() ) ) + if (SwScriptInfo::IsKashidaScriptText(rInf.GetText(), rInf.GetIdx(), + rInf.GetLen())) { aKashidaArray.resize(aKernArray.size(), false); if ( pSI && pSI->CountKashida() && @@ -1344,7 +1345,7 @@ void SwFntObj::DrawText( SwDrawTextInfo &rInf ) // Kashida Justification if ( SwFontScript::CTL == nActual && nSpaceAdd ) { - if ( SwScriptInfo::IsArabicText( rInf.GetText(), rInf.GetIdx(), rInf.GetLen() ) ) + if (SwScriptInfo::IsKashidaScriptText(rInf.GetText(), rInf.GetIdx(), rInf.GetLen())) { aKashidaArray.resize(aKernArray.size(), false); if ( pSI && pSI->CountKashida() && @@ -1838,7 +1839,7 @@ TextFrameIndex SwFntObj::GetModelPositionForViewPoint(SwDrawTextInfo &rInf) // Kashida Justification if ( SwFontScript::CTL == nActual && rInf.GetSpace() ) { - if ( SwScriptInfo::IsArabicText( rInf.GetText(), rInf.GetIdx(), rInf.GetLen() ) ) + if (SwScriptInfo::IsKashidaScriptText(rInf.GetText(), rInf.GetIdx(), rInf.GetLen())) { if ( pSI && pSI->CountKashida() && pSI->KashidaJustify( &aKernArray, nullptr, rInf.GetIdx(), rInf.GetLen(), diff --git a/vcl/qa/cppunit/pdfexport/data/tdf140767.odt b/vcl/qa/cppunit/pdfexport/data/tdf140767.odt new file mode 100644 index 0000000000000000000000000000000000000000..ab6efe6b83ef70eb6b132becdf456ab89f3692d3 GIT binary patch literal 101535 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 eoNNqy# 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

l^(VfH8p5BS@B9h*@G4`7Pa%gibm^WSr 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 BX666@ literal 0 HcmV?d00001 diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx index de387cd31850..5e59ec0373f1 100644 --- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx +++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx @@ -5761,6 +5761,67 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf163105Editeng) CPPUNIT_ASSERT_LESS(170.0, aRect.at(2).getWidth()); } +CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf140767SyriacJustification) +{ + saveAsPDF(u"tdf140767.odt"); + + auto pPdfDocument = parsePDFExport(); + CPPUNIT_ASSERT_EQUAL(1, pPdfDocument->getPageCount()); + + auto pPdfPage = pPdfDocument->openPage(/*nIndex*/ 0); + CPPUNIT_ASSERT(pPdfPage); + auto pTextPage = pPdfPage->getTextPage(); + CPPUNIT_ASSERT(pTextPage); + + int nPageObjectCount = pPdfPage->getObjectCount(); + + CPPUNIT_ASSERT_EQUAL(11, nPageObjectCount); + + std::vector aText; + std::vector aRect; + + int nTextObjectCount = 0; + for (int i = 0; i < nPageObjectCount; ++i) + { + auto pPageObject = pPdfPage->getObject(i); + CPPUNIT_ASSERT_MESSAGE("no object", pPageObject != nullptr); + if (pPageObject->getType() == vcl::pdf::PDFPageObjectType::Text) + { + aText.push_back(pPageObject->getText(pTextPage)); + aRect.push_back(pPageObject->getBounds()); + ++nTextObjectCount; + } + } + + CPPUNIT_ASSERT_EQUAL(11, nTextObjectCount); + + std::cout << "Strings" << std::endl; + for (auto const& em : aText) + { + std::cout << em << std::endl; + for (sal_Int32 i = 0; i < em.getLength(); ++i) + { + std::cout << std::hex << static_cast(em[i]) << " "; + } + std::cout << std::endl; + } + + CPPUNIT_ASSERT_EQUAL(u"ܝ"_ustr, aText.at(0).trim()); + CPPUNIT_ASSERT_EQUAL(u""_ustr, aText.at(1).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܺܛ"_ustr, aText.at(2).trim()); + CPPUNIT_ASSERT_EQUAL(u""_ustr, aText.at(3).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܰܚ"_ustr, aText.at(4).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܕ"_ustr, aText.at(5).trim()); // This span is whitespace justified + CPPUNIT_ASSERT_EQUAL(u""_ustr, aText.at(6).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܰܓ"_ustr, aText.at(7).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܒ"_ustr, aText.at(8).trim()); + CPPUNIT_ASSERT_EQUAL(u""_ustr, aText.at(9).trim()); + CPPUNIT_ASSERT_EQUAL(u"ܰܐ"_ustr, aText.at(10).trim()); + + // Without kashida justification, this space will be 224.328 + CPPUNIT_ASSERT_LESS(90.0, aRect.at(5).getWidth()); +} + } // end anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT();