summaryrefslogtreecommitdiff
path: root/sw/qa
AgeCommit message (Collapse)Author
2024-07-03disable most of tdf159102 UITest againNoel Grandin
because it fails reliably on my machine and on the ASAN box Change-Id: I4eddbcc04f96837783a41fb30e4d003d11c14aad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169890 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-02BootstrapFixture: get rid of mxComponentContextXisco Fauli
Change-Id: I0318485c3c0159277e47096e0c7e0df8ed109ea4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169865 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-07-02tdf#159102 sw: add missing get_url_for_data_file to the unit testLászló Németh
Partial revert of commit 5fa3abd3b28b7c30d015dc058f7719112003f51e "tdf#158803 Remove unused imports from uitest". Follow-up to commit c6d7b7fa686b742c6ffef42aa6cc280358babe0d "tdf#159102 sw: enable unit test again with extended test document". Change-Id: Id6397d322f25f1b3e981d8e206a54bb79a54b831 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169848 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-07-01tdf#159102 sw: enable unit test again with extended test documentLászló Németh
It seems, incomplete document settings resulted broken unit testing on some platforms, so complete the test document with the removed document settings, and enable the test again. This reverts also commit 1b83ebf42c535528b73baac2407b347f19070d07 "disabling UITest tdf159102". Change-Id: I53f008a096aa209fb2c634e7e2464a1a4acbab71 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169842 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-07-01tdf#160170 sw: test for fix overshrank lines with hyphenationLászló Németh
Follow-up to commit ca540209a8c20a2734f180d4706d5153bdf64523 "tdf#160170 sw: fix overshrunk justified lines at hyphenation". Change-Id: Ia983e7f560b996f9b11b679d346186ad39e85598 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169840 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-07-01tdf#160817 SwNavigator expose main functions for selected entryJim Raykowski
Replaces the headings/outline move action buttons in the tools area with a toolbar to expose the main functions for the selected entry in the content tree. Change-Id: Iedb5b53375088a159d640fb986bfcf9376fa2072 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168174 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-06-29Fix VBA get*Padding, which returns a floating-point valueMike Kaganski
Introduced in commit f3234f4f14702da71528561418f07ee6670a8c2a (VBA Add Padding properties to XTable, 2022-08-05). The unit test is edited to test that the value returned by the methods is equal to the initially set value, with precision of 0.1 pt. Change-Id: I24144cd0e3c1e72bd2664a2a052ac3c7006595ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169762 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-29Rename some ConversionHelper functionsMike Kaganski
Make their names more explicit. This avoids ambiguity; previously, convertTwipToMM100 was very similar to tools' convertTwipToMm100, provoking the former function's use where the latter is better. Drop convertTwipToMM100WithoutLimit, and use the unconstrained function from tools directly instead. Change-Id: Icdd1a67721cdd8a578bc786fda67c341b07ec84a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169759 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-29Fix "lets" -> "let's"Andrea Gelmini
Change-Id: I01968fc18b093dbbc27213f01c3da38ae151c62c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169748 Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net> Tested-by: Jenkins
2024-06-29Simplify WrapPolygonMike Kaganski
Use doubles instead of fractions. Simplify correctWordWrapPolygon, which used redundant arithmetics (it scaled by a fraction with nWrap100Percent in multiplier, then by another fraction with nWrap100Percent in divisor). Change-Id: I69a38ac7e3afda33a1e7725cab711d50dc80eed7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169746 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-28Resolves tdf#115665 Format in the CTRL+H search affectsJim Raykowski
the CTRL+F search Change-Id: I51ccd2186c47a91958c262efac9a1514b9c3b138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169606 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-06-28tdf#92029: sw_autocorrect: Add unittestXisco Fauli
Change-Id: I7ac855ac826353869c3a905ea70448d0c8dc1b76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169711 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-28Related: tdf#161708 sw content controls: fix custom default of dropdown to PDFMiklos Vajna
Export the bugdoc to PDF without noticing that there is a content control around some of the content and notice how the PDF export lacks some words from the body text. What happens is that content controls are exported to PDF as PDF forms by default, and the selected option of a dropdown has to be an index, so in case the text of the dropdown content control is not one of the options, then the PDF will miss those words. Fix the problem by inserting the text of the dropdown at the start if there would be no valid index for it. Also add a bit of padding around the rectangle of the content controls, it turns out there is a default 1pt border in PDF, and this would lead to a cut-off text at the end if we don't compensate for that border. Change-Id: I99447894b320b42ad9ffe0d54d0190000621616b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169694 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-28tdf#43767 mso-format layout: no smallcaps applied to numberingJustin Luth
If the paragraph marker is formatted as Uppercase, then Uppercase is applied to that line's numbering as well. However, if the marker is formatted as SmallCaps, it MUST NOT be applied for MSO formats. Apparently MSO only supports Uppercase and SmallCaps, not Lowercase or Titlease. I don't like these adhoc exceptions, so I didn't attempt to apply them to ODF formats. Let's keep it simple for ODF - any char format that applies to the entire paragraph should apply to numbering as well (except for the existing underline/overline exceptions). - if you don't like that char attributes apply at all, blame MSO. - if you don't like that DOCX is missing your goofy formatting, blame MSO for being inconsistent. ooxmlexport12's tdf143384_tableInFoot_negativeMargins.docx is almost interesting because it applies superscript and small caps. However, the list is already uppercase, so it can't be used for the test. make CppunitTest_sw_ooxmlexport21 \ CPPUNIT_TEST_NAME=testTdf43767_caseMapNumbering Change-Id: I273baebc996adfd001e1c591dbb9aef9272a42f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169476 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2024-06-27tdf#159777 - A11Y sidebar: Add warning about ParaTopMarginBalazs Varga
and ParaBottomMargin direct formats. Change-Id: Ifac19eba9d3c2e3631ebede1a5f9f172bbaf8927 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169541 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-06-27tdf#159925 - A11Y sidebar: Check for missing hyperlink nameBalazs Varga
Check if the hyperlink have missing name and add a fix button to fix the warning. Change-Id: I3a69490aa81cf0ed9d0edb04eaa3401e4b47eb7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169508 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-06-27Related: tdf#161652 sw, RTF paste: avoid duplicated numbering stylesMiklos Vajna
Open the DOCX bugdoc from <https://bugs.documentfoundation.org/show_bug.cgi?id=161652#c6>, select-all, copy, open a second document, paste as RTF, paste as RTF again, the number of char styles in the document change from 27 to 55, then to 73. That is surprising, paragraph styles work by first creating them then a 2nd paste just refers to them. It seems what happens is that paragraph styles are handled in StyleSheetTable::ApplyStyleSheetsImpl(), and we have an explicit "When pasting, don't update existing styles" code there; on the other hand ListDef::GetStyleName() solves the style name collision by appending enough "a" characters at the end of the style name till there is no collision. Fix the inconsistency by adapting the list style behavior to match what paragraph styles do: if we don't open an RTF file but paste into an existing document, then try to use the existing style on collision. Fixing this on the RTF producing side would be less effective, also one could argue that in case a numbering uses e.g. 3 levels, then it still makes sense to emit the definition for all levels to help the editor once numbering levels are increased in the pasted content. Change-Id: Ia211cb4300c3c41dae8c815ddfaf30cc2f0de8b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169609 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-26tdf#156724 sw: layout: ignore footnotes when splitting float table rowMichael Stahl
(regression from commit 534d3818aedfa95ad73935235462f5ec2817f5da) Change-Id: I169d88375a93c288604a89ef89f7e895830446c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169570 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-26tdf#161718 sw: fix background flys blocking footnotesMichael Stahl
The problem is that the document has an unwanted page break on the paragraph with the footnote. The reason is that lcl_GetFootnoteLower() tries to evade flys, but doesn't take into account that background flys (Wrap Through) should be ignored. (somehow regression from commit c303981cfd95ce1c3881366023d5495ae2edce97) Change-Id: I02578f14644e232fac127142fe12801101f87f86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169530 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-26tdf#161779 DOCX import, drawingML: fix handling of translation for linesMiklos Vajna
Open the bugdoc, it has a line with a non-zero horizontal offset from the anchor paragraph, it shows up as a horizontal line, while it should be vertical. Checking how the ODT import and the DOCX import works for lines, one obvious difference is that the ODT import at SdXMLLineShapeContext::startFastElement() only considers the size / scaling for the individual points, everything else goes to the transform matrix of the containing shape, set in SdXMLShapeContext::SetTransformation(). The drawingML import is way more complex, but it effectively tries to not set any transformation on the shape and just transorms the points of the line instead. Fix the problem by changing Shape::createAndInsert() to also not put any scaling to the transform matrix, to not transform the points of the line and finally to apply the transform matrix to lines as well. Do this only for toplevel Writer lines, that's enough to fix the bugdoc and group shapes / Calc shapes need more investigation, so leave those unchanged for now. Tests which were failing while working on this change: - CppunitTest_sc_shapetest's testTdf144242_Line_noSwapWH: do this for Writer shapes only, for now - CppunitTest_sw_ooxmlimport's lineRotation: this is already broken partially, now looks perfect - CppunitTest_sw_ooxmlimport's testTdf85232 / group shape: this points out that lines in group shapes are some additional complexity, so leave that case unchanged, for now - CppunitTest_sw_ooxmlexport3's testArrowPosition: manual testing shows this is still OK - CppunitTest_sw_writerfilter_dmapper's testTdf141540GroupLinePosSize: manual testing shows this is still OK Change-Id: I246430148e3b3c927e010f360fa317e8429c82d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169533 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-25tdf#161721 sw: text formatting: TabOverMargin not crazy enoughMichael Stahl
Word will use a center or right tab position in the margin without limiting it, and even put text after it. Change-Id: Ibae5758467620f355544963acb7941689fae2602 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169517 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-06-24Related: tdf#161652 sw, RTF paste: only keep used paragraph stylesMiklos Vajna
When pasting from old enough Impress that doesn't have commit afb4ea67463d9f0200dc6216cfd932aec0984c82 (tdf#161652 editeng, RTF copy: only write used paragraph styles, 2024-06-20), it still happened that we got many styles from an Impress slide's paragraph in Writer than just the style of that paragraph itself. The problem is that if we want to avoid problems with bad user input, that has to be handled on the RTF paste / import side, not on the producing side. Fix the problem by filtering out unused paragraph styles also on the RTF import (paste) side, in the IsNewDoc() case, which is the clipboard case (not RTF file open). With this, we attempt to filter out not needed paragraph styles both on the import and export side. Change-Id: Ic2c63e5f45245bb4296ec0d1a95558c459667e29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169445 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-21tdf#158454 Add Thai Autocorrect Support, coding partTheppitak Karoonboonyanan
SvxAutoCorrDoc::ChgAutoCorrWord() implementations: correct multiple patterns * include/editeng/svxacorr.hxx, editeng/source/misc/svxacorr.cxx: - Add classes SvxAutocorrWordList::{Iterator,WordSearchStatus}. - Make SvxAutocorrWordList::SearchWordsInList() return WordSearchStatus so the search can be continued with the added SvxAutocorrWordList::SearchWordsNext() method. - Make SvxAutoCorrect::SearchWordsInList(), and its lcl_SearchWordsInList() companion, return WordSearchStatus propagated from SvxAutocorrWordList::SearchWordsInList(). - SvxAutocorrWordList::WordMatches(): The existing mechanism of preventing collision of patterns like in tdf#83037 (→ and ← and ↔ autocorrect collisions) was by storing the matched string of wildcard pattern back to the list without overwriting existing one. If the matched string was found in the list, it would just be treated as no matching. While this worked well for collision prevention, it caused failure on the new exhaustive wildcard pattern visiting method when autocorrecting the second text chunk with the same content. In such situation, all intermediate stages of corrections of the first text chunk would be recorded into the list. And, in the second chunk, the first stage would just be applied from the recorded pattern, but all the next stages would be refused due to the "collision" with the recorded patterns. Moreover, the new method would cause the list to grow more quickly as the autocorrections are done. To solve the problem, just "peek" for the collision instead of actually storing it. And SvxAutocorrWordList::ContainsPattern() is added for this purpose. * editeng/qa/unit/core-test.cxx: - Modify TestAutoCorrDoc::ChgAutoCorrWord() to iterate through all patterns, instead of finishing at the first one. * editeng/source/editeng/edtspell.cxx: - Ditto for EdtAutoCorrDoc::ChgAutoCorrWord(). * sw/source/core/edit/acorrect.cxx: - Ditto for SwAutoCorrDoc::ChgAutoCorrWord(). - SwAutoCorrDoc::ChgAutoCorrWord(): Remove old dead code for autocorrection on text with redlines. * sw/qa/extras/uiwriter/uiwriter6.cxx, +sw/qa/extras/uiwriter/data/tdf158454.odt: - Add unit test "testTdf158454". Change-Id: I8fb4a628a977b79b0ed2f239fd3749f15823b5df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160160 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-06-21tdf#161631: sw_ooxmlexport21: Add unittestXisco Fauli
Change-Id: I1496b82e67c5f408bd682b4998e3afaf74c37318 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169339 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-06-21tdf#107209 Writer correct vertical text break after fly portionsJonathan Clark
This change fixes an issue causing Writer to corrupt layout for vertical text following a fly-out. This bug manifested as overlapping or incorrectly-reordered lines of text, sometimes appearing many pages after the initial fly-out. Change-Id: I05abdbf3ff122398b995220ec4e410434931fdf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169307 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
2024-06-21tdf#161708 sw content controls: handle font color when exporting to PDF formMiklos Vajna
Export the bugdoc to PDF, the orange "date" lost its font color. This went wrong in commit 82d90529dc2b3cb8359dec78852cbd910a66d275 (sw content controls, rich text: add initial PDF export, 2022-09-12), we export the content control as a PDF form widget by default since then. Various properties like checkbox status and dropdown items were handled already, but not text color. Fix the problem by mapping the SwFont color to the widget descriptor color, this fixes the color of the already filled in content of the widget. Note that given this is a property of the form widget, the color is correctly applied also to strings filled in via PDF readers, interacting with the form. Change-Id: Id3e8611e415c0d571afe1cd14561c97b8a910ce9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169317 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-20CppunitTest_sw_writerfilter_ooxml: turn on set_non_application_font_useMiklos Vajna
Similar to commit dc4d7500c9d283e26d1553ce11366a217cf1f69d (Fix CppunitTest_sd_import_tests-smartart non_application_font_use, 2023-10-23): - sw/qa/writerfilter/ooxml/data/recursive_header_rels.docx: Aptos -> Calibri Change-Id: I6bcf3f39861426f2e94d0d88e301007501636e1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169283 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-20tdf#159906 - A11Y: Add new direct character formatting group levelBalazs Varga
for Formatted warnings and keep them not expanded (default) to avoid to many visible warning message on the sidebar. Change-Id: Ic251909d793198c3c4ce5e132b763c15ac1c9a9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169110 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-06-20rtf: Don't export changes author/date when in privacy modeSamuel Mehrbrodt
Change-Id: Id8f8dea4563df3cfb0ea9009783886bdabf91b11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168996 Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> Tested-by: Jenkins
2024-06-20rtf: Don't export notes author/date when in privacy modeSamuel Mehrbrodt
Change-Id: I6dd318fcae9470bb8fc911a8b4d7ff7c7d8f9636 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168984 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2024-06-19tdf#62603: sw unit test: replace string mix font styleKira Tubo
Test to see if font style is retained when performing find/replace on strings containing mixed font style/sizes. 1) For example, with a doc containing the string: "test - Normal font: " - Italic font: test 2) Search for: "t (this contains both normal and italic font) 3) Replace with: "gu 4) Resulting string should be: "guest - Normal font: " - Italic font: guest An additional test has been added to test for changes in font sizes (per comment 24). Change-Id: I957077efbcced0b981c31d0e547299e12a61609b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168486 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-06-19tdf#161635 sw DoNotCaptureDrawObjsOnPage: fix handling of left paddingMiklos Vajna
Open the bugdoc, the shape has an 5cm left padding for its text, but only 4cm of that is visible in Writer. Checking the shape, part of that is outside the page frame, so the first 1cm of the left padding is not visible, visually resulting in a 4cm left padding in Writer, but not in Word. Fix the problem by extending SwFlyFrame::MakePrtArea(), so in case the shape is partially outside the page frame, then we make sure to increase the left padding enough that the nominal (5cm) left padding is inside the page frame. With this, the text on the title page of the document is visually centered also in Writer, even if not using an explicit paragraph alignment. Change-Id: I5dcbcf407ed7f12f0bc13820fa39621a76e23fe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169186 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-19tdf#161643 sw DOCX import/export of maximum consecutive hyphenated linesLászló Németh
Fix line break interoperability by importing w:consecutiveHyphenLimit to ParaHyphenationMaxHyphens, and exporting ParaHyphenationMacHyphens to w:consecutiveHyphenLimit in OOXML import/export filters. Change-Id: I5f40bcff34ebebeabc0de9898955abda4dc34cde Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169127 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-06-19Fix typoAndrea Gelmini
Change-Id: Ifae040774dff2e75d4ddcfd38e8e67192f70d69a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169160 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19Remove exec bits on docx fileAndrea Gelmini
Change-Id: I8aef24c3536493ab73df7637990c48a2c94c2bf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169182 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-18loplugin:ostr in variousNoel Grandin
Change-Id: I7aa8ed716998a185996482dc561219b398a1c919 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169080 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-18tdf#161628 sw DOCX: export zero hyphenation zone, if it's not definedLászló Németh
To keep the layout of the document, export zero hyphenation zone instead of nothing, otherwise it would be 360 twips after importing the document with the default hyphenation zone. Follow-up to commit 8d8bc48b5efacde6f99d78a557cd052ce9e0ed07 "tdf#161628 DOCX import: set default hyphenation zone (1/4 inch)". Change-Id: I7be4a001f894bcdf10fff5f1b2e211a5a45566d6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169078 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-06-18tdf#161628 DOCX import: set default hyphenation zone (1/4 inch)László Németh
Default value of hyphenationZone is 360 twips (0.25"). Apply this value, if hyphenationZone is not defined, according to the OOXML standard. Follow-up to commit 5a079652c1b1f968a851f47995b0a65b84d2d192 "tdf#149421 DOCX: import/export hyphenation zone". Change-Id: Idadae973d93a14fbbe828fa74562db6262c40904 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169070 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-06-18Remove duplicated includeBogdan Buzea
Was added in https://gerrit.libreoffice.org/c/core/+/153356 Change-Id: I22e47ca0bcff45f22e288251c1aaa46cd4e29315 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169090 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-18tdf#161521 fix page margins on first page with mirrord layoutOliver Specht
Documents starting with an even page on a mirrored layout need to switch left/right margin on the first page. Applies also to docx export. JUnit test included Change-Id: Ia363941c6a7a25f9208acc7e40b77baa88080780 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168658 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-06-17tdf#161570 DOCX import: fix lost numbering in paragraph styleMiklos Vajna
Regression from commit ca71482237d31703454062b8b2f544a8bacd2831 (tdf#153083 writerfilter: import locale-dependent TOC \t style names, 2, 2023-01-31), open the doc, apply 'Level 2 Heading' on the first para, then switch back to 'Signature' again using e.g. the sidebar, the numbering of the first paragraph is gone. This was initially a wider problem, but since commit ab1697cb4c17fd7a2fbf8d374ac95fc03b4d00be (tdf#160402 filter,writerfilter: import locale-dependent STYLEREF names, 2024-05-06), the problem only affects built-in styles. There were two remaining problems: 1) the separator for the TOC field can contain whitespace, which resulted in a style named ' Signature' and 2) the style was always cloned, even if the name was not localized. Fix the problem by first trimming the style name in DomainMapper_Impl::handleToc() and then only cloning in DomainMapper_Impl::ConvertTOCStyleName() if we see that the style name is localized. A localized style name can be observed when opening e.g. sw/qa/extras/ooxmlexport/data/custom-styles-TOC-semicolon.docx that has Intensives Zitat vs Intense Quote. One remaining question is why the numbering is lost when the cloning happens, that's not addressed here, as the cloning should not happen for this document in the first place. Change-Id: Ibc2ea20cc3c9ec6bec9bdcdabce1469a0457317a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168994 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-17tdf#159924 sw: fix hyperlink name export to PDFTibor Nagy
If there is a Name attribute set for a hyperlink, the text is exported to PDF as tooltip. note: not every PDF reader displays this text Change-Id: Ib9f1c13403c1555bfae733d662754c0e052378f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168993 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-06-14tdf#92091 Writer save and restore VCL state during recursionJonathan Clark
This change updates Writer to save and restore VCL device state while laying out text. This fixes issues caused by Writer mutating device state while recursively laying out text, particularly overlapping RTL and LTR text when used together along with footnotes. Change-Id: I077352551ce2072f5c5eab9bff4b98bbcc6e78f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168835 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-06-14tdf#158658 sw: text formatting: make TabOverMargin even more crazyMichael Stahl
... to better match Word's formatting. The bugdoc has a special case where a right-aligned tab is positioned at the right margin exactly, which causes the bFull condition in SwTabPortion::PreFormat() to be true. An obvious change to replace rInf.Width() - rInf.X() with rInf.GetLineWidth() in the condition makes no difference because m_pLastTab was already reset previously; instead, pass in the last tab from Format(), which indicates that the right edge position of the previous text portion was found via that tab. Additionally, change the condition that checks for TabOverMargin to also allow equal positions, i.e., exactly at the end of the paragraph. Change-Id: I5d3b1c13eca0bffa640745d7c5f4113699f79cad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168823 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-14tdf#158658 sw: text formatting: try to make TabOverMargin more crazyMichael Stahl
... to better match Word's formatting; this commit is not based on a complete diagnosis of Word's compatibility-mode tab-in-margin formatting disorders. 1. in SwTabPortion::PreFormat() allow a left aligned tab beyond the width of the paragraph, like already done for TabOverSpacing 2. in SwTextFormatInfo::GetLineWidth() add some extra width to the paragraph so text can be hidden in the right margin. (it's very unclear what Word does here exactly, in one case it puts 339 additional "a" characters in the margin but then the 340th "a" goes onto a new line...) 3. in SwTextFormatter::NewTabPortion() allow manual tab stops to be positioned beyond the width of the paragraph, like already done for TabOverSpacing testTdf118672, testTdf120287b, testTdf120287c fail but the files, converted to RTF, render in Word 2013 basically the same as in Writer with this change. Change-Id: I5f74ced09c704bfd9967df61351c8bac6540e714 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168819 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-06-13Let LinkManager::UpdateAllLinks honor isUntrustedRefererStephan Bergmann
Change-Id: I3714061376afaf1186e4f7cfe5b28bfb54aa7a99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168789 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-06-13loplugin:ostr in sw/qaNoel Grandin
Change-Id: Ib67997a3f491afaec380ef65bc60588362d9cc3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168812 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-13tdf#161199 sw DoNotCaptureDrawObjsOnPage: capture wrap=none draw objectsMiklos Vajna
Regression from commit af313fc149f80adb0f1680ca20e19745ccb7fede (tdf#105143 DOCX import: enable DoNotCaptureDrawObjsOnPage layout compat option, 2017-01-06), the second page of the document has an off-page positioned draw shape, which is still kept inside the page frame in Word, but not in Writer anymore. Reading the SwAnchoredObjectPosition::GetInfoAboutObj() code, there are a number of conditions at play here, but the relevant one is that fly frames have the restriction that the "do not capture" behavior is restricted to wrap=through, but the wrap type was ignored in the draw shape case. Fix the problem by being consistent here: require wrap=through for both fly frames and draw shapes that moves the shape back inside the page frame. Note that Word goes a bit further here and even keeps the shape inside the body text area, but that doesn't seem to be a regression, so leave that unchanged for now. Change-Id: I3b6331c13d2376cac9b0de90f6f57289a7a0f0e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168762 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-13tdf#161509: Output the same special style names and identifiers as WordMike Kaganski
Take care to match the case of the names. Some tools rely on specific case; so standardize on what Word outputs. getXPath is modified to tell which XPath has failed (needed for the unit test). Change-Id: I3e71f5905b26d7e784d68ba11ff205eefedaaa2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168755 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-12Related: tdf#161533 Test fixes for CJK systemsJonathan Clark
Previously, `CppunitTest_sw_txtexport` and `CppunitTest_sw_txtimport` passed on most systems, but failed on fontconfig systems with CJK fallback fonts available. This change updates `CppunitTest_sw_txtexport` to remove the CJK requirement. This change also updates `CppunitTest_sw_txtimport` to temporarily remove `SAL_NON_APPLICATION_FONT_USE=abort`, which was responsible for the test failure. Change-Id: I0a91f5cccb367825adbcd0f93abbc3b8e9005698 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168752 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins