Status report: consultancy team, week 18-19, 2023


Docx Import - empty span loses font information

Export of Caption for Images / OLE

  • On it

New API for saving an embedded object as rtf wrapped ole

  • Will do it next

ReqIF schema validation errors during listing export
ReqIF xhtml schema validation for right side aligned tables
ReqIF schema violation while converting certain listing[…]

  • All three need reading, reproducing, etc.


I backported all my patches to co-23.05 and continued working on
Calc. Progress was made on Calc but there’s some bugs on both the JS side and
the core side so I don’t think it’s ready yet. Continuing work on Calc.

  • Added dark mode view separation in Calc
  • Backported some older commits
  • Started looking into fixing some dark mode related bugs


  • worked mostly on multi-page floating table problems, see tdf#155118 for details


Impress: Auto-fit texts do not increase when lines are deleted
in slides

  • reproduced the issue
    • recalculates the fit when adding new lines, but doesn’t recalculate when
      removing lines
  • to avoid needless recalculation, the algorithm doesn’t trigger in some
    • one of the cases was when the text fits the text box already
    • this assumption is wrong, because we also need to shrink the text if
      there is too much space
    • this happens only when the initial scaling isn’t 100% and this wasn’t
      taken into account
    • so we need to read the initial scaling, then decide if we shrink of
    • also need to decide what the initial bisection bounds are
  • Test for this
    • added a auto-fit test, which would cover this case and maybe also some
    • not much tests dealing with editeng and how it works
    • needed to figure out how to access things
    • also the case only happens when in “edit mode”
      • doesn’t happen if we exit the edit mode
      • text box recalculates and 100% assumption is fine
      • but not during the edit mode
    • the recalculated scaling percentages aren’t very precise but close
      • but doesn’t matter as the scaling is recalculated properly on exit of
  • prepared master, co-22.05 and co-23.05 patches

Add basic interoperable document theming to Calc & Writer

  • added Undo/Redo to store the Theme change, not only undo/redo the changes
  • continuing with Calc support
  • added ThemeDialog to Calc
  • added theme color picker support to Calc
  • changing the theme works for SdrObjects added to a Calc sheet
  • support changing style char and background color when theme changes
    • no undo support yet
  • support changing direct formatting char and background color when theme
    • no undo support yet
  • Theme colors OOXML import support for char and background colors
  • Excel way to store theme colors is quite different to Word
    • there is no schemeClr but a color gets an “theme” attribute, where the
      value is the index
    • also no transformations, just “tint” attribute, which can have a double
      value between -1.0 and 1.0
    • probably need a way to transform LumOff and LumMod to tint/shade value
  • Thee color OOXML export support
  • Calc OOXML export code is a mess - not a good idea to share the code with
    binary MS format
  • complexity is higher and we don’t gain much as we won’t touch the binary
    MS formats in the future anyway
  • also one more unnecessary step
  • oox module export code is much easier to deal with for example
  • adding the code but carefully not breaking it in the process
  • not sure why adding colors to a palette but then when saving to XML we
    save the RGB value anyway
  • just store model::ComplexColor and if present, write a “theme” attribute
  • need to handle transformations - calculate them except tint/shade
  • import/export cycle is complete for char and background at least
  • WIP Test