Download it now!
Bug 94327 - UI: Apply current font substitutions
Summary: UI: Apply current font substitutions
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
(earliest affected)
Inherited From OOo
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
Keywords: needsUXEval
: 95097 (view as bug list)
Depends on:
Blocks: Options-Dialog Fonts Font-Substitution
  Show dependency treegraph
Reported: 2015-09-17 20:21 UTC by tmacalp
Modified: 2017-11-26 18:46 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:

Mockup for a new font substitution page (47.68 KB, image/png)
2016-07-27 11:32 UTC, Heiko Tietze
Mockup for alert message (153.22 KB, image/png)
2016-07-29 20:43 UTC, Shunesburg69

Note You need to log in before you can comment on or make changes to this bug.
Description tmacalp 2015-09-17 20:21:28 UTC
It would be very useful to have a way to replace all existing missing fonts with their substitutions.

We've been using StarOffice, OpenOffice, and LibreOffice for many years.  Many of our documents were created years ago and have been moved to new systems with different names for similar fonts.  As a result, most of our documents look fine, but suffer from font substitution issues.

Manually fixing these missing fonts can be quite arduous, since the fonts can be found anywhere in these documents, from styles to direct formatting changes to character, paragraph, etc...

I'm not too sure how best to implement such a feature.  At its most simple, it could be a simple button, hidden under the File -> Properties -> Font tab.  On the more complicated side, it would also be nice to at least see a list of all fonts currently being substituted and all of the replacements.  

The best implementation I can think of would be to modify the existing font replacement table (Tools->Options->LibreOffice->Fonts) so that it also shows the current active font substitutions in your current document.  It would need some way to differentiate the normal global font replacements and the current document replacements.  It could possibly show the actively substituted fonts as bold and allow you to right click the font to apply the replacement and offer an "apply all" button.  This implementation has the benefit of clearly showing a user all of the missing fonts in their document.  It also could give the user a way to quickly set common global font replacements that they might run into in other documents.
Comment 1 Buovjaga 2015-10-01 10:51:11 UTC
Let's ask UX.
Comment 2 Shunesburg69 2015-10-15 20:18:24 UTC
What is this UX ?

I have made a proposition in the "Crazy Ideas"

I hope one day, it will be take in charge.
Comment 3 V Stuart Foote 2015-10-15 20:53:18 UTC
Reasonable. And I think @shunesburg69 hit the correct tone for the enhancement in his "Crazy Idea" Wiki entry. To NEW and back to UI.

What is this UX?

UX is a notation for "User eXperience", within the LibreOffice project it is often used as a shorthand for the "Design & UX" team. Applicable issues are routed for design (UI & functional) review by assigning/reassigning a bug to the ux-advise component--which routes the issues to subscribers to The Document Foundation -- Design mailing list.

ux-advise notated bugs get a slightly different QA triage, and often will be flipped back to the specific LO component with comments as I'm doing here.
Comment 4 Tomaz Vajngerl 2015-10-15 21:02:35 UTC
*** Bug 95097 has been marked as a duplicate of this bug. ***
Comment 5 Tomaz Vajngerl 2015-10-15 21:06:25 UTC
As I already said in that duplicate. "Crazy Ideas" wiki page is for CRAZY IDEAS - that by definition will most likely never be implemented. I wouldn't encourage people to write their ideas into that wiki page.
Comment 6 Shunesburg69 2015-10-15 21:15:57 UTC
Crazy not meaning never implemented but just too ambitious to be implemented now.
Comment 7 Heiko Tietze 2016-07-27 11:32:13 UTC
Created attachment 126432 [details]
Mockup for a new font substitution page

Here is a not so crazy mockup, hopefully.

I tried to combine all fonts into one table to not clutter the dialog with controls. It has now an additional column "Global" which is unchecked when the font substitution comes from the document. In case it has no replacement the respective column would be blank.

Checking this option makes the substitution global meaning it is applied even after the document was closed. The user can change this option until the document is closed (therefore the lower checkmarks are disabled).

The mockup changes the current behavior with external controls and provides inline editing. Also a WYSIWYG comparison as suggested by Shunesburg69 would be nice (the preview column with icons that open a rich tooltip/floating frame). The 'Add' button inserts another row; it is not really necessary as user may advance after the last row.

I'm not entirely happy with the mockup. The checkbox is not the right control to "move" items from one list (document substitution) to another list, and always disabling them makes also not much sense. However, the interaction is more or less clear to the user. But what I also dislike is the presumption that users know what the opposite to checking an option is (not 'global' means it is a document font; 'always' means to have it either substituted even when the font is installed, screen only is obvious).

I wonder if checking 'Screen only' makes sense when Always is checked.

And finally there was a discussion how to show substituted fonts in the dropdown (in italic). Don't remember the details but it would be nice to have a similar visualization on places with the same information. Icons are a good cue for that.
Comment 8 Shunesburg69 2016-07-29 20:43:15 UTC
Created attachment 126477 [details]
Mockup for alert message
Comment 9 Heiko Tietze 2016-07-29 22:08:02 UTC
(In reply to shunesburg69 from comment #8)
> Created attachment 126477 [details]
> Mockup for alert message

Isn't this control, called 'info panel' in LibO, a little bit too much warning? And actually the info panel is usually not interactive.

But of course we need better information (talked about the issue today in the UX meeting).
Comment 10 Shunesburg69 2016-10-11 22:03:51 UTC
Why too much, if it's necessary ?
I don't know if there are too much warnings but this one is important.
Comment 11 V Stuart Foote 2016-10-11 22:41:06 UTC
(In reply to shunesburg69 from comment #10)
> Why too much, if it's necessary ?
> I don't know if there are too much warnings but this one is important.

Too much as in overdone, excessive, garish, obnoxious and just plain annoying. =D

Otherwise the enhancement requested here is to be able to reliably modify the ODF documents to change the styles and direct formatting (held styles.xml & content.xml respectively). So that on reopening the styles and direct formatting are annotated with desired fonts.

Enhancing the Font dialog to optionally show the fallback font replacement done during filter import of a document would be helpful, in addition to the current font replacement table. 

Also helpful, would be adding options for the export filters to modify the Style and Content xml--effectively updating the document with the font replacements being made (either fallback or the font replacement table).

Finally think it would be useful if the Font dialog indicated if a font was subset/embedded into the document and--when font replacement occurs or is forced--allow removal of the embedded font, and optionally its replacement on export back to ODF. Effectively "re-styling" the document.