Bug Hunting Session
Bug 89250 - FILEOPEN: IMPRESS implement a default set of automatic font substitutions for missing fonts
Summary: FILEOPEN: IMPRESS implement a default set of automatic font substitutions for...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-09 10:39 UTC by Jan
Modified: 2018-12-13 10:49 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments
Document mit broken arrow (120.43 KB, application/vnd.openxmlformats-officedocument.presentationml.presentation)
2015-02-09 10:39 UTC, Jan
Details
Same document resaved as .odp (15.72 KB, application/vnd.oasis.opendocument.presentation)
2015-02-09 10:39 UTC, Jan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan 2015-02-09 10:39:02 UTC
Created attachment 113248 [details]
Document mit broken arrow

Steps to reproduce:
Open attached document in Impress (was originally .pptx but also works after resave to .odp)

Actual behaviour:
Arrows character look like a strange box in LO Impress.

Expected behaviour:
There should be an arrow character like in MS Powerpoint 2010
Comment 1 Jan 2015-02-09 10:39:33 UTC
Created attachment 113249 [details]
Same document resaved as .odp
Comment 2 Jan 2015-02-09 13:04:53 UTC
Verified that the problem still exists on master (Version: 4.5.0.0.alpha0+
Build ID: 62969accf9c01b71b738424d4d643db8bfaed182 - 09.02.2015)
Comment 3 Buovjaga 2015-02-10 12:22:15 UTC
It is because the Wingdings font is missing in your (presumably Linux) system.
Please do a web search on how to get it on your specific distro. Thanks!

Win 7 Pro 64-bit, LibO Version: 4.4.0.3
Build ID: de093506bcdc5fafd9023ee680b8c60e3e0645d7
Locale: fi_FI

Ubuntu 14.10 64-bit 
Version: 4.4.0.3
Build ID: 40m0(Build:3)
Locale: en_US
Comment 4 Jan 2015-02-10 12:34:10 UTC
Ok I understand the problem. But I object that this is not a problem for Libreoffice. Those are very commonly used "characters" in presentations (at least in academia) and they look really ugly in Libreoffice. There should be some compatibility by default. To legally obtain the Microsoft font you need a Windows license and not everybody has one.

This prevents a lot of people from using Ubuntu + Libreoffice because presentations look bad. The alternative would be using "->" but that looks bad so people tend to use some arrow characters.
Comment 5 Buovjaga 2015-02-10 12:45:27 UTC
Requesting developer input.
Comment 6 V Stuart Foote 2015-02-10 19:09:08 UTC
(In reply to Jan from comment #4)
>... I object that this is not a problem for
> Libreoffice. Those are very commonly used "characters" in presentations (at
> least in academia) and they look really ugly in Libreoffice. There should be
> some compatibility by default.
> ...

There is.  But when fonts are not embedded into the original MSO/OOXML document (oversight, or lack of licensing) it is incumbent on the user to change the font to appropriate alternative that is available on their system.  Lack of Winding fontfamily on non-MS Windows systems is NOT a LibreOffice responsibility. 

LibreOffice deploys the FOSS OpenSymbol work alike which can reliably substitute for unavailable MS Winding and Symbol fonts. 

In LibreOffice, from Tools -> Options -> Fonts in the Replacement Table panel create replacements for MS fonts.  Enter Symbols, Windings, Windings2 and Windings3 (the left column: Font) with OpenSymbol (the right column: Replace with).  Each requires an entry and check button action to add each substitution table, and then check the "Apply replacement table", and OK to complete the dialog. The Winding and Symbols glyphs will be replaced by their OpenSymbol equivalents.

Alternatively, and in this specific case--most of the foundries installed with LibreOffice actually provide a comparable text arrow glyph (U+2192) as used in the slide.

Fortunately, adjusting them one-off is simple and done by selecting the incorrect glyph place holder and picking a suitable substitute font from available foundries visually displayed in the Special Character dialog--the capital Omega button.

Believe any of these fonts provide comparable appearance to the MS Wingdings arrow.

Carlito
DejaVu Sans
Gentium Book Basic
Source Sans Pro Semibold

Resolving invalid.
Comment 7 V Stuart Foote 2015-02-10 19:12:43 UTC
(In reply to V Stuart Foote from comment #6)
s/Windings/Wingdings/g
Comment 8 Jan 2015-02-11 08:42:45 UTC
Still not convinced. I see at least two workarounds: 1. Install font 2. Substitute font. It tested 2 and it works. I don't see how a workaround should fix a bug.

Nevertheless, why is this not enabled by default? New (non-windows) users do not know about this and its pretty common that people use Webdings/Wingdings in presentations. What discourages us adding this as default behaviour if the original font is missing? It would create a lot better Libreoffice experience for most (non-windows) Impress users.
Comment 9 V Stuart Foote 2015-02-11 13:02:08 UTC
Those are not workarounds, and this is not a bug as the feature functions as designed, and tools are provided to handle incompatible systems.

But, it is not an unreasonable request for enhancement. Technically feasible, but could have annoying UX impact. Folks would complain equally loud, or louder, if the default behavior were to become an unsolicited change from expected fonts--corruption!

We will need to flesh out which font families as candidates for substitution. And decide on rules for when multiple fonts are missing.  Some, MS Symbols, Wingdings would with OpenSymbol are pretty obvious. What others?

Setting as enhancement, and over to ux-advise.
Comment 10 Yousuf Philips (jay) (retired) 2015-02-14 19:33:40 UTC
I believe we do automatically substitute Liberation Serif for Times New Roman when its not available on a user's system, so doing the same for Webding/Wingding would also be useful.
Comment 11 Jan 2015-02-15 18:06:45 UTC
I digged around in the source code and found unotools/source/misc/fontcvt.cxx. It actually replaces Webdings, Wingdings, Wingdings2, Wingdings3 (among others) to StarSymbol. Unfortunately, I do not have StarSymbol and it is probably very old. They even mentions OpenSymbol in the comments at the beginning. Looks like a point to start with.
Comment 12 Robinson Tryon (qubit) 2015-12-13 11:21:00 UTC Comment hidden (obsolete)
Comment 13 Robinson Tryon (qubit) 2016-08-25 04:45:01 UTC Comment hidden (obsolete)
Comment 14 Heiko Tietze 2018-12-12 17:18:57 UTC
From the mentioned fontcvt.cxx:

//These conversion tables were designed for StarSymbol. OpenSymbol
//originally didn't have the same code points as StarSymbol, and
//then gained some extra code points, but there are still potentially
//various holes in OpenSymbol which were filled by StarSymbol, i.e.
//destination mapping points which are empty in OpenSymbol

// note: the character mappings that are only approximations
//       are marked (with an empty comment)

Noel, can we go ahead and switch to OpenSymbol?

(Doesn't solve the Wingdings issue but that's a WF for me)
Comment 15 Noel Grandin 2018-12-13 07:36:34 UTC
(In reply to Heiko Tietze from comment #14)
> 
> Noel, can we go ahead and switch to OpenSymbol?
> 

I'd say that is reasonable, but you'd need to check that OpenSymbol currently has at least the code points that StarSymbol has or we're going to have regression complaints :-(
Comment 16 Caolán McNamara 2018-12-13 10:43:17 UTC
There's a bunch of code in LibreOffice that's supposed to make this "just work".

If I cut and paste the [] missing symbol character from impress to writer, select it and in the font name widget in the toolbar hit return there, then it reformats as a proper bullet. So I think its just that in this specific case its not working for some reason
Comment 17 Heiko Tietze 2018-12-13 10:49:15 UTC
So let's resolve this issue as font substitution is working in principle.