Bug 155274 - Special Character dialog should support, and default to, no-direct-formatting insertion
Summary: Special Character dialog should support, and default to, no-direct-formatting...
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.4.5.1 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Special-Character
  Show dependency treegraph
 
Reported: 2023-05-13 08:44 UTC by Eyal Rozenberg
Modified: 2024-02-03 17:30 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eyal Rozenberg 2023-05-13 08:44:13 UTC
At the moment, when we use the Special Characters dialog, we choose a specific font, and a character from that font.

In one sense, this is unavoidable - as one can't insert a character abstractly, and not all fonts have glyphs for all characters.

In another sense, however, this is wrong: A character is not a specific font's glyph for that character. Fixing a specific font for the inserted character is DF, direct formatting - and it currently cannot (?) be avoided. This kind of DF makes our documents brittle and easy to break: When one changes the font in the text's style, the special character will not change along with the style. (There is also the question of text following the special character which I will open a second bug about).

This can be ameliorated manually, by selecting the inserted special character and choosing to clear direct formatting; but the user should really not have to do this. It should, in fact, be the default action to insert a character with no DF.

The dialog currently doesn't offer an option to do this. It should. This could be:

* A checkbox which grays out the font selection
* A default entry in the font selection drop down which is a non-font, e.g. "(normal text)" or "(no font specified)". I believe that's what MS Office uses.

The problem is compounded with the most-recent-symbols available in the menu-bar on the Format toolbar: One can't even know which font is used for those characters. That should be rectified in one of the following ways:

* Only keep non-DF-ed characters in the most-recently-used slots
* Indicate slots which override the font, e.g. with some kind of background color or hatching, and also with tooltip text when hovering.
Comment 1 Telesto 2023-05-13 13:47:17 UTC
Some feedback at bug 139359
Comment 2 Heiko Tietze 2023-05-15 07:42:06 UTC
I don't see why we need to discuss this in an extra ticket.

While unnecessary DF should be avoided, the few attributes wont break many documents and don't outweigh a more complex and cluttered UI.
Comment 3 Eyal Rozenberg 2023-05-15 07:59:27 UTC
(In reply to Heiko Tietze from comment #2)
> I don't see why we need to discuss this in an extra ticket.
> 
> While unnecessary DF should be avoided, the few attributes wont break many
> documents and don't outweigh a more complex and cluttered UI.

This is a different request. I'm suggesting we _explicitly_ distinguish between forced font family and non-forced; bug 139359 suggests inserting the minimum necessary, with some suggesting it _implicitly_ insert none.
Comment 4 Heiko Tietze 2023-05-23 12:39:50 UTC
(In reply to Eyal Rozenberg from comment #3)
> I'm suggesting we _explicitly_ distinguish between forced font family 
> and non-forced; bug 139359 suggests inserting the minimum necessary, 
> with some suggesting it _implicitly_ insert none.

Cannot follow why we need to force DF beyond the needed amount. And as commented before in c2 I'm against more options in the dialog.
Comment 5 Eyal Rozenberg 2023-05-23 14:08:06 UTC
(In reply to Heiko Tietze from comment #4)
> Cannot follow why we need to force DF beyond the needed amount.

I believe you've misunderstood me. The needed amount is no forcing at all. Forcing is never needed. Forcing can be useful if the font you're using doesn't have the relevant character - but it's not _needed_. It would be just as though you had used the keyboard to insert a character with a glyph missing from the font - which is how "Insert Special Character" should intuitively behave.