Status report: consultancy team, week 34, 2025

Caolan

  • text positioning and width calculation, look through
    provided demo docs and see what most obviously doesn’t work
  • Trouble with collabora settings
    • having difficult implementing settings
    • some weird looking urls in the ui
    • ask for verbose logs, not convinced their settings are
      really getting downloaded and installed at all
  • We can extract fonts from the pdf. For the case of
    subsets we could rename each subset font to something unique
    so each range uses the original font. But ligatures are done
    in fonts by having the original glyphs in the font and then
    a replacement. A subset might only include the final glyph and
    not the component glyphs which is the case in at lease one of
    the demos.
  • tdf#168017 a recent regression causing writer layout crash
    https://gerrit.libreoffice.org/c/core/+/189956
  • expose pdfium glyph<->character mapping information
  • tdf#150743 0 height line scaling regression
    https://gerrit.libreoffice.org/c/core/+/189997
  • dump various parts of pdfium that I think are needed to
    make useful decisions about the font text is in to recover what
    is needed
  • tdf#156297 scrolling opt regression
    https://gerrit.libreoffice.org/c/core/+/190054
  • attempt to build font from pdf font subsets

Mike

  • Writer: rendering issue changing the file name in Nextcloud - text dissappears
    • Had a call with Miklos
    • As discussed, added tile dumps from SwViewShell::PaintTile
    • The new tiles aren’t requested
    • The requests aren’t generated in browser
    • Looking at Skipped empty (too fast) tilecombine message
      • Removing respective check in sendTileCombineRequest doesn’t help
    • The problem is in _onInvalidateTilesMsg: it skips some tiles when ‘invalidatetiles: EMPTY’ arrives
    • handleInvalidateTilesMsg uses known document size, which is obsolete at this point
    • Have a fix

Tomaz

Calc: Pre-View Spreadsheet Filtering

  • Sheet view protection
    • ScEditableTester is not a good place to add sheet view protections
    • we want more control which exact actions to allow
    • so need to implement additional class and handle it in every action which we want to allow or disallow
    • but then the issue is what to do when the default sheet is edited, which isn’t a good idea to protect - it would need to invalidate the sheet view
    • let’s stash this for now and concentrate on sync and stability first
  • Fixed crashes when you add another sheet
    • obviously we need to store which sheet view is used for each sheet in ViewData
    • reorganized so it stores the current sheet view used in ScViewDataTable structure
  • Fixed sheet corruption when scrolling
    • there are several functions in ViewData specific for the UI that should not redirect to the sheet view tab
    • found those and fixed the issue
  • Changed the header color if sheet view is used
    • something fast to indicate that we are viewing a sheet view
    • helps when testing

Miklos

Worked on: