df-libreoffice:feature/taggedPDF

Last commit made on 2019-02-05
Get this branch:
git clone -b feature/taggedPDF https://git.launchpad.net/df-libreoffice
Members of The Document Foundation can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
feature/taggedPDF
Repository:
lp:df-libreoffice

Recent commits

35c1722... by Katarina Behrens <email address hidden>

PPTX import of shape description

(cherry picked from commit dc1d26e5a3f0b75e729b58d5848493a48cb532bd)

Change-Id: I7fcd5608a8cdbeea9ea15c9c9aa32c9020154750

0eb8505... by Katarina Behrens <email address hidden>

Export background images provided by master page as artifacts

so that screenreaders don't announce them. To make this happen,
pass them as NonStructElement to PDF writer

Change-Id: I94d52ee0207cd6362edabfb9b891faa7fe341543
(cherry picked from commit bf978a527fb0bba27cd2c83443e70ad86a63d819)

20ef609... by Katarina Behrens <email address hidden>

Process entire list item (Lbl + LBody) in tagged PDF-compliant way

implemented as described in
https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G21.1021281

Change-Id: I943c35cb8ee833ff46ff594e6b6c1025450b9ca4
(cherry picked from commit 98270dafaba733db4660bbd22f2f1f96bf1d6282)

45d324d... by Katarina Behrens <email address hidden>

Different way to determine if paragraph is within a list

pptx import seems little flaky in this regard, EE_PARA_OUTLLEVEL
isn't always set (no such problem with odp). Instead, we'll query
paragraph's depth and visibility of bullets/numbering

Change-Id: Ia8cf6b7bb0e065a1378875442a99d79b006e2d77
(cherry picked from commit 2f5c61ce217c5db20059b16f681d65580a7577c7)

ee34866... by Armin Le Grand <email address hidden>

Enhance TaggedPDF export (accessibility)

The current tagged PDF export does not well support
quite some internal structures. This includes all
apps (Draw/Impress/Writer/Calc) and some areas.

Area AlternativeText ('/Alt'):

Only writer currently at least adds Title information,
but we also have Description (MS does add) and Name.
Target is to add this information when available to
content frames.
Writer did that by manually adding that tag using
PDFExtOutDevData::SetAlternateText, but only used
Title so far.
To make this work as broad as possible, better add
this to primitives. There is already a primitive called
ObjectInfoPrimitive2D that encapsulates any content
adding Name/Title/Description using GroupPrimitive
functionality.
Changed Writer to use that way. Draw/Impress already
uses it, all apps now use graphic paint using primitives,
so we have a natural target to encapsulate. Add support
to VclMetafileProcessor2D to interpret it and add
- if mpPDFExtOutDevData->GetIsExportTaggedPDF() - that
data using a combination of Name/Title/Description and
add using mpPDFExtOutDevData->SetAlternateText.
This works for Draw/Impress/Writer, but not for Calc
because Calc does not create more complex data structures,
so SetAlternateText does not work (see
PDFWriterImpl::setAlternateText for more infos).

Area Tagged ListContent (use 'L', 'LI', 'LBody' PDF tags):

To support this in Draw/Impress, we can also use a similar
way to support in primitives. For this I evaluated how to
add needed OutlineLevel information to the existing (and
already used to write 'P') TextHierarchyParagraphPrimitive2D.
Added this and now ready to use in VclMetafileProcessor2D
::processTextHierarchyParagraphPrimitive2D.
Added now using the OutlineLevel information at the
TextHierarchyParagraphPrimitive2D. Made sure there are
fallbacks to unchanged old behaviour when no PDF export
or no Tagged-PDF used. Creating now '/L', '/LI' and '/LBody'
statements as tagged PDF wants us to do.
Exported PDF still works well while additionally a verifier
as 'PAC 3' shows the expected and wanted structure.
This will work now for any text in Draw/Impress and for
Draw-Objects using Lists in Calc. Need to check for direct
text in Calc cells and Writer - and guess how big the
effort would be for these to make it work there, too.

Area '/Artifact':

Target is to avoid too much ScreenReader hassle when
Impress uses Pictures/FillPatterns etc. in Background
- what means on MasterPage in Impress.
Experimented with different possibilities. Decided to use
existing StructureTagPrimitive2D and extend for info if
encapsulated data is 'Background' data -> on MasterPage.
Can be created in ImplRenderPaintProc in method
createRedirectedPrimitive2DSeque as needed by checking
for MasterPage member (remember: primitives need to be
as independent from model data as possible, never include
e.g. a SdrObject reference in any way).
Tried different ways to use this in VclMetafileProcessor2D
processStructureTagPrimitive2D, see comments there. Current
best solution is to just *not* create StuctureTag information
for these objects.

(cherry picked from commit b1245b227021c3dee75a4c420c5db320ea6e1afb)

Change-Id: Ib2a578b02c1256758cda6d15ce37799803d8205c

6acf4af... by Roman Kuznetsov <email address hidden>

tdf#74446 Changed item names in Styles dropdown menu on Sidebar

Change-Id: I16ff0d5ff896d896cd2e261ea86a8df8d9b45f3b
Reviewed-on: https://gerrit.libreoffice.org/66974
Reviewed-by: Heiko Tietze <email address hidden>
Tested-by: Heiko Tietze <email address hidden>

18f2e73... by Vasily Melenchuk <email address hidden>

tdf#87884: UnoControlTabPageModel is using tabs w/o WB_NOBORDER

No border attribute is a special case for vcl/TabControl, so by defualt
created with corresponding UNO interface tabs were invisible.
To create invisible tabs there is already "tabcontrolnotabs"(?)

Change-Id: I3cc9baef9106f6c3fb5688daadbb5844d2b2a008
Reviewed-on: https://gerrit.libreoffice.org/67188
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <email address hidden>

3deab78... by Vasily Melenchuk <email address hidden>

tdf#87884: basic: fix for UnknownPropertyException

UnoControlTabPageModel had no USERFOMRCONTAINERS property
and this was causing an exception during any attempt to set
its properties.

Change-Id: Icc432d7a431ecd861ac4f00a96ec75165bec168c
Reviewed-on: https://gerrit.libreoffice.org/66801
Reviewed-by: Thorsten Behrens <email address hidden>
Tested-by: Thorsten Behrens <email address hidden>

41507db... by Mike Kaganski <email address hidden>

Support Amazon Corretto

https://aws.amazon.com/corretto

Change-Id: I7f9ef25e1e81ededce426bad661adc6880feb9d3
Reviewed-on: https://gerrit.libreoffice.org/67289
Reviewed-by: Stephan Bergmann <email address hidden>
Tested-by: Jenkins

98f5f97... by =?utf-8?b?THVib8WhIEx1xYjDoWs=?= <email address hidden>

make --enable-ld the default for debug builds, if available

By default for clang this tries to use first lld and then gold,
for gcc it just tries gold.

https://lists.freedesktop.org/archives/libreoffice/2018-June/080437.html
https://lists.freedesktop.org/archives/libreoffice/2018-July/080484.html

Change-Id: I669a8fa7671553f0cf78ddf82c51364fcdb0891b
Reviewed-on: https://gerrit.libreoffice.org/65426
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <email address hidden>