Status report: consultancy team, week 7, 2025

Caolan

Mike

  • Calc: Misaligned shape/chart/image positioning with browser zoom
    • That helped a lot: found a way to fix the positioning (not size)
      • really unexpected: I definitely thought that it would be a single transformation
    • Debugged why recreating the view changes positioning
      • There is an invalidation of the offsets of all contacts connected to the view, that doesn’t affect objects actually used in LOK case
    • Fixed positioning
    • Debugging sizing
    • Unexpectedly, there seems to be no related transform in drawinglayer - all zoom levels use the same width/height ratio

Tomaz

PPTX – font embedding

  • Added “embeddedFontLst” element tree writing to Presentation OOXML export
  • Embed all fonts that property “Fonts” return
    • which finds all the fonts used in styles even if those are not even used
    • good for now
  • Implemented getting the TTF font with variants
    • de-duplicate fonts by checking the family name, and again by hashing the font (we don’t want duplication - if the font has an identical hash don’t put it in again, but reuse the relationship ID)
  • Implemented the TTF to EOT converter
    • write the EOT structure [2], by copying some of the TTF font header parameters
    • then at the end - write the TTF content as well
    • mkeot tool does something similar - can compare if values are set correctly and what’s set with eotinfo
    • exported the document… but doesn’t work
      • MSO 2016 doesn’t use the font, online MSO complains that it can’t use some embedded font - no details given
    • using “Ahem” [3] test font to compare what MSO does vs. what we do
    • however “Ahem” font is exported by MSO and added to the document, removing the font from Windows and opening the document results in an error that the embedded font “Ahem” couldn’t be used… doh
    • trying to find some font that works as expected - tried “Algeria” font used by MSO, but for some reason we write “comics” as the font name into the document ??
    • tried “Freestyle Script” but for some reason you can delete the font from Windows font folder but it’s in MSO
    • trying “Droid” font next - really need something that’s actually working, so I can compare
    • there was suggested on the web [4] that the EOT fonts can only contain bitmap fonts, rendered in the time of export, but I can embed the font in MSO, then convert that to TTF and open it in FontForge and edit the bezier curves of font, so that’s not correct.
    • eotinfo also suggest the embedded font is not MTX compressed (which would be a pain to implement), nor xor-encrypted (a bit of a pain to implement), so it seems this is not what is preventing us to have working embedded fonts - but what is preventing the fonts to get embedded?
    • documentation how PowerPoint uses the embedded fonts is almost
      non-existent
    • maybe [5] can answer that - need to check

[2] Embedded OpenType (EOT) File Format
[3] GitHub - Kozea/Ahem: A dummy font often used in W3C tests
[4] [MS-OE376]: Part 1 Section 15.2.12, Font Part | Microsoft Learn
[5] GitHub - kiwiwings/poi-font-mbender: Example of using sfntly to embed fonts into POI slideshows

Miklos

Continued on Unwanted synchronous layout for the full document in Writer after inserting a new implicit page · Issue #11064 · CollaboraOnline/online · GitHub