Slide 1

Slide 1 text

Miklos Vajna Software Engineer [email protected] 2023-03-28 Multi-page floating tables in Writer: a first cut

Slide 2

Slide 2 text

2/10 About Miklos ● From Hungary ● More details: • https://www.collaboraoffice.com/about -us/ ● Google Summer of Code 2010 / 2011 • Rewrite of the Writer RTF import/export ● Then a full-time LibreOffice developer for SUSE ● Now a contractor at Collabora

Slide 3

Slide 3 text

3/10 Results so far

Slide 4

Slide 4 text

4/10 Layout

Slide 5

Slide 5 text

5/10 User Interface

Slide 6

Slide 6 text

6/10 Importers, exporters ● DOCX (OOXML) import and export is implemented • Import is disabled by default, SW_FORCE_FLY_SPLIT=1 opts in ● ODT (ODF) import and export is implemented

Slide 7

Slide 7 text

7/10 How is this implemented?

Slide 8

Slide 8 text

8/10 Layout representation Frame height is automatic At-paragraph anchored text frame Top left of anchor frames Content flows around the frame on the last page Vertical offset is only rendered on the first page 1 2 1 3 2 4 5 3 3 4 5

Slide 9

Slide 9 text

9/10 Legacy mode, for Word <= 2010 And then the usual steps ● Document model ● UNO API ● Filters ● Testing ● UI ● Documentation ● ODF specification

Slide 10

Slide 10 text

10/10 Summary ● Originally requested in 2013, multi-page floating tables are coming to Writer this year • COOL 23.05 / LibreOffice (perhaps) 7.6 ● Status: ~25% done, but you can already opt in to try it out ● How it interacts with headers/footers, orphan/widow control, minimal row height, compatibility modes, change tracking, etc. – is complex, but we’re working on it ● Defaulting to the way today’s Word (>= 2013) does it, but also have a legacy mode for older documents