summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper
AgeCommit message (Collapse)Author
2016-01-18vcl: change Font::SetName() to Font::SetFamilyName()Chris Sherlock
Change-Id: I9b7bd1ec25955981ebcb9085579cbb9fbaa802d5 Reviewed-on: https://gerrit.libreoffice.org/21560 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-16revert vcl patch series that brok Mac and WindowsNorbert Thiebaud
revert: 9bc2f3de8672e812f3a67541c6d7069b434a7e42 vcl: add comment about ImplFontMetric::{Get|Set}LineHeight() 26371f105bc44e04469ec03fc5bb12505e651c6b vcl: FontAttributes::GetSlantType() -> FontAttributes::GetItalic() 2dd0b4317372b8022efe3911b38b4fa02956d8b9 vcl: font.hxx and metric.hxx cleanup, make ctors explicit and the dtor virtual 5ab13bf3ead3539e4ad847656da81e7eb6029652 vcl: tabify font.hxx f99550dae55e40e49bf9c9875053fe2abb4c71ca vcl: change Font::SetName() to Font::SetFamilyName() 2b297116cb6bb1061c43e5714e2609c8ee9f57d2 vcl: rename Font::GetName to Font::GetFamilyName Change-Id: I23f38921187d66b970ca815eb30dda4222a2da62
2016-01-16vcl: change Font::SetName() to Font::SetFamilyName()Chris Sherlock
Change-Id: I54a4036544c680c4a49607677af776aa7a433fbc Reviewed-on: https://gerrit.libreoffice.org/21510 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-01-10Fix typosAndrea Gelmini
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-08tdf#93640 Fix import of linked left page header/footerLuke Deller
In a docx section, any header/footer which is not defined in the section is considered to be linked to the previous section. In the Word UI this is shown as an option named "Link to Previous", and editing the header/footer in either section affects both sections. LO imports this by copying the header/footer contents from the previous section, but it did not handle the case where a section had different headers for left pages vs right pages. Fix this, which involved changing the mechanism used to detect whether a section has defined a certain header/footer (which unlinks it from the previous section): rather than trying to figure it out from the converted LO page styles, explicitly track which headers/footers have been defined using boolean member variables on the SectionPropertyMap instance. Conflicts: sw/qa/extras/ooxmlimport/ooxmlimport.cxx Change-Id: Ic43a867356c2cd5df09d39f2a3ddefa584b6765c
2016-01-07tdf#95213 DOCX import: don't reuse list label stylesMiklos Vajna
We used to optimize the creation of these styles, so in case two list label had the same character properties, then we could avoid creating two styles for those. This isn't correct though: it means if the style is changed later by the user, then unexpected other places in the document will change as well. Do what the binary DOC filter does: create one character style for each level of a numbering separately. Change-Id: I967b30fc078b1be30f7ef81b2706df2962fc3fb0 Reviewed-on: https://gerrit.libreoffice.org/21191 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-01-06tdf#92045 DOCX import: <w:effect w:val="none"/> doesn't mean blinkingMiklos Vajna
Regression from commit eeb8297e47bae11f2aeaa7bae6e51eee921e9e58 (Use constants for ST_TextEffect values, 2014-09-22), the problem was that while the tokenizer stopped using hardcoded token values, the matching dmapper code wasn't adapted. Change-Id: Id61912e9c9458efc87e0a6f8e461663942c555f0
2016-01-06writefilter: removed superfluous #includesAndrea Gelmini
Change-Id: If9a563767cd1165c4a7363b513447cd975cb20c9 Reviewed-on: https://gerrit.libreoffice.org/15850 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-04DOC(X) filter: BAF -> BAILS in the smart tag mappingMiklos Vajna
The filters map between a common subset of Word smart tags and Writer RDF annotations, and when doing so, they need to know what path to use for a smart tag namespace and also the other way around: what RDF types are interesting for smart tag purposes. It turns out there is BAILS specification at <http://www.tscp.org/wp-content/uploads/2013/08/TSCP_BAILSv1.pdf> that describes how to refer to BAF objects, so use that instead of our custom RDF statement / document metadata key names. Change-Id: Iac569608b05aa61547f664f2a5df7d46fe46da76
2015-12-22writerfilter: can use a plain instance for the table sequence hereMiklos Vajna
Change-Id: I34dc9cad5e7fb95eee2b0587e0a6b731571d6933
2015-12-21loplugin:unusedfields writerfilter,writerperfectNoel Grandin
Change-Id: I8863fcdb0751d2f1becea5b2487d4070e4fd4195
2015-12-20move saveInteropProperties from writerfilter to ooxMichael Stahl
Change-Id: I4f9769ad496198d2d002775dee4ee0a2f08d6f3b
2015-12-09tdf#95755: Don't discard table properties in endOfRowAction()Mike Kaganski
In the beginning of endOfRowAction(), the current value of m_aTmpTableProperties.back( ) is stored in a temporary variable. Then, the width of table may be put into m_aTmpTableProperties.back( ). In the end, this temp variable is assigned to TableManager::mState.mTableProps and the m_aTmpTableProperties.back( ) is reset. In the middle, the m_aTmpTableProperties.back( ) may be replaced in endLevel()/startLevel() sequence (if new table is started). In that case, the width calculations go to a different object than stored in temp var. Consequently, that value will be discarded and replaced with initial stored in temp var. Fixed that by directly operating with temp var instead of m_aTmpTableProperties.back( ). Also, the value of m_nCell was not kept over endLevel()/startLevel() sequence and that prevented from calculating width. Fixed that. Also, removed leftovers from commit cbd0fbc287051f918e4adb32b3e9b58dfbf8059d. Change-Id: If85dbb715e7c60f60043f9d60d6a3c3d02277add Reviewed-on: https://gerrit.libreoffice.org/20052 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-12-08tdf#54584: adjust skip-slash condition, allow unterminated quoteMike Kaganski
Experimenting with different non-alpha characters in front of field, most of them aren't allowed and result in field not recognized by MS Word: #$%&'()*+,-./:;<>?@[]^_`{|}~ Besides, if backslash "\" is followed by another backslash or space, it is illegal, too. This patch takes care of it. On the other side, not closing quotes is allowed by MS Word. This patch allows this, too. The patch does not handle another allowed field code "=2+2". This should be done in another commit. Change-Id: I842fe59c026b68977e61a7ae0b5495c02803ad83 Reviewed-on: https://gerrit.libreoffice.org/20435 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-12-07tdf#54584: allow backslash before field type in RTF and DOCXMike Kaganski
In some RTF and DOCX files, field type may be prepended with backslash. It seems not strictly standard-conformant (at least not to [MS-RTF]). Still, MS Word reads these fields OK. This patch allows LO to read them, too. Change-Id: I1f6bbdd9d57adbea8882d078761dd97298ca03b3 Reviewed-on: https://gerrit.libreoffice.org/20420 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2015-12-02DOCX import: handle <w:smartTag>Miklos Vajna
These can be sort of arbitrary key-value pairs around one or multiple runs, handle the following subset: - when they appear at a paragraph context -> we assume they are annotations on the paragraph - when the smart tag's URI/element is RDF -> we map these to RDF metadata statements on paragraphs - when the attribute name's namespace is known, because in ODF we need to specify both a path and a type (namespace) for the RDF graph, and OOXML only provides a namespace As a start, recognize the TSCP BAF namespace from <https://www.tscp.org/wp-content/uploads/2013/08/TSCP_BAFv1.pdf>. Change-Id: Ib188b1395e7ec7e0441b4f12f86cfef99fb9f096
2015-12-01DOCX import: initialize RDF metadata before importing document propertiesMiklos Vajna
With this, it is possible to import part of the document as RDF statements later when parsing document.xml. Previously SfxBaseModel member functions like getMetadataGraphsWithType() and addMetadataFile() failed, as they tried to find the already imported document in UCB, which failed, as the import was still in progress. To prevent that, do the same as the ODT import in XMLReader::Read(), part "RDF metadata". Change-Id: Ia15af9bb0681cbc25fe745742c24af82cd213e5d
2015-12-01DOCX import: tokenize <w:smartTag>Miklos Vajna
Change-Id: I2c408a25880ad0e87f0b5a246a350e45c8378ce5
2015-12-01Related: tdf#94043 DOCX import: fix column separator handlingMiklos Vajna
See wwSectionManager::SetCols() for the DOC import equivalent of this code, if line width is 0, then there will be still no visible line. Change-Id: Ifb0dc596e252a60cdac575fff2894aced1580c69
2015-11-25crashtesting: failure on File_1404.docxCaolán McNamara
Change-Id: Id984cc1f5954be38fbe3a1a15bfe811d7cdfe99d
2015-11-25Indentation fixesMiklos Vajna
Change-Id: I82678b037aff5409e54bc50744b1b4b2c8d4d83b
2015-11-24loplugin:unusedfields in writerfilter/Noel Grandin
Change-Id: I32348ef0aed955ab799ba90a59f4b511becb67e8
2015-11-23tdf#60351: Use Wrap Polygon also for PROP_SIZE_PIXELMike Kaganski
Since commit 2b5bf2f1c57d6585ec898c4c44a74c5b47f09ab9 "graphic import improved" from 2006-11-20 by Oliver Specht, there is an unused code reading pixel size (PROP_SIZE_PIXEL) of an image in a part of GraphicImport::createGraphicObject() that imports the wrap polygon. When there's no PROP_SIZE100th_M_M in graphic, the imported wrap polygon was simply dropped, and then automatic contour was generated for graphic. Now we import contour correctly in this case. Also, as paragraph background overlaps non-opaque graphics, we need to set opaque to true regardless of behindDoc value of wp:anchor. Change-Id: Ifa5eec9f8ccaf5ba051732b6e4f965ae8606a1cf Reviewed-on: https://gerrit.libreoffice.org/20103 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
2015-11-19use comphelper::containerToSequenceNoel Grandin
in chart2, we remove a local equivalent of the method Change-Id: I25129a3d1ea1dd724eb9cd38a57be37a78b3d100
2015-11-19Simplify writerfilter::dmapper::DomainMapper_Impl::appendGrabBag()Miklos Vajna
Change-Id: I65c893fa8ab8ea6dfb061127c9b0bd31c906ed30
2015-11-18Use comphelper::containerToSequenceMiklos Vajna
Change-Id: Iecb443605fe53de91703207d3253da5d8a586f4c
2015-11-17Assume that this code wants to append a number, not a characterStephan Bergmann
The original code in 2638faa2e834c2da4c195224fd88d32c29b3d0cc "writerfilter08ooo330: applied patch for writerfilter08" used OUString::valueOf, which 64b993e046f23baaacaff1572b7d2a816588b5ef "finish deprecation of O(U)String::valueOf()" changed to a OUString ctor instead of OUString::number (as that change did for almost all other cases), but without giving a rationale for this particular case. But as nUnique starts out as zero, so in the first round would append a NUL character to "DOCX-Standard", it looks plausible that this code should add a number after all. Change-Id: I47136486e28b946fa334a416d1d2fe20ad616ff0
2015-11-16tdf#83300 DOCX import: 'TOC Heading' should not be 'keep with next' by defaultMiklos Vajna
On one hand, neither our binary DOC import, nor Word maps the "TOC Heading" style to something special, and that's how the DOCX import added that property to some paragraphs in the document, moving the as-char picture from the first to the second page. OTOH, the DOCX export filter has a lcl_guessQFormat() function that explicitly assumes that such a style name exists in Writer document models, so again it doesn't make sense to handle this style name with special care. Change-Id: I3af548930f9683695fc3ad56b486e013f107d61a
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ide85499515bd73f70bca356909683b43cd62f1d1
2015-11-10tdf#95071: fix spacing calculations for border with page offsetMike Kaganski
With commit ebf767eeb2a169ba533e1b2ffccf16f41d95df35, some previously hidden bugs manifested themselves, this is one of them. The margin size calculated incorrectly when border offset was from page. The border is drawn from the margin inwards, so the margin should be equal to OOXML w:space attribute, and border distance should be OOXML page margin - border distance - border width. Incorrect calculation gave negative margin, with IllegalArgumentException thrown in SfxItemPropertySet::setPropertyValue. Change-Id: Ifcf4a348e975df53410933aab3684d17f68b688c Reviewed-on: https://gerrit.libreoffice.org/19586 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin
Change-Id: I31a69a997098eb1807361b8049c3312a4f287d75
2015-10-22writerfilter: it's enough if dmapper gives the media descriptor to its implMiklos Vajna
Change-Id: Ia973799453d9ede60be3699ff8973e31605f06ef
2015-10-21more removal of com::sun::star typedefsNoel Grandin
Change-Id: Ia73f1b4f1dcfa3f0936359e744afe76e02dcd2eb
2015-10-19loplugin:defaultparamsStephan Bergmann
Change-Id: I55ca691207b73397f58843c64677b2a9a6ce44b0
2015-10-19writerfilter: dmapper ctor can read TextInsertModeRange directlyMiklos Vajna
Change-Id: If17ae09266134b4bc410eab1a1b2f5139ba93a12
2015-10-19tdf#36117 .docx preserve page vertical alignment after RTJustin Luth
Change-Id: I90174f7a98e9bd01f45ee668f127356ff3e0e4ed Reviewed-on: https://gerrit.libreoffice.org/18481 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Justin Luth <justin_luth@sil.org>
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-06tdf#91417: import hyperlink with history flag correctlyOliver Specht
ignore '\h' flag in hyperlinks imported from docx including import test Change-Id: I512e811050704f118bf9b2c786378f99e5d04378 Reviewed-on: https://gerrit.libreoffice.org/19154 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-10-05tdf#94435 RTF import: \ltrpar should not override \qcMiklos Vajna
Change-Id: I342191cd8cf8b3998089236aea5743ea7cdd26f1
2015-09-29Fix typosAndrea Gelmini
Change-Id: I4525b43fa823d743b86bf4136c56af35274085e6 Reviewed-on: https://gerrit.libreoffice.org/18995 Reviewed-by: Joren De Cuyper <jorendc@libreoffice.org> Tested-by: Joren De Cuyper <jorendc@libreoffice.org>
2015-09-29Fix typosAndrea Gelmini
Change-Id: If2e4adb2ce93c02ee14d831eedf4ef31da04b92d Reviewed-on: https://gerrit.libreoffice.org/18996 Reviewed-by: Joren De Cuyper <jorendc@libreoffice.org> Tested-by: Joren De Cuyper <jorendc@libreoffice.org>
2015-09-28bnc#939996 tdf#93919 DOCX import: fix left-from-style and first-from-directMiklos Vajna
With this, <w:ind w:hanging="..."/> as direct paragraph formatting and <w:ind w:left="..." w:hanging="..."/> as a numbering level formatting is properly merged, i.e. w:left is not lost, defaulting to 0. Change-Id: If5534fbd9ee6d41139b0ed3a3df9d0cc5aad3239
2015-09-28tdf#94456 RTF import: fix list vs paragraph style interaction wrt para indentsMiklos Vajna
In case we set the paragraph left/right/first margin just to mimic the list vs paragraph style interaction as Word wants it, never overwrite properties, as they are always meant to be just callbacks in case there is no real hard formatting. Change-Id: Ibdb2834c693d43cf4114453e42628e8f64c0a856
2015-09-28tdf#90153 DOCX import: fix default sw TextFrame roundtripMiklos Vajna
The AnchorType of the shape was at-paragraph, which does not allow line-level VertOrientRelation (which is correct, it would be undefined, what line of the paragraph should be the used). Fix this by changing the AnchorType to at-character in the line-level case, which brings the filter in sync with the DOC one. With this, import of a DOCX file that was created by inserting a TextFrame into an empty document is roundtripped without shifting the shape up considerably. Change-Id: I6d85c38be859d6e730584f2349c857b87496a1d4
2015-09-23tdf#92124 DOCX import: don't add a dummy Suffix for an empty LabelFollowedByMiklos Vajna
Change-Id: I0c4366ad0a2f81a198860869f670767343a392be
2015-09-22tdf#92454 DOCX import: allow overriding para prop from num style in para styleMiklos Vajna
Word has a feature like this: a paragraph style can refer to a numbering style, and both can specify paragraph margins. If that's the case, then the ones from the paragraph style has priority. In Writer, the numbering style has priority, so the only chance for correct import result is to set the margin directly on the paragraph in this case. Change-Id: Iff3b03bcc56e0db3a48452c293acf41c91b8f159
2015-09-01cid#1321599 missing breakMiklos Vajna
Change-Id: Idaf322c53cb8955bb88e18a6d79fd800dc48621d
2015-08-28Make sure nEnd-nIndex-1 is valid arg to OUString::copyStephan Bergmann
Change-Id: Ie646ae781bcd54be81173db42fe10f61b31ac628
2015-08-27loplugin:defaultparamsStephan Bergmann
Change-Id: Ifd4c92d2013b5698d9657f599db8af345437b079
2015-08-27Improving Asian phonetic guide for docx and rtf files.Mark Hung
RTF import, export, and ooxml export for ruby text are implemented. tdf#49073 - FILEOPEN: Furigana (ruby text) and characters with them are missing in opened .docx files. tdf#50786 - [TASK, METABUG] FILEOPEN, FILESAVE, FORMATTING : Japanese ruby-character handling is broken Change-Id: I4a5c30bad180241e3344e9da7efe7da4369fb325 Reviewed-on: https://gerrit.libreoffice.org/17241 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>