Custom character style, parent style, No character style

Version: 24.8.6.2 (X86_64) / LibreOffice Community
Build ID: 480(Build:2)
CPU threads: 2; OS: Linux 6.6; UI render: default; VCL: gtk3
Locale: en-US (en_US.utf8); UI: en-US
24.8.6-1
Calc: threaded

Custom character style creation:
1

New custom character style got created:
2

I wish more consistency in specification / naming of parent character style. The creation took a number of weeks ago. Since that point of time style is in use. The whole time I was convinced my style is based on style whose name is No Character Style. In current form of implementation it is the annoyance user gets exposed to: what does the discrepancy between character style named No Character Style and -None- practically mean for user?

Well, I think the No Character Style should give you the certainty that you can design text safely without a character style.
At the same time, it can and should be used as a source for new character styles.
However, you cannot edit the No Character Style and therefore cannot carry out any modified inheritance from it.
In my opinion, the decoupling of No Character Style for user-defined character styles is intentional.
Based on -None- only means that user-defined character styles remain as they were created as long as they are not changed.
If you want to create a hierarchy, you must create a separate parent style in order to create childrens from there.

In terms of presentations made in Styles side bar I understood No Character Style as every other character style. Documentation didn’t warn me this entry to be of other nature. My understanding originated in Paragraph styles where Default Paragraph Style is almost like any other (plus couple of specialties in behavior / usage-rules). This understanding I transferred to No Character Style. I paid no attention to the sound of its header-line.

In 6.4.7.2 and earlier, it was called Default Style and the dialogue also showed Default Style. I suppose there were some misunderstandings as it seemed to imply a character style when in fact it was the default style of the paragraph style, that is, no character style at all.

It was renamed to No Character Style in Version 7.x to clarify that it did not make any change to the attributes defined in the paragraph style. From my point of view, it seems clear that no character style is applied.

It has been further clarified in 25.2 where it is also called No Character Style in the Character Style dialogue

I think you can safely ignore the difference as a probable programming artefact.

No Character Style is a fake character style (CS). It corresponds to no real style. This fake style is necessary to remove any character style application, i.e. to revert to the implicit character style defined in the paragraph style.

This is a procedural issue. When you apply a paragraph style (PS), all typographical attributes are taken from the definition internal to the PS. You can apply a CS to highlight a word. This CS “masks” the corresponding attributes in the PS. After the word, you want to revert to the default paragraph presentation. But you can only apply some CS. Developers provide you with fake No Character Style whose effect in to remove any CS in the layer above PS, unmasking the PS attributes.

When you create a CS, the Inherit from menu is built from all known CS, prepended with -None-. Apparently developers did not filter out the fake CS. But it has strictly the same effect as -None-, i.e. create a new CS independent from any other.

For clarity, prefer -None- to No Character Style.

Sure, it would be better to remove No Character Style from the list.

Once in the past I wondered why PS embedding a set of character attributes rather than linking to CS. Edge case would link then to No Character Style.

Strictly speaking PS defines only the “geometry” of the paragraph bounding box. Any text needs a description for font face, size, variant, colour, language and glyph “geometry bounding block”, i.e. a CS.

Since most of the time a paragraph shows a single homogeneous look, developers thought it would be more user-friendly to stuff all these “default” attributes inside the PS. Otherwise, you need to define separately the paragraph level and the character level, thus using systematically a PS and a CS. Think that M$ Word stuffs everything into the PS and has absolutely no notion of CS (any exception to PS must be handled by direct formatting).

Of course, if PS only managed the “geometry”, making mandatory use of a CS, the No Character Style case becomes pointless: you’d simply apply again the associated CS. No Character Style is in fact a misnomer (because there is still the “default” PS-configured CS). It is necessary to remove application of an extra CS: there is no command to suppress CS (which theoretically would make characters invisible because you remove font, size, …).