summaryrefslogtreecommitdiff
path: root/vcl/qa
AgeCommit message (Collapse)Author
2024-11-22pdf: add initial test for PDF 2.0 (check using PDFium)Tomaž Vajngerl
Change-Id: I43e6048d34ee9c51e0602cd671a73b19145a9c17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176888 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-11-18tdf#142741: Add unit test to set valid pages for footnote links PDF export.MelvinYG
Change-Id: I90abb354fb9c4c6319034d994165f2e5cd667d2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175945 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-14loplugin:reftotempStephan Bergmann
(plus ensuing -Werror,-Wpessimizing-move) Change-Id: Ie2bc5310f0c4a50ba6cdc351cc99f09e7534de29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176562 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-11-13tdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark
This change extends layout for font-relative paragraph first-line indentation into Edit Engine. Change-Id: I5906f493b91fbcb87ded165709fb132b33ce1906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176487 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-13loplugin:reftotemp in vclNoel Grandin
Change-Id: Ia5b0fd303f5a3b2c4c119f431517cc063070f4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-08cool#9992 lok doc sign, hash extract: initial getCommandValues('Signature')Miklos Vajna
The trouble with signing via ca/cert/key PEM files is that usually the CA is not trusted by the received of the signature. 3rd-party services are available to do generate trusted signatures, but then you need to share your document with them, which can be also problematic. A middle-ground here is to sign the hash of the document by a 3rd-party, something that's supported by e.g. <https://docs.eideasy.com/electronic-signatures/api-flow-with-file-hashes-pdf.html> (which itself aggregates a number of providers). As a first step, add LOK API to get what would be the signature time during signing -- but instead of actually signing, just return this information. Once the same is done with the doc hash, this is supposed to provide the same info than what the reference <https://github.com/eideasy/eideasy-external-pades-digital-signatures> app does. This is only a start: incrementally replace XCertificate with SignatureContext, which allows aborting the signing right before calling into NSS, and also later it'll allow injecting the PKCS#7 object we get from the 3rd-party. Change-Id: I108564f047fdb4fb796240c7d18a584cd9044313 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176279 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-11-07[API CHANGE] a11y: Switch AccessibleRelationType to enumMichael Weghorn
Switch css::accessibility::AccessibleRelationType from integer constants to an enum. This provides more type safety and improves the debugging experience, e.g. GDB now prints com::sun::star::accessibility::AccessibleRelationType::AccessibleRelationType_CONTENT_FLOWS_TO instead of just "2" when printing the value of a corresponding variable, so it's no longer necessary to manually look up what constant has that integer value to know what relation this refers to. offapi/com/sun/star/accessibility/AccessibleRelationType.idl had this comment: > <p>We are using constants instead of a more typesafe enum. The reason > for this is that IDL enums may not be extended. Therefore, in order to > include future extensions to the set of roles we have to use constants > here.</p> However, the a11y UNO API is internal (not published), so that shouldn't be a concern. Change-Id: I44a7d56cb085dc24effb24fcd34bb222b78ef4cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176153 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-11-07a11y tests: Map DESCRIBED_BY relation type to AT-SPIMichael Weghorn
Change-Id: I9d0122459cf0a90ce1c49c6bdc07b24ff93bc417 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176152 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-04new loplugin:staticconstexprNoel Grandin
Change-Id: Ida1996dfffa106bf95fd064e8191b8033b4002f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-02tdf#36709 Add loext:text-indent supporting font-relative unitsJonathan Clark
This change adds an ODF font-relative first-line indent paragraph style attribute as a LibreOffice extension. The corresponding ODF standard change is tracked by OFFICE-4165. This change only implements what is minimally necessary to serialize, deserialize, and check for ODF files containing this attribute. Further changes are necessary. * Added cssLength to schema, which is equivalent to length but also allows ic and em as units. * Added loext:text-indent to schema as a paragraph style attribute. This attribute is equivalent to fo:text-indent, but accepts cssLength instead of length. * Added XML_TYPE_UNIT_MEASURE to the ODF parser, which currently accepts only the font-relative measures and forces fallback in other cases. * Added loext:text-indent to the ODF parser. This attribute accepts font-relative metrics, and will behave as an import-only alias for fo:text-indent in other cases. * Updated SvxFirstLineIndentItem to handle unit-denominated measures. * Added proof-of-concept indentation handler to Writer. This implementation is incomplete and temporary, and will be revised in future changes. Change-Id: I7eb5c7382093cb18a9b0afbf93dacb34ba1d35ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175941 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-01Drop GraphicFilter's bUseConfigMike Kaganski
It controlled how the FilterConfigCache initialized, and also how the unused aFilterPath was initialized. The FilterConfigCache is reused, when there are other instances of GraphicFilter - so that means, that the "bUseConfig" flag doesn't necessarily mean that the initialization will happen as intended: the existing instance could have been initialized using the other value. Avoid this indeterministic behavior, and always use the config, except in fuzzing. The VCL tests, that could possibly once depend on that, now use config, so this is not an issue - and that means testing the same thing as used in the working code, not something different. Change-Id: I6555dc47328b362e020138cf454f5ede7f39d063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175894 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-10-31convert KernArray from sal_Int32 to doubleNoel Grandin
which allows us to eliminate a bunch of rounding at various layers, and consequently maintain a lot more precision Change-Id: I911dedd7c041c1d67396c082e5695346ea689acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-29UnoApiTest: rename load to loadFromURL and use it everywhereXisco Fauli
Change-Id: Ie67eebec74f783fa0c29acfb23bb83bc582812b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175724 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-10-21vcl: move bitmap filter headers into vcl/bitmap global header directoryChris Sherlock
Use #pragma once instead of header guards Change-Id: Iba43f2103628ed184933cf2611991e7aef9f0173 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173369 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-10-19Windows/--disable-skia: fix D2DWriteTextOutRenderer to properly set AA modeMike Kaganski
This simplifies the process; in D2DWriteTextOutRenderer ctor, it uses the final mode for the call to CreateRenderTarget, applying the correct mode. Also, pass the AA flag from SalGraphics, and check the setting of GetUseFontAAFromSystem to use it, as done in e.g. CairoTextRender after commit e6538f5bdd876911ea30f84a6512c03908e620fd (tdf#118966 vcl: add a flag to determine if AA of fonts is used from the system, 2018-07-28). This fixes the failures on Windows with --disable-skia, as seen in https://lists.freedesktop.org/archives/libreoffice/2024-October/092541.html VclCjkTextTest::testVerticalText needed to be fixed by a tweak in getCharacterRightSideHeight, to use color's IsDark, instead of comparing to the fixed black, because the correct AA mode that is used now, makes the vertical part of the character not completely black. Change-Id: Iee8fe98e29a80a242f8e761c9a23c68b34a45699 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175188 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-10-18tdf#163215: Enable kashida justification for AAT fontsJonathan Clark
Currently, we use HarfBuzz-provided kashida insertion position information to decide on positions to insert kashida. This data is used both while ranking kashida insertion positions, and to avoid inserting kashida in positions that would break shaping on a per-font basis. Unfortunately, HarfBuzz cannot validate kashida insertion positions for AAT fonts. As a result, kashida were previously not inserted for text using AAT fonts. This change updates kashida justification to skip validation against HarfBuzz when AAT fonts are used. Change-Id: If0d31512b1db0f1f8155963f9b1031eb01bacc45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175165 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-10-14Update pdfium to 6764Miklos Vajna
New fast_float header-only inner dependency. CppunitTest_vcl_pdfexport's testTdf154549 and CppunitTest_vcl_pdfexport2's testTdf71956 started to fail after this. Assuming that the code covered by these tests still works (since this commit doesn't change vcl/ or sw/ code), just update those tests to match the new PDFium API call results for now. Change-Id: I07b2f97fbbc9bd609e2f94593474393adcb5a839 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174814 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-10-09CppunitTest_vcl_pdfexport2: relax testPdfImageHyperlink a bitMiklos Vajna
This will start to fail on pdfium-6764 with: pdfexport2.cxx:4186:Assertion Test name: (anonymous namespace)::testPdfImageHyperlink::TestBody equality assertion failed - Expected: 0.0012626264 - Actual : 0.0012626261 But the original problem was that the repriprocal was just 0.00126. If we require one less digit, 1/0.001262626 is 792.0001647360343 and 1/0.0012626264 is 791.9999138304095, so the original problem that the rounded result is 794 points (and not 792) is still tested. Change-Id: Ia4489625fd25eca971261b14005b10bbf34343eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174724 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-10-05Use good old string literals in assertXPath and friendsMike Kaganski
These are only sent to an external API expecting char*-like strings, or for comparison. Having every assertXPath having three of _[ou]str is too much syntactic noise, making the unit tests almost unreadable. Change-Id: Ic004a36ea75e7bfe0b96f405c40f926a957b51cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174416 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-09-27tdf#140767 Implemented Syriac justificationJonathan Clark
This change extends kashida justification to Syriac, using custom insertion rules. Change-Id: I7508d2c32e95abb12a098e989c7153828ba81c87 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173990 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-09-26tdf#163105 Use HB data while selecting kashida insertion positionsJonathan Clark
Previously, Writer and Edit Engine would skip inserting kashida in words if the highest-priority candidate position is marked as invalid by HarfBuzz. This would happen even if the word contained multiple lower-ranked valid candidate positions. This change updates Writer and Edit Engine to pass HarfBuzz kashida position data to the selection algorithm. The algorithm has been updated to return the highest-priority valid position, if any. The algorithm has also been updated to use raw positions marked as valid by HarfBuzz as a fallback, if no better positions could be found. Change-Id: I40c6432c4607aee197e8767e5667db504469956a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173963 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-09-25tdf#163105 sw: Add some whitespace expansion to kashida justificationJonathan Clark
Tihs change updates Writer kashida justification to include some whitespace expansion, mirroring the behavior of Edit Engine and other word processor programs. Each kashida and space character are given 1 unit each of extra space. Change-Id: I8c9031a0d51844e532b9d1f7e3619c2c9ba23f6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173884 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-09-20vcl: migrate BitmapArithmeticBlendFilter to use BitmapFilter classChris Sherlock
Change-Id: I524b8c87747b79a8698cce4bd092493ffc9c1235 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173350 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-09-19tdf#162955 PDF export: avoid the popup rectangle with zero sizeTibor Nagy
Change-Id: I9a3cdda4d1dfa0b23a3ea6dd99341cb17ca47490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173580 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-09-18vcl: test BitmapAlphaClampFilterChris Sherlock
Change-Id: Ie44884a3010cd26b057bac593059a4bd0a3aabc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173345 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-09-12Temporarily skip unit tests on native arm64 buildBalazs Varga
which indicating unit test fails. Change-Id: I2689b0dda888e15e52ca60cc18e1705a1aefe968 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173143 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins
2024-09-05tdf#162359 sw: fix the export of comments as PDF annotationsTibor Nagy
Change-Id: If4a8a1a73c382f496b2c6dd4d52271dc6bc87dda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172877 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-08-30tdf#151748 editeng: Improve kashida position validationJonathan Clark
Previously, editeng did not validate whether kashida insertion positions had enough room for at least a single kashida glyph. This caused kashida glyphs to overlap other characters in some situations. Editeng will now drop candidate kashida insertion positions from the beginning of the line, until there is enough room to safely justify the remaining text. This approximates Writer's behavior. Change-Id: I804cae72503332bea8dc9e60cdfe08bd3429dc52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172641 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
2024-08-28vcl: fix testMultiPagePDF with zlib-ngMichael Stahl
After upgrading to Fedora 40, which replaced zlib with zlib-ng, this test fails on different compressed stream sizes, but the uncompressed content of the stream is the same as before (only checked first one). vcl/qa/cppunit/pdfexport/pdfexport2.cxx:808:(anonymous namespace)::testMultiPagePDF::TestBody equality assertion failed - Expected: 230 - Actual : 228 Change-Id: I27a6d4ac47691258793e18442fb1b59ac1b581c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172471 Reviewed-by: David Gilbert <freedesktop@treblig.org> Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-27vcl: fix testTdf129085Michael Stahl
For unclear reasons, after upgrading to Fedora 40 and pulling the latest master, testTdf129085 started to fail: pdfexport2.cxx:328:Assertion Test name: (anonymous namespace)::testTdf129085::TestBody equality assertion failed - Expected: 0x0(Error Area:Io Class:NONE Code:0) - Actual : 0x8203(Error Area:Vcl Class:General Code:3) The test runs in the libreoffice-24-2 branch, and the difference is that in the old brach a JPEG was exported into the PDF as expected, but in master a DIB was exported instead, because it turned out to be smaller than the JPEG, because the quality level of the JPEG was 90 in master and 80 in the old branch, due to the old branch test passing FilterData with UseTaggedPDF, which was later removed from the test due to being the default. Pass in an explicit low quality to prevent this problem. Change-Id: Ic26c25b15fecd52c5195a7d30c603bda34fe88d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172470 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-08-23tdf#162586: Check GetUpper is not nullptrXisco Fauli
Change-Id: I3d56edda8de16a2d04d8f902d3db340fc191a506 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172322 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-08-23tdf#159895 sw: fix "Stack empty" error in tagged PDF exportTibor Nagy
Change-Id: I8a2e0d51d1cfe6d4b517f193c73e512600638cf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172302 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-08-14qt: Remove "5" from render backend nameMichael Weghorn
The previously named "qtsvp5" and "qt5" render backends are used for both, qt5 and qt6 since the qt6 VCL plugin exists, so drop "5" from the name. Change-Id: Ia97eb14d9229bf33d40a6a383d7656f9467ad460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171854 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-06tdf#160786 sc: Fix repeat char format code inaccuracyJonathan Clark
Number format codes allow arbitrary repeat characters. These repeat characters are inserted while formatting numbers to pad strings to the width of the containing cell. For example, this is used in some default format codes to left-align currency symbols with right-aligned digits. Previously, Calc determined the number of repeat characters to insert based on the assumption that the pixel width of a string containing N of the repeat character would be N times the pixel width of a string containing 1 of them. This is not a safe assumption. This change updates the algorithm to instead look at the average width of a repeat character when used in context as part of a padding string. This approach is still not entirely correct - it doesn't account for ligatures around the padding sequence, for example - but in practice it is a reasonable compromise between cost and accuracy. Change-Id: I240cf38ec0376ee2d2896e7a7da6760a374b3034 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171548 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-07-31tdf#162280 vcl: consider font family type for glyph cachingMiklos Vajna
Open tdf105820-1.doc from crashtesting in a dbgutil build, save as PDF, we assert in checkGlyphsEqual(). This is a problem since commit 6dfac38bacd449c64a13363797b56aff49cf8f52 (tdf#162072 vcl, fontconfig: consider font-family-generic for substitute, 2024-07-18), because now the font name no longer determines the fallback name alone, so 2 paragraphs may share the cached vcl-level text layout, even if the underlying fallback font is different. One would naively expect that in the SalLayoutGlyphsCache::CachedGlyphsKey ctor, the fontMetric.GetFamilyType() already has the correct family type, but it turns out that is always the default, and only outputDevice->GetFont().GetFamilyType() has the up to date setting: debug:12372:12372: SalLayoutGlyphsCache ctor: output device font family name is 'Verdana', output device font family type is roman, font metric family name is 'Verdana', font metric family type is 'swiss' debug:12372:12372: SalLayoutGlyphsCache ctor: output device font family name is 'Verdana', output device font family type is swiss, font metric family name is 'Verdana', font metric family type is 'swiss' Fix the problem by explicitly including the output device font family type in the cache key. Note that this only happens in practice if the same font is used in the document with different family types, which is probably never the intention of the user. E.g. Verdana is meant to be sans, a serif Verdana is some weird corner-case. Change-Id: Id6cc60809a35a3dcdc6e83122a559ddfbe5d5d0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171280 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-07-31CppunitTest_vcl_pdfexport: simplify a bit moreXisco Fauli
after 159d823c7b7502ee07d897d74c4e74c6e1873596 "tdf#153040 PDF export: disable export of form fields as PDF forms by default" Change-Id: I1da61a7ccddc362b8d8ab08f7e48c7da57d47337 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171308 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-07-30tdf#162194 sw: Fix for auto-hyphens inside ligaturesJonathan Clark
Fixes an issue causing Writer to print ligature glyphs in front of automatic hyphens, instead of breaking ligatures at the hyphen insertion point. Regression from commit ab0a4543cab77ae0c7c0a79feb8aebab71163dd7 (tdf#124116 Correct Writer text shaping across formatting changes) Change-Id: I7d6fbfdc892cce0c50552629f520deedc5304c65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171245 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-07-30tdf#153040 PDF export: disable export of form fields as PDF forms by defaultMiklos Vajna
Open <https://bugs.documentfoundation.org/attachment.cgi?id=195586>, notice that from "bbb", the middle "b" is bold, export to PDF, none of the "b"s are bold. The reason for this is that by default we map form controls and content controls to fillable PDF forms, which can only contain plain text. Fix the problem by defaulting to not exporting form controls / content controls to PDF forms: most users just want a PDF that is close to what they saw in the edit window -- and the ones who want a fillable PDF form can still opt in. Once the UI checkbox is enabled, we even remember that. Based on <https://gerrit.libreoffice.org/c/core/+/152622>, thanks Justin! Change-Id: Iddb75d1dbd969045321e139154f254c059eebf16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171226 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-07-29tdf#162205 sw: Fix incorrect baseline adjust for vertical bidi portionsJonathan Clark
Bidi portion rendering was performing baseline adjustment twice. This caused vertical left-to-right bidi portions to be rendered to the left of their proper position. Change-Id: Ic5258f58d8c8260194ec5ea0921d72f8dd738556 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171071 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-07-28Related: tdf#162072 compare fallback to what "serif" resolves toCaolán McNamara
instead of assuming that the resolved serif font will have serif in its name. Change-Id: I3f85e2a8abd1dbf851debec9196e55d5c2da4e66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171144 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-26CppunitTest_vcl_pdfexport2: simplify a bitXisco Fauli
TaggedPDF is enabled by default since 544d6d781b3c8aa108ced362d708693b5127f3d7 "tdf#39667 Enable tagged PDF by default" Only disable it when needed OTOH, using writer_pdf_Export as a FilterName works when exporting calc/impress/draw documents too Change-Id: I970406b8a87cad937c3023815e4f5caa9b4f7143 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171069 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-07-26CppunitTest_vcl_pdfexport: simplify a bitXisco Fauli
TaggedPDF is enabled by default since 544d6d781b3c8aa108ced362d708693b5127f3d7 "tdf#39667 Enable tagged PDF by default" OTOH, using writer_pdf_Export as a FilterName works when exporting calc/impress/draw documents too Change-Id: I5dc0c9eedbb6716f1ef58ffd1faa16e9cc015f9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171070 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-07-24tdf#162171 alpha mask pixels are now alpha instead of transparencyPatrick Luby
Starting with commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, alpha masks now store alpha instead of transparency values. Change-Id: I74d7a536e0ae1aea3b462d660ae3e4b815cf89c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170968 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-07-24tdf#157390 Fix overlapping CJK characters in PDF exportJonathan Clark
This change fixes a vertical text glyph metrics regression that was introduced while migrating PDF export to use metrics from HarfBuzz. The root cause was incorrectly caching CJK glyph heights in place of widths for vertical text. Change-Id: I8426fc902658d1c045b42e760028f26b09eeef93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170935 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-07-23Resolves: tdf#162161 reexport of specific pdf appears blankCaolán McNamara
the contents of the referenced colorspace obj disappears so it gets rendered blank Change-Id: Iaa76d355b5903c695e74edadc329043156bad3b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170904 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-18tdf#162072 vcl, fontconfig: consider font-family-generic for substituteMiklos Vajna
Open the bugdoc, it has two paragraphs: first with a sans font, second with a serif font. These fonts are missing, but their metadata clearly state that they are sans vs serif. Still, Writer renders both as sans. Investigating a bit, the ODT case imports the "font-family-generic" of these fonts fine, but in the Linux case the fontconfig code ignored this info when building the search pattern for the font fallback. Fix the problem by extending vcl's PrintFontManager::Substitute() to also take the vcl-level "family type" into account, which is about sans vs serif (roman vs swiss). Note that FC_FAMILY is a string list, so once the actual font name is added to the pattern, the next "add" will append to this list, not drop the already added font name. The same problem is still there with the DOCX equivalent. Change-Id: I61f31ae73e524471a5261ac9426e5b566454a09c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170681 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-07-16package: add additional consistency checks for local file headerMichael Stahl
Check it contains same as central directory header, also check data descriptor if available. Also check there are no gaps or overlaps. This causes 3 fuzzer generated test documents to fail to load; adapt tests. Change-Id: If5813652f3bd03e90fdf95eb97e1e1523455b2b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170571 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-07-08tdf#159900 sw: fix Figure tag placement attribute when exporting to PDFTibor Nagy
Paragraph tag is a possible parent element for the Figure tag. Figure tag and (any structure element) may have a value of “inline” as a placement attribute and thus, may be a child of a Paragraph tag. Change-Id: Ie1e0221976dbcfbae9ff01b1c9b76dd2d2e7edcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170015 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-07-07vcl: add more GIF metadata to GraphicFormatDetectorTomaž Vajngerl
Change-Id: Ie85947371df087495a80179e4e0f2f660877e368 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166277 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-07-07vcl: inch-size.emf is actually PICT format, rename to inch-size.pctTomaž Vajngerl
Change-Id: I69c1cf65415546811777ec3df914db3596887db6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166276 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>