summaryrefslogtreecommitdiff
path: root/writerfilter
AgeCommit message (Collapse)AuthorFilesLines
2018-02-26forcepoint #10 pop empty stackCaolán McNamara3-3/+7
Change-Id: I96452a86187a6b03251614625445d1b18a5ee218 Reviewed-on: https://gerrit.libreoffice.org/50359 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-02-26tdf#115883 DOCX import: catch RuntimeException from SwXFrameMiklos Vajna1-1/+8
getPropertyValue("Surround") for a non-inserted frame can throw, but hasPropertyValue("Surround") still returns true. So fix the regression by just catching the exception, assuming that in that case no increased spacing is needed. Reviewed-on: https://gerrit.libreoffice.org/50175 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 5e1a50cc433a865da677faf7d502ba41858e45f6) Change-Id: I49a78ce8d41b4e1cc7d23721d5dc70f7550c94af Reviewed-on: https://gerrit.libreoffice.org/50349 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2018-02-17tdf#115719 DOCX import: increase paragraph spacing for anchored objectsMiklos Vajna7-29/+135
... like Word 2013 does, when the version string indicates that the new layout is wanted. An alternative to this change would be to add a new sw layout compatibility flag and handle this at a layout level (somewhere in SwAnchoredObject::GetObjRectWithSpaces()). The downside of that approach is that once a layout flag is added, it's not preferred to tweak its behavior, while doing the same at import time is not a problem. Also it's better to have a flag for something which has clear behavior in some spec / implementer notes, which is not the case for this problem. (I've mailed dochelp@microsoft, no answer so far.) (cherry picked from commit 8b73bafbc18acb4dd8911d2f2de8158d98eb6144) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport11.cxx Change-Id: Ibad28d27e4bcbe1991a3be1c686064e18e9ffa4d Reviewed-on: https://gerrit.libreoffice.org/49803 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2018-02-07rtf: null-derefCaolán McNamara1-21/+30
Change-Id: I9c4510cb91e2572a3ab2b62497dc4dd9fd1119c8 Reviewed-on: https://gerrit.libreoffice.org/49342 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-01-30DOCX import: handle horizontal flip of bitmapsMiklos Vajna1-0/+11
Horizontal mirror on the UNO API level, mirror on the vertical axis internally. (cherry picked from commit 4bdbb5502f5995727017e22bb8a74b9f45552067) Conflicts: sw/qa/extras/ooxmlexport/ooxmlexport11.cxx Change-Id: If142274a8f81a6875059a2651af6d8470870a36a Reviewed-on: https://gerrit.libreoffice.org/48902 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-11-10tdf#112352 ooxmlimport: ALWAYS treat 1st nextpage w/cols as contJustin Luth1-1/+1
fix 5.4 regression from 4605bd46984125a99b0e993b71efa6edb411699f. When there are columns, if a nextpage section doesn't contain any other "page style" details we treat it as a continuous break, If we don't, the column info becomes part of the style itself, and not just a section property. However, the very first section is troublesome - by definition it DOES contain page style details, and so if the document starts with columns, the default style would gain the column attribute. Usually that results in a mess, so lets make sure that we avoid that also in the case where headers/footers are defined. Change-Id: I7e08a9218e4304206579ed064bc92c9604d4470e Reviewed-on: https://gerrit.libreoffice.org/44505 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org> Reviewed-on: https://gerrit.libreoffice.org/44520 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-11-07tdf#113550 RTF import: fix incorrect text indentMiklos Vajna1-0/+3
Left indent was set to non-zero in the style, but direct formatting set it back to zero. Teach deduplication to remove the NS_ooxml::LN_CT_PPrBase_ind SPRM itself in case the last attribute was removed. (cherry picked from commit 5f4a3e7bd77c3294ef85eebec17ed2d624dc3a2d) Change-Id: I01b202f0241b02816b2b392326737b1150caffc2 Reviewed-on: https://gerrit.libreoffice.org/44395 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-11-02tdf#113408 RTF import style dedup: separate paragraph and character handlingMiklos Vajna2-8/+10
The problem was that the paragraph in question had no left margin, while it should have one. The reason for this is that the style deduplication logic took both the current paragraph and character style, but the direct formatting only contained character formatting, so it tried to emit the default values for all paragraph formatting. This started to show up after commit 657c6cc3acec0528209a8584b838cd6de581c437 (tdf#104228 RTF import: fix override of style left/right para margin, 2016-12-13), but the root cause is much older, it was there since commit 321d7ec2071472b3765a00806715e7ad9f8a306f (fdo#82078 RTF import: fix bold text spilling over to non-bold text, 2014-09-06). (cherry picked from commit 1970a686273c5d4fc1eeb4430283e37085d9f647) Change-Id: If03240a85cc9de89afe9111c2d29de2672e407bf Reviewed-on: https://gerrit.libreoffice.org/44115 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-25tdf#113202 RTF import: fix lack of expected contextual spacingMiklos Vajna1-0/+8
Upper, lower and contextual spacing are all stored in SvxULSpaceItem, so if after spacing is set as direct formatting, contextual spacing has to be set directly as well (having it in the paragraph style has no effect). (cherry picked from commit f8b5ecc622e2b3e82576b27bf0ded9c8eac21cae) Change-Id: Ie331c7561de7f2f16776a1613717e38fa083a541 Reviewed-on: https://gerrit.libreoffice.org/43808 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-10-20Resolves: tdf#113230 crash in finishParagraphCaolán McNamara1-1/+4
Change-Id: I94535a51a87be097ff7356edff935877b42c3272 Reviewed-on: https://gerrit.libreoffice.org/43599 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-10-18tdf#104079 RTF import: fix handling fields inside TOC fieldsMiklos Vajna1-1/+2
The marker trick is not needed for these, but the paragraph margins are lost when using it, so avoid it. (cherry picked from commit 6ee33d0772f991f04e97b5b61d7b11810a1b8ac0) Conflicts: writerfilter/source/dmapper/DomainMapper_Impl.cxx Change-Id: I3fc9644cb85138b5473cb1478196ae8538041fb1 Reviewed-on: https://gerrit.libreoffice.org/43501 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-17tdf#112211 RTF import: fix unwanted direct formatting for other indentsMiklos Vajna1-6/+0
Commit 56a695fddb915bcba13b088b5b2b4e0841d4acbc (tdf#112211 RTF import: fix unwanted direct formatting for left indents, 2017-09-26) fixed left indents, and given that it was a regression fix, left the other indent types untouched. As it has been pointed out in the bug comment, the original bugdoc actually needs the other indent types removed as well, so let's do that. (cherry picked from commit 295cf49b81b8c008ec0ea2c92f7cf729d5523d4e) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: Ia4ea7e2214b7df27536f46b046f90bd703c107be Reviewed-on: https://gerrit.libreoffice.org/43448 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-10-06crashtesting: crash on import of abi3007-4.rtfCaolán McNamara1-6/+9
which started happending at... commit 56a695fddb915bcba13b088b5b2b4e0841d4acbc Date: Tue Sep 26 09:13:05 2017 +0200 tdf#112211 RTF import: fix unwanted direct formatting for left indents Change-Id: Id3e8c4452238b48495b1014eff14cdaddcb047ab Reviewed-on: https://gerrit.libreoffice.org/43172 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit ca95e886b42157d1d6394ed0b4c910978f5c2fda) Reviewed-on: https://gerrit.libreoffice.org/43178 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-10-04tdf#112507 RTF import: fix too narrow table cellMiklos Vajna1-6/+5
Commit e6ec0794858df1444f43659b568119bf126a90e6 (tdf#104937 RTF import: \trwWidthA is an absolute value, 2017-08-29) changed the handling of the fake empty cell at the end of table rows so that the parameter of the control word is an absolute, not a relative value. Turns out this wasn't correct, the DOCX equivalent of that bugdoc shows that the parameter is a relative value after all. The RTF spec also talks about a "width", which is assumed to be a relative value. So fix that bug in a different way again (by making sure that this additional fake cell contributes to the total width of the table, so column separators are counted correctly), this time without less side-effects. (cherry picked from commit 409c230ed70707eeb5e6fcd4ab904bb4a411608a) Change-Id: Ic64fd3a6abae8e0398e8e77123f0473d73f0c4b0 Reviewed-on: https://gerrit.libreoffice.org/43080 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-29tdf#112446 ooxmlimport: Orient=NONE when distance is givenJustin Luth1-0/+2
Prior to commit 9920a0bf9d783978cd6f7b97f7528d8aa2571143 the style could only contain the default of NONE. So when a position was specified, it was always paired with HoriOrient == NONE. So it never caused problems until that commit when the Frame's style orientation started overriding the unset paragraph default. When a position is specified, that needs to be paired with an orientation of NONE in order to take effect. Change-Id: Iab0057810270ba708a8855c2ec6db291cef17cfb Reviewed-on: https://gerrit.libreoffice.org/42499 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/42837 Reviewed-by: Justin Luth <justin_luth@sil.org>
2017-09-26tdf#112211 RTF import: fix unwanted direct formatting for left indentsMiklos Vajna4-5/+15
This is a combination of 2 commits: 1st commit: Related: tdf#112211 DOCX import: fix handling of missing first ind in <w:lvl> Usually a DOCX numbering definition has multiple levels, each level containing a <w:ind ... w:hanging="..."/> element. When this is missing, we should default to the Word default, not to the Writer one. This makes the DOCX version of tdf#106953 imported correctly, in preparation of dropping the original fix that helped RTF only. [ The DOC version of the bugdoc is still not imported correctly. ] Reviewed-on: https://gerrit.libreoffice.org/42447 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit c72a1a74b5b1064fc9cdf9994b11fce26d866e26) Commit #2: Commit f528f9499bd91b700c549575e88fa102cfffede9 (tdf#106953 RTF import: fix missing paragraph left margin, 2017-05-16) fixed a problem around inheriting indents from numbering styles vs paragraph styles, but it turns out that document was rather special and in general the old behavior was correct. So fix that bug in a different way again, this time without less side-effects. The trick is that in case the level numbers group in a list definition ends with \u59 (instead of an ASCII ';'), then that group is considered to be invalid by Word. RTF import already was aware of this, but it wasn't known that when this invalid state is reached, that also means that the indents of the list level definitions should be ignored. So in general not putting direct formatting on a paragraph is a good thing: that way in case the paragraph style and the number style both has indent infos, then the numbering style wins, and that is what we want -- but in case \u59 appears in the list definition, then the indentation from the numbering style should be ignored. So fix up the tokenizer to import the indentation from list levels in general, ignore it for invalid list levels, and then we can remove the direct formatting from the paragraphs, which fixes this bug and keeps the old one fixed as well. This required fixing up two poor testcases, which tested paragraph properties, but in fact are interested in the real source of indentation, which is now the numbering style. Visually both bugdocs are unchanged. (cherry picked from commit 56a695fddb915bcba13b088b5b2b4e0841d4acbc) Conflicts: sw/qa/extras/rtfexport/rtfexport2.cxx writerfilter/source/dmapper/NumberingManager.cxx Change-Id: I6390aa870659a8ad02ba5512d84dea34dba29e9f Reviewed-on: https://gerrit.libreoffice.org/42793 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-09-13tdf#109184 auto cell color should be transparentSzymon Kłos1-1/+1
Don't add color to the property map if is set to auto. In this case white color was assumed and tables were white instead of transparent. Change-Id: I7f203b8f3831b86ba8de33dc57de227b3029c6d9 Reviewed-on: https://gerrit.libreoffice.org/41255 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/41520 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-09-07tdf#112208 rtfimport: fix missing paragraph first line indentJustin Luth1-0/+2
This is a followup to commit f528f9499bd91b700c549575e88fa102cfffede9 addding ParaFirstLineIndent to that commit's ParaLeft/RightMargin. I also added code for hanging indents, but it doesn't look like that case will ever hit. Just added for completeness. Change-Id: I2b04866b9eb4b085503f3b7d3b6e97d4f9e3d19c Reviewed-on: https://gerrit.libreoffice.org/41912 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-09-05tdf#108765 DOCX: after import, allow default styles againJustin Luth1-0/+3
During import, we don't want LO's style defaults to intermingle with those of MSO [1]. However, if any styles are NOT defined by the document itself, then we want to use that new style with appropriate defaults. For example, if footnotes were never used, that style might not be defined in the .docx file. Later, if a user inserts a footnote for the first time, we certainly don't want the "default paragraph" settings. Instead, we want the default "Footnote" settings. [1]: see commit b95d203bc17c83ec0fe5139f519d53ed1d842d3a Change-Id: Ia71490e795885d3c16f764d0f716f6499765cb67 Reviewed-on: https://gerrit.libreoffice.org/41546 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> (cherry picked from commit c071e5f6858661881065cbb4e644c37c8e94ccc6) Reviewed-on: https://gerrit.libreoffice.org/41769 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-08-29tdf#104937 RTF import: \trwWidthA is an absolute valueMiklos Vajna1-1/+6
Not a relative one, so similar to \cellx need to convert these before sending the value to dmapper (which expects an OOXML value, which is always relative). The result of the correct type is that the relative width of the last cell in the table row is smaller, so other cells are wider -> they now reach the expected width. (cherry picked from commit e6ec0794858df1444f43659b568119bf126a90e6) Change-Id: If282eb9a5ec644b38e552b5a66fc64a93538f216 Reviewed-on: https://gerrit.libreoffice.org/41676 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-24tdf#108943 RTF import: handle \tx inside a list level definitionMiklos Vajna1-1/+4
\tx in the list level definition has a different meaning (we should map it to the ListtabStopPosition UNO property), compared to when it's used as a plain text property. (cherry picked from commit 57d535302596a62be914bee49d7b1df1fc622a65) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: I7b98ae3d82bbd2c4ad41d0d7f4ad50525c4d0f9a Reviewed-on: https://gerrit.libreoffice.org/41457 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-08-17tdf#107480 RTF import: fix HTML automatic spacing in stylesMiklos Vajna1-0/+4
\htmautsp changes the meaning of \sbauto and \saauto, but the auto keywords may appear early in style definitions before \htmautsp arrives. This wasn't a problem before commit 1be0a3fa9ebb22b607c54b47739d4467acfed259 (n#825305: writerfilter RTF import: override style properties like Word, 2014-06-17), as there the right auto keyword interpretation was repeated as direct formatting. So fix the regression by not deduplicating these keywords, which brings back the correct layout. A larger rework is necessary in the future to delay the parsing of the stylesheet table, that would be a cleaner approach. (cherry picked from commit 9dd82d0d68065ab95e20a1a489f4130299a8669e) Change-Id: I783d2175483bc80ead0a511ad15c4b75e4ab663c Reviewed-on: https://gerrit.libreoffice.org/41203 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-08-02tdf#108944 writerfilter: fix missing footnote separatorJustin Luth1-10/+12
Fix regression from e79ef12b7a904f17d4147fa409d055c12b70f952 tdf#107033 DOCX import: fix unexpected missing footnote separator. Initially related to tdf#68787. If HandleMarginsHeaderFooter was called twice, then it automatically would have disabled the separator. Clearing the HasFtn/HasFtnSep flags also shouldn't be run when in the footnote sections. Change-Id: I00cbd1cbc8dc86edf426f852c59c3f943e373b13 Reviewed-on: https://gerrit.libreoffice.org/40551 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 6f57c09aadd40009173f8ae3654004dd0cad9fb8) Reviewed-on: https://gerrit.libreoffice.org/40588 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-02tdf#109790 RTF import: keep remembering paragraph style between \cell and \rowMiklos Vajna4-2/+18
This is the opposite situation as tdf#44715, where the problem was that style was not reset between in-cell paragraphs. Here we don't want to reset the paragraph style too early, so that direct (character) formatting isn't lost just because the theoretical end-of-row character would not have the same direct formatting. (cherry picked from commit aaa6a5202a447fb4e86d5f016d8e79fbc34a3ed7) Conflicts: writerfilter/source/rtftok/rtfdocumentimpl.cxx writerfilter/source/rtftok/rtfdocumentimpl.hxx Change-Id: I9bb54f37804f5889fb10504ae890362a2e42122c Reviewed-on: https://gerrit.libreoffice.org/40625 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-27tdf#108951 RTF import: fix missing custom bullet typesMiklos Vajna1-1/+1
Regression from commit f528f9499bd91b700c549575e88fa102cfffede9 (tdf#106953 RTF import: fix missing paragraph left margin, 2017-05-16) where I fixed the parent of the ooxml::CT_NumPr_numId token at one place, but forgot to adapt RTFDocumentImpl::popState() accordingly. (cherry picked from commit 1e87e93132f808ab95eab932b36bfe40d3cc607a) Conflicts: sw/qa/extras/rtfimport/rtfimport.cxx Change-Id: Ibddd2486a50f284e11c2cd96339e7140b427aae1 Reviewed-on: https://gerrit.libreoffice.org/40385 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-21tdf#73873 Fix missing embeddings in word/embeddings directoryBartosz Kosiorek2-4/+4
In commit: https://cgit.freedesktop.org/libreoffice/core/commit/?id=ad90e22f1970d019e1f2a1e8ba8020c0f0cb36c4 the refactor was made. Unorfunately due to mistake the embedding was always resetting. As a result only one embedding document was added, and the OOXML files were pernamentely corrupted. This simple fix is resolving mentioned issue. Change-Id: Ie268b1bf8906ac7b8e061526a9186b3b4b46bef6 Reviewed-on: https://gerrit.libreoffice.org/38369 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Reviewed-on: https://gerrit.libreoffice.org/40127 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-07-18tdf#108955 RTF import: fix missing paragraph backgroundMiklos Vajna1-0/+3
See commit 1be0a3fa9ebb22b607c54b47739d4467acfed259 (n#825305: writerfilter RTF import: override style properties like Word, 2014-06-17) for the context. Here the problem was that details of the paragraph background were removed during the style deduplication, but not the paragraph background sprm itself. That was interpreted (correctly) by dmapper as "no background", rather than "inherit from style". (cherry picked from commit 138269391a9ac8cdc0c00b55e1fbc84a94c84a77) Change-Id: I88904cbd0a3c7686ede1f98d06df8fc875978afc Reviewed-on: https://gerrit.libreoffice.org/40131 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2017-07-18tdf#106132 DOCX import: fix handling of nested textbox marginsMiklos Vajna5-21/+56
drawingML shapes are independent, and having a separate parser for each shape is a good thing, so that when we have an XML fragment like this: <wps:wsp> <wps:txbx> ... </wps:txbx> <wps:bodyPr .../> </wps:wsp> where <wps:txbx> may contain nested <wps:wsp> tags, we apply the properties specified in <wps:bodyPr> to the correct shape. In contrast, doing the same for VML is not a good idea, see commit 476316bfc9dd36c0613327c20822a193b5ca8d9b (do reuse shape context, 2012-05-22). So conditionally (for DML) maintain a stack of shape parsers, this way the outer <wps:bodyPr> is parsed and the result is applied to the correct shape, at the end resulting in correct inner margin for the outer shape in the bugdoc. This requires moving the context setup code from the OOXMLFastContextHandlerShape ctor to setToken(), as only then we know if this shape context will be used for VML or DML purposes. This should be OK, given that writerfilter::ooxml::OOXMLFastHelper::createAndSetParentAndDefine() calls setToken() right after allocating the context. (cherry picked from commit 6f9f9491bdef676f969898bd653db9905d14f5e8) Change-Id: I8c0d2f49cac76589fe269230698b203b5ca6996c Reviewed-on: https://gerrit.libreoffice.org/39830 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-07-14tdf#109053: DOCX: Multipage table is not imported properlyTamás Zolnai1-6/+17
An other use case when converting to a "floating table" is not a good idea. In this case we can check whether next to the table anything fits in the text area. If not then we can avoid floating table conversion. Reviewed-on: https://gerrit.libreoffice.org/39811 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> (cherry picked from commit fc55711f01af172eb3a034454405fa941454c781) Change-Id: I798a2f4c7a9dfe6aecbe4a73e3162b49ea5f0adc Reviewed-on: https://gerrit.libreoffice.org/39929 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-07-10Fix tdf#106029 - Add setting XML_doNotExpandShiftReturn when exporting to docxnikki3-0/+18
Change-Id: Ie8ffb0f2d5444c6ead13bdc894715c5a2e6d0baa Reviewed-on: https://gerrit.libreoffice.org/36485 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 9ad9c5183f348384b62ec88459a3a5922e423d83) Reviewed-on: https://gerrit.libreoffice.org/39735
2017-07-04tdf#105095 DOCX import: conditionally ignore leading tab in footnotesMiklos Vajna1-4/+14
Commit b38629ae210b204a6d24d6e9c5c62eaaf563d494 (cp#1000017 DOCX/RTF import: avoid fake tab char in footnotes, 2013-12-05) added code to strip leading tabs from footnote text to improve odt->docx->odt rountrip experience. Turns out that this is correct only in case the gap between the footnote number and the content is provided by a paragraph margin. In case there is no such margin, then the tab is wanted; so only conditionally ignore such leading tab characters. (cherry picked from commit abc440a691efb872afac385ce5ed28cd5db56c8c) Change-Id: I9d419bf2fd3b4899208489210cbe9809a2ab0736 Reviewed-on: https://gerrit.libreoffice.org/39494 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-06-29tdf#100075 DOCX frame height rule updatedVasily Melenchuk1-6/+32
According to "[MS-OE376]: Office Implementation Information for ECMA-376 Standards Support" Word treats default value for hRule attribute in a different way: if frame height is missing it is "auto" (as in specification), but if frame height exist, then default value for hRule is "atLeast". Change-Id: I0ce30b61d1a6b85febbbd8a6bf5af3eb1bb2767f Reviewed-on: https://gerrit.libreoffice.org/39065 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit d5b19100ca4d3670d1b5367e8000739af60a6892) Reviewed-on: https://gerrit.libreoffice.org/39384 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-06-23Watermark: auto size in the RTFSzymon Kłos1-0/+2
When Watermark size is set to Auto in the MSO, the saved value is equal 1pt. Before this patch in this case Watermark was invisible due to small size. Change-Id: Ia2028a6547cf98dd31031305bcc5375625b83fe0 Reviewed-on: https://gerrit.libreoffice.org/38883 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit bd72163f21375cd216dcd25568b05527063ea726) Reviewed-on: https://gerrit.libreoffice.org/39131 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2017-06-20tdf#108416 RTF import: fix unexpected bold list numberingMiklos Vajna1-1/+3
Some paragraph-level run properties affect the current list style since commit 2123ede032ca64f696ef54af4ad3238974ca2b5d (n#758883 dmapper: paragraph-level run props should affect numberings as well, 2012-06-19). This was extended for any run properties in case of RTF since commit c1f8437dbed0e8b989e41a345ef7e658a6e8a4cd (fdo#83465 RTF import: handle font of numbering, 2014-09-25), as RTF doesn't really separate the paragraph-level and the other run properties. However, field formatting clearly should affect only the field itself, so disable this mechanism in that context. (cherry picked from commit 67a0889450daa6b9c9c799dab2d9da3a5044cb5d) Change-Id: I6df7488e99e44f3ba7e17bf09ce590c88151e043 Reviewed-on: https://gerrit.libreoffice.org/39013 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-06-16Watermark: RTF font import and exportSzymon Kłos1-2/+39
* font size * font family * rotation * TextPath geometry - working transparency & color * revert TextBox export removed by mistake Change-Id: I3f6df86809ae57dc40c275652a96b19d2a3d7eba Reviewed-on: https://gerrit.libreoffice.org/38494 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit dd0df1c8a213ab6f0959145396bc273bf885af39) Reviewed-on: https://gerrit.libreoffice.org/38880 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2017-06-16Watermark: RTF import / exportSzymon Kłos1-0/+12
* "wzName" should contain shape name * MS Word watermark has text inside the "gtextUNICODE" (do not create additional shptxt) Change-Id: I7929ec83a9219d6087d36ccbf6d7e735acf63722 Reviewed-on: https://gerrit.libreoffice.org/38219 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 9d1edef89b5a8cb333dfdd12631a9fa2ce3d482d) Reviewed-on: https://gerrit.libreoffice.org/38871 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2017-06-08Related: tdf#108269 DOCM filter: reuse oox code for VBA data preservationMiklos Vajna6-88/+30
Which means the DOCM-specific code to roundtrip VBA things (project, data) can be removed. The oox part has to be extended a bit, as at least for this DOCM bugdoc there is an XML relation of the binary data, while existing shared code assumed the full VBA project is just a single OLE blob. Reviewed-on: https://gerrit.libreoffice.org/38504 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 0129c2cd9dd95355412b194c595f4b986403ba1e) Conflicts: writerfilter/source/ooxml/OOXMLDocumentImpl.hxx Change-Id: I4085e4dba24475e6fd555e5f34fe7ad0f305c57d Reviewed-on: https://gerrit.libreoffice.org/38545 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2017-06-08Related: tdf#108269 DOCM filter: reuse oox code for VBA preservationMiklos Vajna1-1/+0
With this, the project stream import is shared between DOCM and XLSM. Change-Id: I8fbffefc5acf28adea4875fa6bc4148a99b5ebef Reviewed-on: https://gerrit.libreoffice.org/38495 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit e4adb8d9e77bab353dda26375e11a6b7a456368f) Reviewed-on: https://gerrit.libreoffice.org/38544
2017-06-08tdf#108123 RTF paste: fix asymmetric shape <-> table manager stackMiklos Vajna1-3/+6
Make sure that even if the text append stack is empty (and we return early) the table manager push/pop operations are in sync with the shape start/end, otherwise we'll have an empty table manager stack. That is a problem as writerfilter::dmapper::DomainMapper_Impl::getTableManager() assumes that it always has at least one element. Change-Id: I92b3381e820bc8eaeb351532a6ce8909490c0f30 Reviewed-on: https://gerrit.libreoffice.org/38490 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit f5375d5539897bff0aef82df92b7d485b8839004) Reviewed-on: https://gerrit.libreoffice.org/38543
2017-06-07Related: tdf#108269 DOCM filter: preserve VBA streamMiklos Vajna5-0/+86
This means 2 new streams when roundtripping DOCM files that actually have macros: word/vbaProject.bin and word/vbaData.xml (+ the relation pointing to the second from the first). Change-Id: Iba24eea4c5bca8f743a53027c71ed2aae48f1934 Reviewed-on: https://gerrit.libreoffice.org/38360 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> (cherry picked from commit 8a59b30bb1af55f7afd8b98e4b60234f98d84c76) Reviewed-on: https://gerrit.libreoffice.org/38458 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2017-06-06tdf#104450: Use Calibri; let LO to fallback to CarlitoMike Kaganski1-4/+4
Using Calibri will allow to keep originally intended font on round-trip. If Calibri is absent on a system, LO will fallback to Carlito for rendering, but keep original font intact. Change-Id: I8f29bed29bc7f48912b2637053ff128ea904c7a1 Reviewed-on: https://gerrit.libreoffice.org/38456 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit dd1ba90f6069b41e3f2c301809afefc6f63da710) Reviewed-on: https://gerrit.libreoffice.org/38457
2017-06-06tdf#108350: Use Carlito for DOCX import by defaultMike Kaganski1-0/+18
In OOXML (i.e. Word since 2007), the default document font is Calibri 11 pt. If a document doesn't contain font information, we should assume our metric-compatible equivalent Carlito to provide best layout match. A unit test included. An existing unit test (testN766487) was corrected to match the font size that Word uses (11; was 12 which doesn't match Word's size). Change-Id: I3040f235696282dc7a124cd83fb34a6d95a29a17 Reviewed-on: https://gerrit.libreoffice.org/38421 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins <ci@libreoffice.org> (cherry picked from commit 5471a5585cba925bb0dcb2dc41e03ad563998166) Reviewed-on: https://gerrit.libreoffice.org/38452 Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-05-16tdf#107889 DOCX import: consider page breaks for multi-page floattablesMiklos Vajna5-7/+23
This is the DOCX equivalent of commit 6aba29576df7a2a40e54040d4dd09d94d6594741 (tdf#107773 DOC import: consider page breaks for multi-page floattables, 2017-05-11): a specific case where it's clearly superior to import a multi-page floating table as a multi-page one, rather than a floating one. Change-Id: I71a92d2b10e52e505665831caacad2948d22b4e1 Reviewed-on: https://gerrit.libreoffice.org/37683 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-05-16tdf#106953 RTF import: fix missing paragraph left marginMiklos Vajna2-3/+8
See commit 3915bf2dc877d5f1140798e24933db0f21386a4a (tdf#95376 DOCX import: fix incorrectly indented tab stops, 2016-01-26) for the various sources that can determine the paragraph indentation. In this case the problem was that too aggressive RTF style deduplication removed a direct indent, which then meant a fallback to the ind-from-num value, not to the ind-from-parastyle one. Change-Id: I3b47b2bbeaaedf405baef24505d23dc49bd01865 Reviewed-on: https://gerrit.libreoffice.org/37660 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-05-12remove unused uno::Reference varsNoel Grandin2-2/+0
found by temporarily marking Reference as SAL_WARN_UNUSED. Change-Id: I18809b62654467f890016adcc92576980ced393b Reviewed-on: https://gerrit.libreoffice.org/37511 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-11tdf#105204: ShellCheck nitpicks for watch-generated-code.shYeliz Taneroğlu1-3/+3
Change-Id: Ic1e953b5bcae6124ee6ce7d141ddac11a94b2a8b Reviewed-on: https://gerrit.libreoffice.org/37464 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-05-10AutoText: add only real AutoText entriesSzymon Kłos5-11/+35
* add only autoTxT gallery type * new test with other types of entries Change-Id: Ibf7751c73dcf3b6ebd69eec5f4931dbeaaf098c8 Reviewed-on: https://gerrit.libreoffice.org/37425 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2017-05-09tdf#105688: findZOrder: catch exceptions from getPropertyValueMike Kaganski1-6/+9
For some reason, sometimes items in GraphicZOrderHelper don't have ZOrder property value, and so throw in getPropertyValue. E.g., SwXFrame::getPropertyValue throws uno::RuntimeException when its GetFrameFormat() returns nullptr. The patch catches these to allow to proceed with fallback z-order. Change-Id: I96140195f45364bccee7c5547d373158e2b49154 Reviewed-on: https://gerrit.libreoffice.org/37392 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-05-07break circular includeJochen Nitschke2-0/+2
of include/vcl/window.hxx and include/vcl/vclevent.hxx Change-Id: Iacb3cc942693a732de5899af26e08e0977a83102 Reviewed-on: https://gerrit.libreoffice.org/37338 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-05-07revert OSL_ASSERT changesChris Sherlock1-3/+3
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380