docx compatibility: substitute fonts not working when docx/odt saved as docx by LO

I have a docx file, coming from MSO [probably not, see update below] directly without any editing from LO, containing tick and cross symbols from Wingdings 2 as shown in image 1. Wingdings 2 is not available but it’s being substituted effectively as in image 1. utf-16 codes for characters are U+f050 and U+f04f.

observation1: If i make any change to this docx, even if not touching these symbols, and save as docx using LO [2.docx], then it is not being substituted correctly anymore as shown in image 2 upon reopening the 2.docx. Also happens if I use safe mode to edit and reopen.

observation2: But if i make changes to original docx file and save as odt instead of docx, then substitution is working ok, until I save it as docx.

observation3: this is not happening when I’m generating new docx using Gsuite using fonts unavailable with me, things are fine here. It may be with MSO generated docx only. But when I’m uploading my original docx file which I have containing Wingdings 2, then only check mark is displayed and ‘ballot x’ is as missing character as shown in image 3 and 3.docx. Moreover, unicodes of both characters are changed.

I cannot share the original docx file. Cutting apart only the symbols and saving as docx isn’t fruitful either due to observation1 making incorrect substitution. But I can save that in odt due to observation2, uploaded as 1.odt

Long story short: To reproduce, one has to open 1.odt to find things as image 1 and save it as docx which on reopening will display as image 2. Please confirm the reproducibility [no need].

Build ID: 8061b3e9204bef6b321a21033174034a5e2ea88e
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-IN (en_IN); UI: en-US
Calc: threaded

UPDATE 1: sorry for this but now I remember seeing the person who gave me original docx using Mac air so the source generator for original docx file is probably Mac version of MSO or even more I feel the Mac office suite [Pages]. I have MacAir so I’ll checked the later case and results are: it happens when you create docx using Mac Pages [pg(see heading).docx] or even using wps [wps(see heading).docx] on Mac. Though, it doesn’t happen for other fonts which are unavailable to me in Linux LO [pg w+ NON special chars even including Wings2 are ok.docx] but only for special characters of Wingdings 2 [wps sp more special characters from Wings2.docx] [didn’t check for special characters of other unavailable fonts]. MSO on Mac and Windows remain untried casting doubt that whether it is Mac exclusive or includes Windows too. Update 1.1: also happens with special characters of other unavailable fonts, I tested Times New roman regular, Wingdings 3 and wingdings [specials of other unavail fonts.docx]. In case of pptx exported using Mac Keynotes, it’s not even substituting at first go [pg sp ppt.pptx].


image 1 image 1


image 2

image 3


Please confirm the reproducibility.

Why? Do you suspect that if this is not reproducible on other systems, it will be OK then?

If you see something not working as it should, just file a bug (esp. since you have a reproducer document) The only useful thing to do before filing is using safe mode.

No idea if this word document will also behave as you describe (created using Word 2016; I personally can’t test on a Linux).

Doc in your comment behaves the same as I described.

You are probably bumping into a complex case: compatibility + missing fonts.

When I Alt+X your 1.odt, I can’t get the Unicode encoding: the U+f050 string displays with the “missing glyph” until I force the font to Liberation Sans or other present on my computer. But initially, the check mark and ballot X display as expected.

In 2.docx, the characters display as “missing glyphs” (although they pretend to be Wingdings 2 like in 1.odt) and I get the Unicode encoding with Alt+X without the need to change font.

Maybe, this could be a lead (here LO, Fedora 32, kernel 5.7.11).

Have you configured a substitution rule in Tools>Options, LibreOffice>Fonts`? If so, which? Remember these rules are local to your computer and don’t ship with files.

substitution rule was on by mistake for Wingdings 2 with opensymbol. But issue persists without that.

I thought missing glyph is due to ‘U+f050’ being displayed in Wingdings2 [that being active style] but since Wingdings2 isn’t available and is not getting substituted for some reason [that may be another problem], code is displayed as missing glyph. But the same thing gets displayed in 2.docx. whoof, that’s just another problem in its own or things are complicated here. Can @mikekaganski sir make a docx in MSO with Wingdings2 or other and upload for checking on Linux? [I assume he has MSO and so may have Wingdings2 too, doesn’t have Linux LO]

Sigh. This question is ever changing - why? completely unnecessary, since this is a bug, as mentioned long ago. And still no reference to the bug number.

bug reported fdo#135602