Bug 149429 - Changing Calc document's language should overwrite cell direct formatting language
Summary: Changing Calc document's language should overwrite cell direct formatting lan...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.3.3.2 release
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Spell-Checking Languages
  Show dependency treegraph
 
Reported: 2022-06-02 11:19 UTC by manimal.tfu
Modified: 2023-03-22 12:41 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Calc Sheet showing up unexpected misspelling detection (411.18 KB, image/jpeg)
2022-06-02 11:29 UTC, manimal.tfu
Details
Calc Sheet Tools -> Language -> All Text -> English (USA) (446.21 KB, image/jpeg)
2022-06-02 11:30 UTC, manimal.tfu
Details
Calc Sheet Tools -> Language -> All Text -> None (446.06 KB, image/jpeg)
2022-06-02 11:32 UTC, manimal.tfu
Details
Cacl Sheet where the false misspelling detection shows up (21.72 KB, application/vnd.oasis.opendocument.spreadsheet)
2022-06-02 11:38 UTC, manimal.tfu
Details
A screencast (1.13 MB, image/gif)
2022-06-07 10:55 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description manimal.tfu 2022-06-02 11:19:17 UTC
Description:
Hi,

I've primarly created a sheet with Calc with LibreOffice v7.2.5.2 set up in French (France), including the Automatic Correction.
I was yet noticing the detection of mispelled words in English without caring about it, because this soudned like obvious that words in English would cause that with my current settings.

I've installed yesterday LibreOffice 7.3.3.2 x64 in French and then I've wanted to use the recent "No language" feature on this Calc sheet.
The erroneous detection is still showing up in spite of the No language.

So I've turned the language for the entire page to English, but the spell checker wrongly detected a misspelled word that is correctly written !

I've even saved the sheet and quitted LibreOffice, then reopenned it.
It's still showing up the wrong detection.

Steps to Reproduce:
1. Create a sheet in Calc with a few English words (LibreOffice installed and set up all in French) and with Speel Checker enabled on French language.
2. Click on Tools -> Language -> For all text -> English (USA). Wrong detection !
3. Click on Tools -> Language -> For all text -> NONE. Still detecting misspelled words !

Actual Results:
# Tools -> Language -> For all text -> English (USA) => Wrong detection, but not on every same word.

# Tools -> Language -> For all text -> NONE => Still wrongly detecting misspelled words, but not on every same word

Expected Results:
Whether I select English language or None, correctly spelled English words should not be detected as misspelled.


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
Version: 7.3.3.2 (x64) / LibreOffice Community
Build ID: d1d0ea68f081ee2800a922cac8f79445e4603348
CPU threads: 8; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: Skia/Raster; VCL: win
Locale: en-US (fr_FR); UI: fr-FR
Calc: CL

O.S. : FR version, updated.
Java Script: updated.
Comment 1 manimal.tfu 2022-06-02 11:29:50 UTC
Created attachment 180534 [details]
Calc Sheet showing up unexpected misspelling detection
Comment 2 manimal.tfu 2022-06-02 11:30:53 UTC
Created attachment 180535 [details]
Calc Sheet Tools -> Language -> All Text -> English (USA)
Comment 3 manimal.tfu 2022-06-02 11:32:23 UTC
Created attachment 180536 [details]
Calc Sheet Tools -> Language -> All Text -> None
Comment 4 manimal.tfu 2022-06-02 11:38:08 UTC
Created attachment 180537 [details]
Cacl Sheet where the false misspelling detection shows up
Comment 5 Mike Kaganski 2022-06-02 11:57:55 UTC
The proper way would be to make *font language* for the cells None or English (USA) - done in Format Cells dialog, Font tab. That way, it would work for you.

However, I agree that the option you tried to use looks odd, because it seemingly does nothing. Without reading the code, I can't tell what it actually does; and help [1] doesn't describe anything related either.

Possibly Eike knows what is the intended effect, and if this is a bug?

[1] https://help.libreoffice.org/latest/en-US/text/shared/01/06010500.html?&DbPAR=CALC
Comment 6 Eike Rathke 2022-06-07 10:29:15 UTC
For me in 7.3.3 opening the document the assigned font language is English-US and I don't see any misspelling except the MQ entries, and using the All Text switching to [None] correctly assigns language [None] to font language of all cells and makes the MQ misspelling disappear. So, can't reproduce, or I misunderstood..
Comment 7 Mike Kaganski 2022-06-07 10:55:11 UTC
Created attachment 180619 [details]
A screencast

(In reply to Eike Rathke from comment #6)

This is what happens for me with attachment 180537 [details].
Comment 8 Eike Rathke 2022-06-07 12:44:33 UTC
Ah that sheds some light. I didn't even notice that some cells are *hard* formatted to *French*, and as I don't have French spell checker installed there's no misspelling indicated. Changing language for all text changes the language in the Default cell style, and of course that still gets overridden by the hard attribution. Nothing wrong with that. I'd say this isn't even a bug.
Or is it really expected that *any* language hard attribution gets removed when changing the language for All Text, so the then changed Default style takes place?
Comment 9 Mike Kaganski 2022-06-07 12:56:17 UTC
In Writer, when I type some text, then select some words in it and apply a different character language, then use Tools->Language->For All Text, the selected text gets applied *as direct formatting* to all the text, replacing all direct formatting. (It gets applied as direct formatting even in the case when there was no direct formatting before calling the For All Text.)

The end result looks inconsistent in the two applications from the user PoV...
Comment 10 Mike Kaganski 2022-06-07 12:59:50 UTC
(In reply to Mike Kaganski from comment #9)

I forgot to mention that Writer applies that direct formatting *in addition* to setting the document language (as in Options->Language Settings->Languages).
Comment 11 Stéphane Guillou (stragu) 2023-03-21 23:19:26 UTC
I updated the summary to hopefully more accurately describe the issue.

Minimal steps from a new document:
1. Open Calc
2. Right-click on cell A1 > Format cell > Font > change language to e.g. French > OK
3. Change language for document to e.g. English (from status bar, or Tools > Language > For all text, or Tools > Options > Language settings > Languages > Default languages for documents)

Result: cell A1 is still in French.

UX team, what do you think?
- Is this difference between Writer and Calc desired? If so, we should probably make it clearer (in UI / in documentation) that direct cell formatting will not be overwritten by a change in default document language. And clarify that the status bar in Calc is to set the "Default language for this document", and not just the selected cells.
- Or do we need to make a document language change overwrite the direct cell formatting?
Comment 12 Heiko Tietze 2023-03-22 09:16:34 UTC
My UI lang is English (USA), locale German, default language for documents English (USA). Dictionaries for both languages are installed. Testing with v7.5.1.2, VCL kf5.

Calc starts a new document with Text Language = German (no idea why) but I can change it via status bar to English and "Hello World" is recognized then as correct. Switching the language means correctly to change it for the 'Default' cell style.
Cell R10 in the example, is defined as French (France), removing the direct formatting (ctrl+M) makes it English for me. And subsequently language is applied to this cell.


So I can follow Eike's comment 8. And we must not overwrite direct formatting by any operation (this summary is WF).
However, the situation is very much unclear to users as the direct formatting is potentially overlooked and not aligned with the various places where the language is set (statusbar and menu). Calc also lacks on something like tools > language > for selection. Putting all together I think at least the statusbar needs to reflect the currently active language on the focused cell.
Comment 13 Mike Kaganski 2023-03-22 11:06:33 UTC
(In reply to Heiko Tietze from comment #12)
> we must not overwrite direct formatting by any operation (this summary is WF).

Do you mean that "Clear direct formatting" must be removed? It is the operation that exactly overwrites direct formatting.

Also: do you suggest to change the application of paragraph styles, so that it doesn't overwrite DF?

In essence: "we must not overwrite direct formatting by any operation" is simply a wrong statement. The effect of a given operation on DF is defined by us. And if it's "set this to *everything*", then a *natural* expectation is that after this user-initiated operation, *everything* has the wanted property.
Comment 14 Heiko Tietze 2023-03-22 12:41:57 UTC
(In reply to Mike Kaganski from comment #13)
> Do you mean that "Clear direct formatting" must be removed? It is the
> operation that exactly overwrites direct formatting.

No, I was replying to the summary "Changing Calc document's language should overwrite cell direct formatting language". And my take is that any DF should remain. But this discussion is off-topic.