From e668dc84eb97bf46fc108ec209fc8383a34123f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= Date: Mon, 21 Sep 2026 14:20:02 +0200 Subject: [PATCH] tdf#173389 cui offapi sw xmloff: add custom compound-based hyphenation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add new paragraph justification option "Split compound words" for custom compound-based "smart" hyphenation. Add compound-based "smart" hyphenation support for Danish, Dutch, Esperanto, Estonian, German, Norwegian, Swedish (and potentially, Icelandic, Finnish and Latvian) languages by fixing Hunspell morphological analysis and the associated lingucomponent code. (Previously compound-based "smart" hyphenation was enabled only for Hungarian.) With the new option it's possible to keep MSO/MS-DOCX interoperability, also introducing a better hyphenation algorithm for several languages. Details: * Add check box to Alignment in paragraph formatting dialog window; * Store properties in paragraph model: css::style::ParagraphProperties::ParaIsCompoundBased * Implement it by checking the new option in the previously added commit f9f694f5d9f39c5801bc5fec45867252c293bbcb; * Add ODF import/export (loext:compound-based); * Add ODF unit tests by the new tdf173389_smart_hyphenation_nl.odt and tdf173389_smart_hyphenation_hu.odt. Now use the previous tdf119908_smart_hyphenation_hu for disabled compound-based "smart" hyphenation, also the new tdf119908_smart_hyphenation_nl.odt. Note: the Dutch test document results better compound-based hyphenation in two positions. * Add Hunspell patch to fix Danish, Dutch, Esperanto, Estonian, German, Norwegian, Swedish (and future Icelandic, Latvian, Finnish) morphological analysis for compound word constituents; * hyphenimp.cxx hyphenate(): fix tokenization for consecutive pa: elements, like resulted in the fixed Hunspell dictionaries. Follow-up to commit f9f694f5d9f39c5801bc5fec45867252c293bbcb "tdf#173389 sw: add compound-based “smart” hyphenation for readability". Change-Id: I4414bd588646ecf6dc86b77642833ac9c7820a98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211341 Tested-by: Jenkins Reviewed-by: László Németh --- cui/source/inc/paragrph.hxx | 3 + cui/source/tabpages/paragrph.cxx | 10 +- cui/uiconfig/ui/paragalignpage.ui | 20 + editeng/source/items/paraitem.cxx | 16 +- external/hunspell/UnpackedTarball_hunspell.mk | 5 + ...ological_analysis_for_compound_words.patch | 25 + include/editeng/adjustitem.hxx | 16 + include/editeng/memberids.h | 1 + include/editeng/unotext.hxx | 1 + include/sfx2/msg.hxx | 2 +- include/xmloff/xmltoken.hxx | 1 + .../source/hyphenator/hyphen/hyphenimp.cxx | 8 +- .../sun/star/style/ParagraphProperties.idl | 6 + .../OpenDocument-v1.4+libreoffice-schema.rng | 9 + svx/sdi/svxitems.sdi | 1 + sw/inc/inspectorproperties.hrc | 1 + sw/inc/unoprnms.hxx | 1 + .../data/tdf119908_smart_hyphenation_nl.odt | Bin 0 -> 71578 bytes .../data/tdf173389_smart_hyphenation_hu.odt | Bin 0 -> 71536 bytes .../data/tdf173389_smart_hyphenation_nl.odt | Bin 0 -> 71906 bytes sw/qa/extras/layout/layout3.cxx | 726 +++++++++++++++++- sw/qa/uitest/styleInspector/styleInspector.py | 41 +- sw/qa/uitest/styleInspector/tdf137513.py | 2 +- sw/source/core/text/portxt.cxx | 32 +- sw/source/core/unocore/unomapproperties.hxx | 2 + .../sidebar/WriterInspectorTextPanel.cxx | 1 + xmloff/inc/xmlprop.hxx | 1 + xmloff/source/core/xmltoken.cxx | 1 + xmloff/source/text/txtprmap.cxx | 1 + xmloff/source/token/tokens.txt | 1 + 30 files changed, 902 insertions(+), 32 deletions(-) create mode 100644 external/hunspell/fix_morphological_analysis_for_compound_words.patch create mode 100644 sw/qa/extras/layout/data/tdf119908_smart_hyphenation_nl.odt create mode 100644 sw/qa/extras/layout/data/tdf173389_smart_hyphenation_hu.odt create mode 100644 sw/qa/extras/layout/data/tdf173389_smart_hyphenation_nl.odt diff --git a/cui/source/inc/paragrph.hxx b/cui/source/inc/paragrph.hxx index af1369fd56dd..222c11e41a51 100644 --- a/cui/source/inc/paragrph.hxx +++ b/cui/source/inc/paragrph.hxx @@ -177,6 +177,9 @@ class SvxParaAlignTabPage : public SfxTabPage std::unique_ptr m_xLetterSpacingMinimum; std::unique_ptr m_xLetterSpacingMaximum; + /// compound-based hyphenation + std::unique_ptr m_xCompoundBased; + /// glyph scaling std::unique_ptr m_xLabelGlyphScaling; std::unique_ptr m_xGlyphScalingMinimum; diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx index 8c4917c1a9c6..a9e246b4efce 100644 --- a/cui/source/tabpages/paragrph.cxx +++ b/cui/source/tabpages/paragrph.cxx @@ -1299,6 +1299,7 @@ SvxParaAlignTabPage::SvxParaAlignTabPage(weld::Container* pPage, weld::DialogCon , m_xLabelLetterSpacing(m_xBuilder->weld_label(u"labelLetterSpacing"_ustr)) , m_xLetterSpacingMinimum(m_xBuilder->weld_metric_spin_button(u"spin_LETTER_SPACING_MIN"_ustr, FieldUnit::PERCENT)) , m_xLetterSpacingMaximum(m_xBuilder->weld_metric_spin_button(u"spin_LETTER_SPACING_MAX"_ustr, FieldUnit::PERCENT)) + , m_xCompoundBased(m_xBuilder->weld_check_button(u"checkCompoundBased"_ustr)) , m_xLabelGlyphScaling(m_xBuilder->weld_label(u"labelGlyphScaling"_ustr)) , m_xGlyphScalingMinimum(m_xBuilder->weld_metric_spin_button(u"spin_GLYPH_SCALING_MIN"_ustr, FieldUnit::PERCENT)) , m_xGlyphScalingMaximum(m_xBuilder->weld_metric_spin_button(u"spin_GLYPH_SCALING_MAX"_ustr, FieldUnit::PERCENT)) @@ -1409,6 +1410,7 @@ bool SvxParaAlignTabPage::FillItemSet( SfxItemSet* rOutSet ) m_xParagraphComposer->get_state_changed_from_saved() || m_xLetterSpacingMinimum->get_value_changed_from_saved() || m_xLetterSpacingMaximum->get_value_changed_from_saved() || + m_xCompoundBased->get_state_changed_from_saved() || m_xGlyphScalingMinimum->get_value_changed_from_saved() || m_xGlyphScalingMaximum->get_value_changed_from_saved(); } @@ -1436,6 +1438,7 @@ bool SvxParaAlignTabPage::FillItemSet( SfxItemSet* rOutSet ) aAdj.SetParagraphComposer( m_xParagraphComposer->get_active() ); aAdj.SetPropLetterSpacingMinimum( m_xLetterSpacingMinimum->get_value(FieldUnit::PERCENT) ); aAdj.SetPropLetterSpacingMaximum( m_xLetterSpacingMaximum->get_value(FieldUnit::PERCENT) ); + aAdj.SetCompoundBased( m_xCompoundBased->get_active() ); aAdj.SetPropScaleWidthMinimum( m_xGlyphScalingMinimum->get_value(FieldUnit::PERCENT) ); aAdj.SetPropScaleWidthMaximum( m_xGlyphScalingMaximum->get_value(FieldUnit::PERCENT) ); rOutSet->Put( aAdj ); @@ -1543,6 +1546,8 @@ void SvxParaAlignTabPage::Reset( const SfxItemSet* rSet ) m_xLetterSpacingMinimum->set_sensitive(true); m_xLetterSpacingMinimum->set_value(rAdj.GetPropLetterSpacingMinimum(), FieldUnit::PERCENT); m_xLetterSpacingMaximum->set_value(rAdj.GetPropLetterSpacingMaximum(), FieldUnit::PERCENT); + m_xCompoundBased->set_sensitive(true); + m_xCompoundBased->set_active(rAdj.GetCompoundBased()); // TODO add GlyphScaling (CharScaleWidth) m_xGlyphScalingMaximum->set_sensitive(true); m_xGlyphScalingMinimum->set_sensitive(true); @@ -1559,10 +1564,10 @@ void SvxParaAlignTabPage::Reset( const SfxItemSet* rSet ) m_xWordSpacingMinimum->set_sensitive(false); m_xWordSpacingMaximum->set_sensitive(false); m_xParagraphComposer->set_sensitive(false); - m_xParagraphComposer->set_sensitive(false); m_xLabelLetterSpacing->set_sensitive(false); m_xLetterSpacingMinimum->set_sensitive(false); m_xLetterSpacingMaximum->set_sensitive(false); + m_xCompoundBased->set_sensitive(false); m_xLabelGlyphScaling->set_sensitive(false); m_xGlyphScalingMinimum->set_sensitive(false); m_xGlyphScalingMaximum->set_sensitive(false); @@ -1664,6 +1669,7 @@ void SvxParaAlignTabPage::Reset( const SfxItemSet* rSet ) m_xParagraphComposer->save_state(); m_xLetterSpacingMinimum->save_value(); m_xLetterSpacingMaximum->save_value(); + m_xCompoundBased->save_state(); m_xGlyphScalingMinimum->save_value(); m_xGlyphScalingMaximum->save_value(); @@ -1690,6 +1696,7 @@ void SvxParaAlignTabPage::ChangesApplied() m_xParagraphComposer->save_state(); m_xLetterSpacingMinimum->save_value(); m_xLetterSpacingMaximum->save_value(); + m_xCompoundBased->save_state(); m_xGlyphScalingMinimum->save_value(); m_xGlyphScalingMaximum->save_value(); } @@ -1711,6 +1718,7 @@ IMPL_LINK_NOARG(SvxParaAlignTabPage, AlignHdl_Impl, weld::Toggleable&, void) // TODO visualize CharKerning with percentage m_xLetterSpacingMinimum->set_sensitive(bJustify); m_xLetterSpacingMaximum->set_sensitive(bJustify); + m_xCompoundBased->set_sensitive(bJustify); m_xLabelGlyphScaling->set_sensitive(bJustify); // TODO visualize CharScaleWidth with percentage m_xGlyphScalingMinimum->set_sensitive(bJustify); diff --git a/cui/uiconfig/ui/paragalignpage.ui b/cui/uiconfig/ui/paragalignpage.ui index a84b064f9074..7f75098f7373 100644 --- a/cui/uiconfig/ui/paragalignpage.ui +++ b/cui/uiconfig/ui/paragalignpage.ui @@ -740,6 +740,26 @@ 2 + + + Split compound words + True + True + False + True + True + True + + + Select this check box, if you want to prefer compound word splitting during justification. + + + + + 4 + 2 + + True diff --git a/editeng/source/items/paraitem.cxx b/editeng/source/items/paraitem.cxx index aa46545a8a1c..ce9d574af129 100644 --- a/editeng/source/items/paraitem.cxx +++ b/editeng/source/items/paraitem.cxx @@ -322,7 +322,8 @@ SvxAdjustItem::SvxAdjustItem(const SvxAdjust eAdjst, const sal_uInt16 nId ) nPropLetterSpacingMaximum(0), nPropScaleWidthMinimum(100), nPropScaleWidthMaximum(100), - bParagraphComposer(false) + bParagraphComposer(false), + bCompoundBased(false) { SetAdjust( eAdjst ); } @@ -342,6 +343,7 @@ bool SvxAdjustItem::operator==( const SfxPoolItem& rAttr ) const bParagraphComposer == rItem.bParagraphComposer && nPropLetterSpacingMinimum == rItem.nPropLetterSpacingMinimum && nPropLetterSpacingMaximum == rItem.nPropLetterSpacingMaximum && + bCompoundBased == rItem.bCompoundBased && nPropScaleWidthMinimum == rItem.nPropScaleWidthMinimum && nPropScaleWidthMaximum == rItem.nPropScaleWidthMaximum; } @@ -359,6 +361,7 @@ size_t SvxAdjustItem::hashCode() const o3tl::hash_combine(seed, bParagraphComposer); o3tl::hash_combine(seed, nPropLetterSpacingMinimum); o3tl::hash_combine(seed, nPropLetterSpacingMaximum); + o3tl::hash_combine(seed, bCompoundBased); o3tl::hash_combine(seed, nPropScaleWidthMinimum); o3tl::hash_combine(seed, nPropScaleWidthMaximum); return seed; @@ -388,6 +391,11 @@ bool SvxAdjustItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const rVal <<= bParagraphComposer; break; } + case MID_COMPOUND_BASED : + { + rVal <<= bCompoundBased; + break; + } default: ;//prevent warning } return true; @@ -471,6 +479,12 @@ bool SvxAdjustItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId ) bParagraphComposer = Any2Bool(rVal); } break; + case MID_COMPOUND_BASED : + { + ASSERT_CHANGE_REFCOUNTED_ITEM; + bCompoundBased = Any2Bool(rVal); + } + break; case MID_EXPAND_SINGLE : ASSERT_CHANGE_REFCOUNTED_ITEM; bOneBlock = Any2Bool(rVal); diff --git a/external/hunspell/UnpackedTarball_hunspell.mk b/external/hunspell/UnpackedTarball_hunspell.mk index 6c664f830d25..49f94f916f82 100644 --- a/external/hunspell/UnpackedTarball_hunspell.mk +++ b/external/hunspell/UnpackedTarball_hunspell.mk @@ -19,4 +19,9 @@ $(eval $(call gb_UnpackedTarball_set_post_action,hunspell,\ )) endif +$(eval $(call gb_UnpackedTarball_add_patches,hunspell, \ + external/hunspell/fix_morphological_analysis_for_compound_words.patch \ +)) + + # vim: set noet sw=4 ts=4: diff --git a/external/hunspell/fix_morphological_analysis_for_compound_words.patch b/external/hunspell/fix_morphological_analysis_for_compound_words.patch new file mode 100644 index 000000000000..b4ed5bff65c6 --- /dev/null +++ b/external/hunspell/fix_morphological_analysis_for_compound_words.patch @@ -0,0 +1,25 @@ +--- a/src/hunspell/affixmgr.cxx 2026-05-04 16:31:57.000000000 +0200 ++++ b/src/hunspell/affixmgr.cxx 2026-09-16 00:10:58.854821764 +0200 +@@ -2338,10 +2338,10 @@ + p = affix_check_morph(st, 0, i, compoundmiddle); + } + } ++ presult.push_back(MSEP_FLD); ++ presult.append(MORPH_PART); ++ presult.append(st, 0, i); + if (!p.empty()) { +- presult.push_back(MSEP_FLD); +- presult.append(MORPH_PART); +- presult.append(st, 0, i); + line_uniq_app(p, MSEP_REC); + presult.append(p); + } +@@ -2540,7 +2540,7 @@ + if (!rv && compoundend && !onlycpdrule) { + sfx = nullptr; + pfx = nullptr; +- rv = affix_check(word, i, word.size() - i, compoundend); ++ rv = affix_check(word, i, word.size() - i, compoundend, IN_CPD_END); + } + + if (!rv && !defcpdtable.empty() && words) { diff --git a/include/editeng/adjustitem.hxx b/include/editeng/adjustitem.hxx index 630058f259e4..23874f65efe6 100644 --- a/include/editeng/adjustitem.hxx +++ b/include/editeng/adjustitem.hxx @@ -63,6 +63,9 @@ class EDITENG_DLLPUBLIC SvxAdjustItem final : public SfxPoolItem // paragraph composer bool bParagraphComposer : 1; + // compound-based hyphenation + bool bCompoundBased : 1; + protected: virtual ItemInstanceManager* getItemInstanceManager() const override; @@ -160,6 +163,19 @@ public: bParagraphComposer = bValue; } + + bool GetCompoundBased() const + { + return bCompoundBased; + } + + void SetCompoundBased( const bool bValue ) + { + ASSERT_CHANGE_REFCOUNTED_ITEM; + bCompoundBased = bValue; + } + + sal_uInt16 GetPropWordSpacing() const { return nPropWordSpacing; diff --git a/include/editeng/memberids.h b/include/editeng/memberids.h index fa9306e52440..709261c9377a 100644 --- a/include/editeng/memberids.h +++ b/include/editeng/memberids.h @@ -79,6 +79,7 @@ #define MID_SCALE_WIDTH_MIN 8 #define MID_SCALE_WIDTH_MAX 9 #define MID_PARAGRAPH_COMPOSER 10 +#define MID_COMPOUND_BASED 11 //SvxFontItem // Don't use 0 as it used for the whole struct diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx index d5a219d4e750..da1708444a0a 100644 --- a/include/editeng/unotext.hxx +++ b/include/editeng/unotext.hxx @@ -175,6 +175,7 @@ struct SfxItemPropertyMapEntry; {u"ParaScaleWidthMinimum"_ustr, EE_PARA_JUST, ::cppu::UnoType::get(), 0, MID_SCALE_WIDTH_MIN }, \ {u"ParaScaleWidthMaximum"_ustr, EE_PARA_JUST, ::cppu::UnoType::get(), 0, MID_SCALE_WIDTH_MAX }, \ {u"ParaComposer"_ustr, EE_PARA_JUST, ::cppu::UnoType::get(), 0, MID_PARAGRAPH_COMPOSER }, \ + {u"ParaIsCompoundBased"_ustr, EE_PARA_JUST, ::cppu::UnoType::get(), 0, MID_COMPOUND_BASED }, \ {u"WritingMode"_ustr, EE_PARA_WRITINGDIR, ::cppu::UnoType::get(), 0, 0 }, \ {u"WritingModeAutomatic"_ustr, EE_PARA_AUTOWRITINGDIR, ::cppu::UnoType::get(), 0, 0 } diff --git a/include/sfx2/msg.hxx b/include/sfx2/msg.hxx index 3f188a823e9b..35d0809793a4 100644 --- a/include/sfx2/msg.hxx +++ b/include/sfx2/msg.hxx @@ -140,7 +140,7 @@ SFX_DECL_TYPE(7); SFX_DECL_TYPE(8); SFX_DECL_TYPE(10); // for SfxDocInfoItem SFX_DECL_TYPE(11); - +SFX_DECL_TYPE(12); // for SvxAdjustStruct SFX_DECL_TYPE(13); // for SwAddPrinterItem, Sd... SFX_DECL_TYPE(14); SFX_DECL_TYPE(16); // for SwDocDisplayItem diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx index abf0ec8e73ff..1313a9b21404 100644 --- a/include/xmloff/xmltoken.hxx +++ b/include/xmloff/xmltoken.hxx @@ -490,6 +490,7 @@ namespace xmloff::token { XML_COMMAND, XML_COMMENT, XML_COMPOSE, + XML_COMPOUND_BASED, XML_COND_STYLE_NAME, XML_CONDITION, XML_CONDITION_SOURCE, diff --git a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx index f997a44b8873..48db82ec269a 100644 --- a/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx +++ b/lingucomponent/source/hyphenator/hyphen/hyphenimp.cxx @@ -517,6 +517,7 @@ Reference< XHyphenatedWord > SAL_CALL Hyphenator::hyphenate( const OUString& aWo sal_Int32 nPa = -1; while ( (nPa = morph.indexOf(u" pa:", nPa + 1)) > -1 ) { + sal_Int32 nPaTemp(nPa); // use hy: field of the actual stem, if it exists // pa:stem1 hy:st|em1 pa:stem2 -> st|em1||stem2 sal_Int32 nHy = morph.indexOf(u" hy:", nPa + 3); @@ -529,7 +530,7 @@ Reference< XHyphenatedWord > SAL_CALL Hyphenator::hyphenate( const OUString& aWo sStems += sStems2+ u"||"; else if ( sal_Int32 nBreak = o3tl::toInt32(sStems2) ) { - OUString sPa(morph.getToken(1, ' ', nPa).copy(3)); + OUString sPa(morph.getToken(1, ' ', nPaTemp).copy(3)); if ( nBreak < sPa.getLength() ) sStems += OUString::Concat(sPa.subView(0, nBreak)) + u"|" + sPa.subView(nBreak); @@ -537,7 +538,7 @@ Reference< XHyphenatedWord > SAL_CALL Hyphenator::hyphenate( const OUString& aWo } else { - OUString sPa(morph.getToken(1, ' ', nPa).copy(3)); + OUString sPa(morph.getToken(1, ' ', nPaTemp).copy(3)); // handle special case: missing pa: in morphological analysis // before in-word suffixes (German, Sweden etc. dictionaries) @@ -563,9 +564,6 @@ Reference< XHyphenatedWord > SAL_CALL Hyphenator::hyphenate( const OUString& aWo nSuffixLen = sPa.getLength() - nStemLen; } } - - if ( nPa == -1 ) // getToken() can modify nPa - break; } // handle verb and leg-, legesleg- prefixes (Hungarian-only) diff --git a/offapi/com/sun/star/style/ParagraphProperties.idl b/offapi/com/sun/star/style/ParagraphProperties.idl index 36ae0d4a5312..5539b540b164 100644 --- a/offapi/com/sun/star/style/ParagraphProperties.idl +++ b/offapi/com/sun/star/style/ParagraphProperties.idl @@ -644,6 +644,12 @@ published service ParagraphProperties @since LibreOffice 27.2 */ [optional, property] long ParaHyphenationLevel; + + /** specifies if automatic compound-based "smart" hyphenation is applied. + + @since LibreOffice 27.2 + */ + [optional, property] boolean ParaIsCompoundBased; }; diff --git a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng index 710efd324ce9..71f4006ce7b5 100644 --- a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng +++ b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng @@ -3381,6 +3381,15 @@ xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1. + + + + + + + + + diff --git a/svx/sdi/svxitems.sdi b/svx/sdi/svxitems.sdi index a93e07985957..9b515767c521 100644 --- a/svx/sdi/svxitems.sdi +++ b/svx/sdi/svxitems.sdi @@ -65,6 +65,7 @@ struct SvxAdjustStruct INT16 ScaleWidthMinimum MID_SCALE_WIDTH_MIN; INT16 ScaleWidthMaximum MID_SCALE_WIDTH_MAX; BOOL ParagraphComposer MID_PARAGRAPH_COMPOSER; + BOOL CompoundBased MID_COMPOUND_BASED; }; item SvxAdjustStruct SvxAdjustItem; diff --git a/sw/inc/inspectorproperties.hrc b/sw/inc/inspectorproperties.hrc index deff9bca1a17..a125e88f040a 100644 --- a/sw/inc/inspectorproperties.hrc +++ b/sw/inc/inspectorproperties.hrc @@ -199,6 +199,7 @@ #define RID_PARA_BOTTOM_MARGIN_RELATIVE NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Bottom Margin Relative") #define RID_PARA_CHAPTER_NUMBERING_LEVEL NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Chapter Numbering Level") #define RID_PARA_COMPOSER NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Composer") +#define RID_PARA_COMPOUND_BASED_HYPHENATION NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Compound-based Hyphenation") #define RID_PARA_CONDITIONAL_STYLE_NAME NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Conditional Style Name") #define RID_PARA_CONTEXT_MARGIN NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Context Margin") #define RID_PARA_EXPAND_SINGLE_WORD NC_("RID_ATTRIBUTE_NAMES_MAP", "Para Expand Single Word") diff --git a/sw/inc/unoprnms.hxx b/sw/inc/unoprnms.hxx index f82f78f15fa8..4f379e1a6e6a 100644 --- a/sw/inc/unoprnms.hxx +++ b/sw/inc/unoprnms.hxx @@ -519,6 +519,7 @@ inline constexpr OUString UNO_NAME_TEXT_USER_DEFINED_ATTRIBUTES = u"TextUserDefi inline constexpr OUString UNO_NAME_FILE_PATH = u"FilePath"_ustr; inline constexpr OUString UNO_NAME_PARA_CHAPTER_NUMBERING_LEVEL = u"ParaChapterNumberingLevel"_ustr; inline constexpr OUString UNO_NAME_PARA_COMPOSER = u"ParaComposer"_ustr; +inline constexpr OUString UNO_NAME_PARA_IS_COMPOUND_BASED = u"ParaIsCompoundBased"_ustr; inline constexpr OUString UNO_NAME_PARA_CONDITIONAL_STYLE_NAME = u"ParaConditionalStyleName"_ustr; inline constexpr OUString UNO_NAME_CHAPTER_NUMBERING_LEVEL = u"ChapterNumberingLevel"_ustr; inline constexpr OUString UNO_NAME_NUMBERING_SEPARATOR = u"NumberingSeparator"_ustr; diff --git a/sw/qa/extras/layout/data/tdf119908_smart_hyphenation_nl.odt b/sw/qa/extras/layout/data/tdf119908_smart_hyphenation_nl.odt new file mode 100644 index 0000000000000000000000000000000000000000..04a82426cff3ff177fa8db57e5d38d9848b6a354 GIT binary patch literal 71578 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�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 Tl6_}84Srytu@DB((ZGKI$|qS< literal 0 HcmV?d00001 diff --git a/sw/qa/extras/layout/data/tdf173389_smart_hyphenation_hu.odt b/sw/qa/extras/layout/data/tdf173389_smart_hyphenation_hu.odt new file mode 100644 index 0000000000000000000000000000000000000000..9ece0b297d866a39c9d918c7b4bda12b5eee46c6 GIT binary patch literal 71536 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 wyEsKui4qz}Q81 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 literal 0 HcmV?d00001 diff --git a/sw/qa/extras/layout/data/tdf173389_smart_hyphenation_nl.odt b/sw/qa/extras/layout/data/tdf173389_smart_hyphenation_nl.odt new file mode 100644 index 0000000000000000000000000000000000000000..9edd6bd190f789531269309954b29225d9569682 GIT binary patch literal 71906 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%0A&booe5r)<;-@L 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 piSqII)9Qa_j~_YtzX^Ya= xHyphenator = LinguMgr::GetHyphenator(); @@ -1030,6 +1030,520 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf119908_smart_hyphenation_hu) pViewShell->Reformat(); pXmlDoc = parseLayoutDump(); + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[2]/SwParaPortion/SwLineLayout[1]", "portion", + u"Senkit sem lehet rabszolgaságban vagy szolgaságban tartani; a rabszolgaság és a rab"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[2]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]", "portion", + u"Senkit sem lehet kínvallatásnak, avagy kegyetlen, embertelen vagy lealacsonyító bá"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]", "portion", + u"A törvény előtt mindenki egyenlő, és minden megkülönböztetés nélkül joga van a tör"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[3]", "portion", + u"sértő minden megkülönböztetéssel és minden ilyen megkülönböztetésre irányuló fel"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[3]/SwHyphPortion", + 1); + + // no compound-based "smart" hyphenation of the compound "jog|orvoslat" + // This is hyphenated as "jogor-voslat", not "jog-orvoslat" + + if (bHunspell && aTests[0]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[2]", "portion", + u"alapvető jogokat sértő eljárások ellen az illetékes hazai bíróságokhoz " + u"tényleges jogor"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[2]", "portion", + u"bíróság méltányosan és nyilvánosan tárgyalja, s ez határozzon egyrészt jogai és köte"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[16]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden büntetendő cselekménnyel vádolt személyt ártatlannak kell vélelmezni mind"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[16]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[16]/SwParaPortion/SwLineLayout[2]", "portion", + u"addig, amíg bűnösségét nyilvánosan lefolytatott perben, a védelméhez szükséges vala"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[16]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[17]/SwParaPortion/SwLineLayout[1]", "portion", + u"Senkit sem szabad elítélni oly cselekményért vagy mulasztásért, amely elkövetése pil"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[17]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[17]/SwParaPortion/SwLineLayout[3]", "portion", + u"Ugyancsak nem szabad súlyosabb büntetést kiszabni, mint amely a büntetendő cselek"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[17]/SwParaPortion/SwLineLayout[3]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[19]/SwParaPortion/SwLineLayout[1]", "portion", + u"Senkinek magánéletébe, családi ügyeibe, otthonába vagy levelezésébe nem szabad ön"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[19]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "minden" by shrinking + // This was "Min-den" + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[19]/SwParaPortion/SwLineLayout[2]", "portion", + u"kényesen beavatkozni, sem pedig becsületében vagy jó hírnevében megsérteni. Minden "); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[21]/SwParaPortion/SwLineLayout[1]", "portion", + u"Az államon belül minden személynek joga van szabadon mozogni és lakóhelyét sza"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[21]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // no compound-based "smart" hyphenation of the compound "vala|mint" + // This is hyphenated as "va-lamint" without enabled compound-based "smart" hyphenation + + if (bHunspell && aTests[1]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[22]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van minden országot, ideértve saját hazáját is, " + u"elhagyni, va"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[22]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 13); + + // delete page 2 to update hyphenation on the next page + + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 2297, /*bBasicCall=*/false); + pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 2297, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 10 hyphenations on page 3 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]", "portion", + u"Erre a jogra nem lehet hivatkozni közönséges bűncselekmény miatti, kellőképpen meg"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[2]", "portion", + u"alapozott üldözés, sem pedig az Egyesült Nemzetek céljaival és elveivel ellentétes te"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]", "portion", + u"Senkit sem lehet sem állampolgárságától, sem állampolgársága megváltoztatásának jo"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[1]", "portion", + u"Mind a férfinak, mind a nőnek a nagykorúság elérésétől kezdve joga van fajon, nem"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[2]", "portion", + u"zetiségen vagy valláson alapuló korlátozás nélkül házasságot kötni és családot alapí"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van a tulajdonhoz, mind egyénileg, mind másokkal együtte"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "valamint" by shifting + // This was "va-lamint" + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[2]", "portion", + u"a jog magában foglalja a vallás és a meggyőződés megváltoztatásának szabadságát, "); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van a vélemény és a kifejezés szabadságához, amely magá"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[2]", "portion", + u"ban foglalja azt a jogot, hogy véleménye miatt ne szenvedjen zaklatást, és hogy hatá"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "információkat" by shrinking + // This was "információ-kat" + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[3]", "portion", + u"rokra való tekintet nélkül kutathasson, tájékozódhasson és terjeszthessen " + u"információkat "); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[22]/SwParaPortion/SwLineLayout[2]", "portion", + u"rendszeres, az általános és egyenlő szavazati jogot és a titkos szavazást biztosító vá"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[22]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[24]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek mint a társadalom tagjának joga van a szociális biztonsághoz, to"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[24]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 10); + + // delete page 3 to update hyphenation on the next page + + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 2566, /*bBasicCall=*/false); + pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 2566, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 12 hyphenations on page 4 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[3]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van a munkához, a munka szabad megválasztásához, a mél"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[3]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]", "portion", + u"Mindenkinek joga van egyenlő munkáért egyenlő bért kapni, bárminemű megkülön"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van a pihenéshez, a szabadidőhöz, beleértve a munkaidő ész"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van saját maga és családja egészségének és jólétének bizto"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[3]", "portion", + u"ellátáshoz, valamint a szükséges szociális szolgáltatásokhoz, továbbá joga van a szoci"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[3]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[11]/SwParaPortion/SwLineLayout[2]", "portion", + u"gyermek, akár házasságból, akár házasságon kívül született, azonos szociális védelem"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[11]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + // no compound-based "smart" hyphenation of the compound "alap|fokon" + // This is hyphenated as "alapfo-kon", not "alap-fokon" + + if (bHunspell && aTests[2]) + { + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van az oktatáshoz. Az oktatásnak legalábbis elemi és alapfo"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[1]", "portion", + u"A nevelésnek az emberi személyiség teljes kibontakoztatására, valamint az emberi jo"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[4]", "portion", + u"közötti megértést, türelmet és barátságot, valamint támogatnia kell az Egyesült Nem"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[14]/SwParaPortion/SwLineLayout[4]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[1]", "portion", + u"A szülőket elsőbbségi jog illeti meg a gyermekeiknek adandó oktatás megválasztásá"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[15]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // no compound-based "smart" hyphenation of the compound "jó|téteményekben" + // This is not hyphenated, when compound-based smart hyphenation is disabled + + if (bHunspell && aTests[3]) + { + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[17]/SwParaPortion/SwLineLayout[2]", "portion", + u"a művészetek élvezéséhez, valamint a tudomány haladásában és az abból származó "); + assertXPath(pXmlDoc, + "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", 0); + } + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[18]/SwParaPortion/SwLineLayout[1]", "portion", + u"Mindenkinek joga van minden általa alkotott tudományos, irodalmi és művészeti ter"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[18]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 12); + + // delete page 4 to update hyphenation on the next page + + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 2766, /*bBasicCall=*/false); + pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 2766, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 5 hyphenations on page 5 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden személynek joga van ahhoz, hogy mind a társadalmi, mind a nemzetközi vi"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[2]", "portion", + u"szonyok tekintetében olyan rendszer uralkodjék, amelyben a jelen Nyilatkozatban ki"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[1]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]", "portion", + u"Jogainak gyakorlásában és szabadságainak élvezetében mindenki csak olyan korláto"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // no compound-based "smart" hyphenation of the compound "el|ismerésének" + // This is not hyphenated by the plain, i.e. not compound-based "smart" hyphenation. + + if (bHunspell && aTests[4]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[2]", "portion", + u"zásoknak lehet alávetve, amelyeket a törvény kizárólag mások jogai és " + u"szabadságai "); + assertXPath(pXmlDoc, + "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", 0); + } + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[1]", "portion", + u"Ezeket a jogokat és szabadságokat semmi esetre sem lehet az Egyesült Nemzetek cél"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "állam" by shifting + // This was "ál-lam" + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[7]/SwParaPortion/SwLineLayout[1]", "portion", + u"A jelen Nyilatkozat egyetlen rendelkezése sem értelmezhető úgy, hogy az valamely "); + + if (bHunspell && aTests[4]) + assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 5); +} + +// check smart hyphenation and compound-based smart hyphenation +CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf173389_smart_hyphenation_hu) +{ + uno::Reference xHyphenator = LinguMgr::GetHyphenator(); + if (!xHyphenator->hasLocale(lang::Locale(u"hu"_ustr, u"HU"_ustr, OUString()))) + return; + + // compound-based hyphenation needs Hunspell morphological analysis + // (and an up-to-date Hungarian dictionary for full testing, which + // contains compound splitting information. E.g. dictionary version 1.7 + // didn't contain data for the words "valamint" and "elismerésének") + uno::Reference xSpell = LinguMgr::GetSpellChecker(); + LanguageType eLang + = LanguageTag::convertToLanguageType(lang::Locale(u"hu"_ustr, u"HU"_ustr, OUString())); + if (!xSpell.is() || !xSpell->hasLanguage(static_cast(eLang))) + return; + + std::vector> aCompound = { + { u"jogorvoslatért"_ustr, "hy:3" }, { u"valamint"_ustr, "hy:4" }, + { u"alapfokon"_ustr, "pa:fokon" }, { u"jótéteményekben"_ustr, "hy:2" }, + { u"elismerésének"_ustr, "hy:2" }, + }; + + // tests supported by the actual spelling dictionary + bool aTests[5]; + + // check Hunspell-based morphological analysis & hyphenation + bool bHunspell = xSpell->isValid("", static_cast(eLang), + uno::Sequence()); + if (bHunspell) + { + // check dictionary support of compound splitting + for (size_t i = 0; i < aCompound.size(); ++i) + { + aTests[i] = false; + // get morphological analysis of the test word + uno::Reference xTmpRes = xSpell->spell( + "" + aCompound[i].first + "", + static_cast(eLang), uno::Sequence()); + if (xTmpRes.is()) + { + uno::Sequence seq = xTmpRes->getAlternatives(); + if (seq.hasElements()) + { + sal_Int32 nEndOfFirstAnalysis = seq[0].indexOf(""); + // use only the first analysis, like the lingucomponent implementation + OUString morph(seq[0].copy(0, nEndOfFirstAnalysis)); + + // check compound data + aTests[i] = morph.indexOf(aCompound[i].second) > -1; + } + } + } + } + + createSwDoc("tdf173389_smart_hyphenation_hu.odt"); + // Ensure that all text portions are calculated before testing. + SwViewShell* pViewShell = getSwDoc()->getIDocumentLayoutAccess().GetCurrentViewShell(); + + CPPUNIT_ASSERT(pViewShell); + pViewShell->Reformat(); + + xmlDocUniquePtr pXmlDoc = parseLayoutDump(); + + // 53 hyphenations on 5 pages using compound-based smart hyphenation + // This was 67 without smart hyphenation and 53 without compound-based smart hyphenation + // (using only the plain or interoperable smart hyphenation). + + // 13 hyphenations on page 1 + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[3]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel arra, hogy az emberiség családja minden egyes tagja méltóságának, vala"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[3]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "emberiség" by shrinking + // This was "emberi-ség" + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[4]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel arra, hogy az emberi jogok el nem ismerése és semmibevevése az emberiség "); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel annak fontosságára, hogy az emberi jogokat a jog uralma védelmezze, ne"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[2]", "portion", + u"hogy az ember végső szükségében a zsarnokság és az elnyomás elleni lázadásra kény"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[5]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel arra, hogy igen lényeges a nemzetek közötti baráti kapcsolatok kifejlődésé"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[6]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "tettek" by shrinking + // This was "tet-tek" + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[7]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel arra, hogy az Alapokmányban az Egyesült Nemzetek népei újból hitet tettek "); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[7]/SwParaPortion/SwLineLayout[3]", "portion", + u"egyenjogúsága mellett, valamint kinyilvánították azt az elhatározásukat, hogy elősegí"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[7]/SwParaPortion/SwLineLayout[3]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]", "portion", + u"Tekintettel arra, hogy a tagállamok kötelezték magukat arra, hogy az Egyesült Nemze"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[8]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/SwParaPortion/SwLineLayout[1]", "portion", + u"A KÖZGYŰLÉS kinyilvánítja az EMBERI JOGOK EGYETEMES NYILATKOZA"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + // "smart" hyphenation: disabled hyphenation of "törekednie" by shifting + // This was "tö-rekednie" + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[9]/SwParaPortion/SwLineLayout[2]", "portion", + u"TÁT, mint azt a közös eszményt, amelynek elérésére minden népnek és nemzetnek "); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[11]/SwParaPortion/SwLineLayout[1]", "portion", + u"Minden emberi lény szabadnak születik, és egyenlő méltósága és joga van. Az embe"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[11]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[2]", "portion", + u"nyelvre, vallásra, politikai vagy más véleményre, nemzeti vagy társadalmi szárma"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[3]", "portion", + u"zásra, vagyonra, születésre vagy más körülményre vonatkozó mindennemű megkülön"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[3]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[4]", "portion", + u"böztetés nélkül mindenkit megilletnek. Ezenfelül nem lehet semmiféle megkülönböz"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[4]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[5]", "portion", + u"tetést tenni annak az országnak vagy területnek a politikai, jogi vagy nemzetközi hely"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[5]/SwHyphPortion", + 1); + + assertXPath( + pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[7]", "portion", + u"terület független, gyámság alatt áll, nem autonóm vagy szuverenitása bármely vonat"); + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[7]/SwHyphPortion", + 1); + + assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 13); + + // delete page 1 to update hyphenation on the next page + + SwWrtShell* const pWrtShell = getSwDocShell()->GetWrtShell(); + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/true, 2868, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 13 hyphenations on page 2 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + assertXPath( pXmlDoc, "/root/page[1]/body/txt[2]/SwParaPortion/SwLineLayout[1]", "portion", u"Senkit sem lehet rabszolgaságban vagy szolgaságban tartani; a rabszolgaság és a rab"); @@ -1365,6 +1879,216 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf119908_smart_hyphenation_hu) assertXPath(pXmlDoc, "/root/page[1]/body/txt/SwParaPortion/SwLineLayout/SwHyphPortion", 5); } +// check smart hyphenation and disabled compound-based smart hyphenation +CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf119908_smart_hyphenation_nl) +{ + uno::Reference xHyphenator = LinguMgr::GetHyphenator(); + if (!xHyphenator->hasLocale(lang::Locale(u"nl"_ustr, u"NL"_ustr, OUString()))) + return; + + // compound-based hyphenation needs fixed Hunspell morphological analysis + uno::Reference xSpell = LinguMgr::GetSpellChecker(); + LanguageType eLang + = LanguageTag::convertToLanguageType(lang::Locale(u"nl"_ustr, u"NL"_ustr, OUString())); + if (!xSpell.is() || !xSpell->hasLanguage(static_cast(eLang))) + return; + + std::vector> aCompound = { + { u"arbeidsvoorwaarden"_ustr, "pa:arbeids" }, + { u"doeleinden"_ustr, "pa:doel" }, + }; + + // tests supported by the actual spelling dictionary + bool aTests[2]; + + // check Hunspell-based morphological analysis & hyphenation + bool bHunspell = xSpell->isValid("", static_cast(eLang), + uno::Sequence()); + if (bHunspell) + { + // check dictionary support of compound splitting + for (size_t i = 0; i < aCompound.size(); ++i) + { + aTests[i] = false; + // get morphological analysis of the test word + uno::Reference xTmpRes = xSpell->spell( + "" + aCompound[i].first + "", + static_cast(eLang), uno::Sequence()); + if (xTmpRes.is()) + { + uno::Sequence seq = xTmpRes->getAlternatives(); + if (seq.hasElements()) + { + sal_Int32 nEndOfFirstAnalysis = seq[0].indexOf(""); + // use only the first analysis, like the lingucomponent implementation + OUString morph(seq[0].copy(0, nEndOfFirstAnalysis)); + + // check compound data + aTests[i] = morph.indexOf(aCompound[i].second) > -1; + } + } + } + } + + createSwDoc("tdf119908_smart_hyphenation_ml.odt"); + // Ensure that all text portions are calculated before testing. + SwViewShell* pViewShell = getSwDoc()->getIDocumentLayoutAccess().GetCurrentViewShell(); + + CPPUNIT_ASSERT(pViewShell); + pViewShell->Reformat(); + + xmlDocUniquePtr pXmlDoc = parseLayoutDump(); + + // delete page 1-2 to update hyphenation on the next page + + SwWrtShell* const pWrtShell = getSwDocShell()->GetWrtShell(); + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/true, 6151, /*bBasicCall=*/false); + pWrtShell->Delete(); + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + // no compound-based "smart" hyphenation of the compound "arbeids|voorwaarden" + // This is hyphenated as "ar-beidsvoorwaarden" previously, not "arbeids-voorwaarden" + + if (bHunspell && aTests[0]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[25]/SwParaPortion/SwLineLayout[1]", "portion", + u"Een ieder heeft recht op arbeid, op vrije keuze van beroep, op rechtmatige " + u"en gunstige ar"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + // delete page 2 to update hyphenation on the next page + + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 6179, /*bBasicCall=*/false); + pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 6179, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 10 hyphenations on page 3 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + // compound-based "smart" hyphenation of the compound "doel|einden" + // This is hyphenated as "doelein-den" previously, not "doel-einden" + + if (bHunspell && aTests[1]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]", "portion", + u"Deze rechten en vrijheden mogen in geen geval worden uitgeoefend in strijd " + u"met de doelein"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); +} + +// check smart hyphenation and compound-based smart hyphenation +CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf173389_smart_hyphenation_nl) +{ + uno::Reference xHyphenator = LinguMgr::GetHyphenator(); + if (!xHyphenator->hasLocale(lang::Locale(u"nl"_ustr, u"NL"_ustr, OUString()))) + return; + + // compound-based hyphenation needs fixed Hunspell morphological analysis + uno::Reference xSpell = LinguMgr::GetSpellChecker(); + LanguageType eLang + = LanguageTag::convertToLanguageType(lang::Locale(u"nl"_ustr, u"NL"_ustr, OUString())); + if (!xSpell.is() || !xSpell->hasLanguage(static_cast(eLang))) + return; + + std::vector> aCompound = { + { u"arbeidsvoorwaarden"_ustr, "pa:arbeids" }, + { u"doeleinden"_ustr, "pa:doel" }, + }; + + // tests supported by the actual spelling dictionary + bool aTests[2]; + + // check Hunspell-based morphological analysis & hyphenation + bool bHunspell = xSpell->isValid("", static_cast(eLang), + uno::Sequence()); + if (bHunspell) + { + // check dictionary support of compound splitting + for (size_t i = 0; i < aCompound.size(); ++i) + { + aTests[i] = false; + // get morphological analysis of the test word + uno::Reference xTmpRes = xSpell->spell( + "" + aCompound[i].first + "", + static_cast(eLang), uno::Sequence()); + if (xTmpRes.is()) + { + uno::Sequence seq = xTmpRes->getAlternatives(); + if (seq.hasElements()) + { + sal_Int32 nEndOfFirstAnalysis = seq[0].indexOf(""); + // use only the first analysis, like the lingucomponent implementation + OUString morph(seq[0].copy(0, nEndOfFirstAnalysis)); + + // check compound data + aTests[i] = morph.indexOf(aCompound[i].second) > -1; + } + } + } + } + + createSwDoc("tdf173389_smart_hyphenation_ml.odt"); + // Ensure that all text portions are calculated before testing. + SwViewShell* pViewShell = getSwDoc()->getIDocumentLayoutAccess().GetCurrentViewShell(); + + CPPUNIT_ASSERT(pViewShell); + pViewShell->Reformat(); + + xmlDocUniquePtr pXmlDoc = parseLayoutDump(); + + // delete page 1-2 to update hyphenation on the next page + + SwWrtShell* const pWrtShell = getSwDocShell()->GetWrtShell(); + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/true, 6151, /*bBasicCall=*/false); + pWrtShell->Delete(); + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + // compound-based "smart" hyphenation of the compound "arbeids|voorwaarden" + // This was hyphenated as "ar-beidsvoorwaarden" previously, now "arbeids-voorwaarden" + + if (bHunspell && aTests[0]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[25]/SwParaPortion/SwLineLayout[1]", "portion", + u"Een ieder heeft recht op arbeid, op vrije keuze van beroep, op rechtmatige " + u"en gunstige arbeids"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[10]/SwParaPortion/SwLineLayout[2]/SwHyphPortion", + 1); + + // delete page 2 to update hyphenation on the next page + + pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 6179, /*bBasicCall=*/false); + pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/true, 6179, /*bBasicCall=*/false); + pWrtShell->Delete(); + + // 10 hyphenations on page 3 + + pViewShell->Reformat(); + pXmlDoc = parseLayoutDump(); + + // compound-based "smart" hyphenation of the compound "doel|einden" + // This was hyphenated as "doelein-den" previously, now "doel-einden" + + if (bHunspell && aTests[1]) + { + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]", "portion", + u"Deze rechten en vrijheden mogen in geen geval worden uitgeoefend in strijd " + u"met de doel"); + } + assertXPath(pXmlDoc, "/root/page[1]/body/txt[13]/SwParaPortion/SwLineLayout[1]/SwHyphPortion", + 1); +} + CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testTdf158333) { createSwDoc("tdf130088.docx"); diff --git a/sw/qa/uitest/styleInspector/styleInspector.py b/sw/qa/uitest/styleInspector/styleInspector.py index 3995c8be557f..1f808c878835 100644 --- a/sw/qa/uitest/styleInspector/styleInspector.py +++ b/sw/qa/uitest/styleInspector/styleInspector.py @@ -26,7 +26,7 @@ class styleNavigator(UITestCase): # The cursor is on text without formatting and default style self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) self.assertEqual(0, len(xListBox.getChild('3').getChildren())) @@ -36,7 +36,7 @@ class styleNavigator(UITestCase): # The cursor is on text with direct formatting self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) @@ -54,7 +54,7 @@ class styleNavigator(UITestCase): # The cursor is on text with paragraph direct formatting self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) xParDirFormatting = xListBox.getChild('1') self.assertEqual(7, len(xParDirFormatting.getChildren())) @@ -75,13 +75,13 @@ class styleNavigator(UITestCase): xParStyle = xListBox.getChild('0') self.assertEqual(3, len(xParStyle.getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xParStyle.getChild('0'))['Text']) - self.assertEqual(160, len(xParStyle.getChild('0').getChildren())) + self.assertEqual(161, len(xParStyle.getChild('0').getChildren())) self.assertEqual("Heading\t", get_state_as_dict(xParStyle.getChild('1'))['Text']) self.assertEqual(28, len(xParStyle.getChild('1').getChildren())) xTitleStyle = xParStyle.getChild('2') self.assertEqual("Title\t", get_state_as_dict(xTitleStyle)['Text']) - self.assertEqual(24, len(xTitleStyle.getChildren())) + self.assertEqual(25, len(xTitleStyle.getChildren())) self.assertEqual("Char Difference Height\t0", get_state_as_dict(xTitleStyle.getChild('0'))['Text']) self.assertEqual("Char Difference Height Asian\t0", get_state_as_dict(xTitleStyle.getChild('1'))['Text']) self.assertEqual("Char Difference Height Complex\t0", get_state_as_dict(xTitleStyle.getChild('2'))['Text']) @@ -97,15 +97,16 @@ class styleNavigator(UITestCase): self.assertEqual("Follow Style\tText body", get_state_as_dict(xTitleStyle.getChild('12'))['Text']) self.assertEqual("Para Adjust\t3", get_state_as_dict(xTitleStyle.getChild('13'))['Text']) self.assertEqual("Para Composer\tFalse", get_state_as_dict(xTitleStyle.getChild('14'))['Text']) - self.assertEqual("Para Expand Single Word\tFalse", get_state_as_dict(xTitleStyle.getChild('15'))['Text']) - self.assertEqual("Para Last Line Adjust\t0", get_state_as_dict(xTitleStyle.getChild('16'))['Text']) - self.assertEqual("Para Letter Spacing Maximum\t0", get_state_as_dict(xTitleStyle.getChild('17'))['Text']) - self.assertEqual("Para Letter Spacing Minimum\t0", get_state_as_dict(xTitleStyle.getChild('18'))['Text']) - self.assertEqual("Para Scale Width Maximum\t100", get_state_as_dict(xTitleStyle.getChild('19'))['Text']) - self.assertEqual("Para Scale Width Minimum\t100", get_state_as_dict(xTitleStyle.getChild('20'))['Text']) - self.assertEqual("Para Word Spacing\t100", get_state_as_dict(xTitleStyle.getChild('21'))['Text']) - self.assertEqual("Para Word Spacing Maximum\t100", get_state_as_dict(xTitleStyle.getChild('22'))['Text']) - self.assertEqual("Para Word Spacing Minimum\t100", get_state_as_dict(xTitleStyle.getChild('23'))['Text']) + self.assertEqual("Para Compound-based Hyphenation\tFalse", get_state_as_dict(xTitleStyle.getChild('15'))['Text']) + self.assertEqual("Para Expand Single Word\tFalse", get_state_as_dict(xTitleStyle.getChild('16'))['Text']) + self.assertEqual("Para Last Line Adjust\t0", get_state_as_dict(xTitleStyle.getChild('17'))['Text']) + self.assertEqual("Para Letter Spacing Maximum\t0", get_state_as_dict(xTitleStyle.getChild('18'))['Text']) + self.assertEqual("Para Letter Spacing Minimum\t0", get_state_as_dict(xTitleStyle.getChild('19'))['Text']) + self.assertEqual("Para Scale Width Maximum\t100", get_state_as_dict(xTitleStyle.getChild('20'))['Text']) + self.assertEqual("Para Scale Width Minimum\t100", get_state_as_dict(xTitleStyle.getChild('21'))['Text']) + self.assertEqual("Para Word Spacing\t100", get_state_as_dict(xTitleStyle.getChild('22'))['Text']) + self.assertEqual("Para Word Spacing Maximum\t100", get_state_as_dict(xTitleStyle.getChild('23'))['Text']) + self.assertEqual("Para Word Spacing Minimum\t100", get_state_as_dict(xTitleStyle.getChild('24'))['Text']) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) @@ -117,7 +118,7 @@ class styleNavigator(UITestCase): xParStyle = xListBox.getChild('0') self.assertEqual(3, len(xParStyle.getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xParStyle.getChild('0'))['Text']) - self.assertEqual(160, len(xParStyle.getChild('0').getChildren())) + self.assertEqual(161, len(xParStyle.getChild('0').getChildren())) self.assertEqual("Body Text\t", get_state_as_dict(xParStyle.getChild('1'))['Text']) self.assertEqual(6, len(xParStyle.getChild('1').getChildren())) @@ -152,7 +153,7 @@ class styleNavigator(UITestCase): # The cursor is on text without metadata self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) self.assertEqual(0, len(xListBox.getChild('3').getChildren())) @@ -162,7 +163,7 @@ class styleNavigator(UITestCase): # The cursor is on text with paragraph metadata showed under direct paragraph formatting self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) xParDirFormatting = xListBox.getChild('1') self.assertEqual(1, len(xParDirFormatting.getChildren())) @@ -215,7 +216,7 @@ class styleNavigator(UITestCase): # The cursor is on text without metadata self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) self.assertEqual(0, len(xListBox.getChild('3').getChildren())) @@ -225,7 +226,7 @@ class styleNavigator(UITestCase): # The cursor is on text with paragraph metadata showed under direct paragraph formatting self.assertEqual(1, len(xListBox.getChild('1').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('1').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('1').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('1').getChild('0').getChildren())) # Outer bookmark xBookmarkFormatting = xListBox.getChild('0') @@ -272,7 +273,7 @@ class styleNavigator(UITestCase): # The cursor is on text without metadata self.assertEqual(1, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) self.assertEqual(0, len(xListBox.getChild('1').getChildren())) self.assertEqual(0, len(xListBox.getChild('2').getChildren())) diff --git a/sw/qa/uitest/styleInspector/tdf137513.py b/sw/qa/uitest/styleInspector/tdf137513.py index 0599e4dc1007..33a597b41988 100644 --- a/sw/qa/uitest/styleInspector/tdf137513.py +++ b/sw/qa/uitest/styleInspector/tdf137513.py @@ -35,7 +35,7 @@ class tdf137513(UITestCase): self.assertEqual(2, len(xListBox.getChild('0').getChildren())) self.assertEqual("Default Paragraph Style\t", get_state_as_dict(xListBox.getChild('0').getChild('0'))['Text']) self.assertEqual("Table Contents\t", get_state_as_dict(xListBox.getChild('0').getChild('1'))['Text']) - self.assertEqual(160, len(xListBox.getChild('0').getChild('0').getChildren())) + self.assertEqual(161, len(xListBox.getChild('0').getChild('0').getChildren())) xTableContent = xListBox.getChild('0').getChild('1') self.assertEqual(5, len(xTableContent.getChildren())) diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index 2432bf6f023b..a96c964fd3e5 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -325,10 +325,37 @@ bool SwTextPortion::IsCompoundSplit( SwTextFormatInfo &rInf, const SwTextGuess & LanguageType aLang = rInf.GetTextFrame()->GetLangOfChar(rInf.GetIdx(), 1, true); - // Hungarian-only yet - if ( LANGUAGE_HUNGARIAN != aLang ) + // is compound-based "smart" hyphenation enabled? + SvxAdjustItem aAdjustItem = + rInf.GetTextFrame()->GetTextNodeForParaProps()->GetSwAttrSet().GetAdjust(); + if ( !aAdjustItem.GetCompoundBased() ) return false; + // need Hunspell dictionaries with compound-based heuristics + // TODO update the list according to the dictionary update + if ( LANGUAGE_ICELANDIC != aLang && + LANGUAGE_DANISH != aLang && + LANGUAGE_DUTCH != aLang && + LANGUAGE_DUTCH_BELGIAN != aLang && + LANGUAGE_ESTONIAN != aLang && + LANGUAGE_FINNISH != aLang && + LANGUAGE_LATVIAN != aLang && + LANGUAGE_GERMAN != aLang && + LANGUAGE_GERMAN_AUSTRIAN != aLang && + LANGUAGE_GERMAN_LIECHTENSTEIN != aLang && + LANGUAGE_GERMAN_LUXEMBOURG != aLang && + LANGUAGE_GERMAN_SWISS != aLang && + LANGUAGE_HUNGARIAN != aLang && + LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA != aLang && + LANGUAGE_NORWEGIAN_BOKMAL != aLang && + LANGUAGE_NORWEGIAN_NYNORSK != aLang && + LANGUAGE_SWEDISH != aLang && + LANGUAGE_SWEDISH_FINLAND != aLang && + LANGUAGE_USER_ESPERANTO != aLang ) + { + return false; + } + LanguageTag aLanguageTag(aLang); uno::Reference< linguistic2::XHyphenator > xHyph; @@ -733,6 +760,7 @@ bool SwTextPortion::Format_( SwTextFormatInfo &rInf ) // perhaps there is a compound splitting in the same word before the plain hyphenation bool bPossibleCompoundSplit = bOrigHyphenated3 && + aAdjustItem.GetCompoundBased() && pGuess3->HyphWord()->getHyphenationPos() < pGuess2->HyphWord()->getHyphenationPos() && pGuess3->HyphWord()->getWord().equals(pGuess2->HyphWord()->getWord()); diff --git a/sw/source/core/unocore/unomapproperties.hxx b/sw/source/core/unocore/unomapproperties.hxx index 0ec513ad13f0..4d18da466b02 100644 --- a/sw/source/core/unocore/unomapproperties.hxx +++ b/sw/source/core/unocore/unomapproperties.hxx @@ -198,6 +198,7 @@ { UNO_NAME_PARA_SCALE_WIDTH_MIN, RES_PARATR_ADJUST, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_SCALE_WIDTH_MIN }, \ { UNO_NAME_PARA_SCALE_WIDTH_MAX, RES_PARATR_ADJUST, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_SCALE_WIDTH_MAX }, \ { UNO_NAME_PARA_COMPOSER, RES_PARATR_ADJUST, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_PARAGRAPH_COMPOSER }, \ + { UNO_NAME_PARA_IS_COMPOUND_BASED, RES_PARATR_ADJUST, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_COMPOUND_BASED }, \ { UNO_NAME_PARA_LINE_NUMBER_COUNT, RES_LINENUMBER, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_LINENUMBER_COUNT }, \ { UNO_NAME_PARA_LINE_NUMBER_START_VALUE, RES_LINENUMBER, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, MID_LINENUMBER_STARTVALUE }, \ { UNO_NAME_PARA_LINE_SPACING, RES_PARATR_LINESPACING, cppu::UnoType::get(), PropertyAttribute::MAYBEVOID, CONVERT_TWIPS }, \ @@ -475,6 +476,7 @@ { UNO_NAME_PARA_SCALE_WIDTH_MIN, RES_PARATR_ADJUST, cppu::UnoType::get(), PROPERTY_NONE, MID_SCALE_WIDTH_MIN},\ { UNO_NAME_PARA_SCALE_WIDTH_MAX, RES_PARATR_ADJUST, cppu::UnoType::get(), PROPERTY_NONE, MID_SCALE_WIDTH_MAX},\ { UNO_NAME_PARA_COMPOSER, RES_PARATR_ADJUST, cppu::UnoType::get(), PROPERTY_NONE, MID_PARAGRAPH_COMPOSER},\ + { UNO_NAME_PARA_IS_COMPOUND_BASED, RES_PARATR_ADJUST, cppu::UnoType::get(), PROPERTY_NONE, MID_COMPOUND_BASED},\ { UNO_NAME_PARA_LINE_NUMBER_COUNT, RES_LINENUMBER, cppu::UnoType::get(), PROPERTY_NONE ,MID_LINENUMBER_COUNT },\ { UNO_NAME_PARA_LINE_NUMBER_START_VALUE, RES_LINENUMBER, cppu::UnoType::get(), PROPERTY_NONE ,MID_LINENUMBER_STARTVALUE},\ { UNO_NAME_PARA_LINE_SPACING, RES_PARATR_LINESPACING, cppu::UnoType::get(),PROPERTY_NONE, CONVERT_TWIPS},\ diff --git a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx index 54b80a085da0..352792ec3b75 100644 --- a/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx +++ b/sw/source/uibase/sidebar/WriterInspectorTextPanel.cxx @@ -267,6 +267,7 @@ static OUString PropertyNametoRID(const OUString& rName) { "ParaBottomMarginRelative", RID_PARA_BOTTOM_MARGIN_RELATIVE }, { "ParaChapterNumberingLevel", RID_PARA_CHAPTER_NUMBERING_LEVEL }, { "ParaComposer", RID_PARA_COMPOSER }, + { "ParaIsCompoundBased", RID_PARA_COMPOUND_BASED_HYPHENATION }, { "ParaConditionalStyleName", RID_PARA_CONDITIONAL_STYLE_NAME }, { "ParaContextMargin", RID_PARA_CONTEXT_MARGIN }, { "ParaExpandSingleWord", RID_PARA_EXPAND_SINGLE_WORD }, diff --git a/xmloff/inc/xmlprop.hxx b/xmloff/inc/xmlprop.hxx index bd46d1de9060..22b7c31a9d84 100644 --- a/xmloff/inc/xmlprop.hxx +++ b/xmloff/inc/xmlprop.hxx @@ -498,6 +498,7 @@ inline constexpr OUString PROP_ParaBackTransparent = u"ParaBackTransparent"_ustr inline constexpr OUString PROP_ParaBottomMargin = u"ParaBottomMargin"_ustr; inline constexpr OUString PROP_ParaBottomMarginRelative = u"ParaBottomMarginRelative"_ustr; inline constexpr OUString PROP_ParaComposer = u"ParaComposer"_ustr; +inline constexpr OUString PROP_ParaIsCompoundBased = u"ParaIsCompoundBased"_ustr; inline constexpr OUString PROP_ParaContextMargin = u"ParaContextMargin"_ustr; inline constexpr OUString PROP_ParaExpandSingleWord = u"ParaExpandSingleWord"_ustr; inline constexpr OUString PROP_ParaFirstLineIndent = u"ParaFirstLineIndent"_ustr; diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index b40ff54681e7..8e492b0fcbda 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -501,6 +501,7 @@ namespace xmloff::token { TOKEN( "command", XML_COMMAND ), TOKEN( "comment", XML_COMMENT ), TOKEN( "compose", XML_COMPOSE ), + TOKEN( "compound-based", XML_COMPOUND_BASED ), TOKEN( "cond-style-name", XML_COND_STYLE_NAME ), TOKEN( "condition", XML_CONDITION ), TOKEN( "condition-source", XML_CONDITION_SOURCE ), diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx index ffc15c274a3b..7affff4b43db 100644 --- a/xmloff/source/text/txtprmap.cxx +++ b/xmloff/source/text/txtprmap.cxx @@ -500,6 +500,7 @@ XMLPropertyMapEntry constexpr aXMLParaPropMap[] = MAP_EXT( PROP_ParaScaleWidthMinimum, XML_NAMESPACE_LO_EXT, XML_TEXT_SCALE_MINIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ), MAP_EXT( PROP_ParaScaleWidthMaximum, XML_NAMESPACE_LO_EXT, XML_TEXT_SCALE_MAXIMUM, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_PERCENT16, 0 ), MAP_EXT( PROP_ParaComposer, XML_NAMESPACE_LO_EXT, XML_PARAGRAPH_COMPOSER, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_BOOL, 0 ), + MAP_EXT( PROP_ParaIsCompoundBased, XML_NAMESPACE_LO_EXT, XML_COMPOUND_BASED, XML_TYPE_PROP_PARAGRAPH|XML_TYPE_BOOL, 0 ), MT_ED( PROP_CharScriptHint, XML_NAMESPACE_STYLE, XML_SCRIPT_TYPE, XML_TYPE_TEXT_SCRIPT_TYPE|MID_FLAG_MERGE_PROPERTY, 0 ), diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt index bc5dd85f814a..52810244381a 100644 --- a/xmloff/source/token/tokens.txt +++ b/xmloff/source/token/tokens.txt @@ -405,6 +405,7 @@ comma-separated command comment compose +compound-based cond-style-name condition condition-source