Though I resent the inevitable complications caused by the MS-workalike
practice of Paragraph styles containing Font specifications, I had always
thought of Character styles as a way to at least mitigate the problem, by
defining attributes with respect to the Paragraph style to which they are
applied. As the LibreOffice Writer 6.0 Guide puts it on page 204:
Character styles provide exceptions to the formatting in a paragraph style.
They are applied to groups of characters, rather than whole paragraphs. They
are mainly used when you want to change the appearance or attributes of parts
of a paragraph without affecting other parts. ...
One key (as I understand it) is in the phrase "provide exceptions".
"Exceptions" can be attributes that either:
(1) modify the Paragraph style's Font specification (like bold or
italic), or
(2) replace the Paragraph style's Font specification (like a new Font
specification).
Unfortunately, (1) and (2) are semantically inconsistent (a necessary
consequence of Paragraph styles containing Font specifications), and
inconsistent with respect to font design because so many font families contain
bold and italic variants that are separate font faces. But the designers have
done a good job of allowing users to ignore those fine points...
... right up to the problem of the Font tab's "Size <size>/%" attribute. By specifying a
%-size, it appears to modify, rather than replace, the Paragraph style's Font specification. Except that it
does not: <size>% modifies some other fixed font size not in the Paragraph style (and specifying
"100%" will always revert to a fixed size).
So, for example, in a Character style that specifies two attributes -- like adding /Italic/
and making a relative size change (like 90%) -- the /Italic/ modifies the Paragraph Font,
but the <size>% modifies something else. This means that if I go back to the
Paragraph style and modify the base Font face, then part of the Character style (/Italic/)
will immediately reflect the new font face, and part (<size>%) will not.
Put another way: the Paragraph style is the parent for only part of the Character style;
something else is the parent for the %-size attribute. One solution appears to be to create
a tree of Character styles with a complete Font specification at the root style; then every
other Character style based on that root can modify with the <size>% attribute.
Unfortunately, that only seems to work until the document is saved, then reopened -- and
then the <size>% attribute (and /only that/ attribute) is no longer attached to the
base Character style, but reverts to modifying some other fixed font size. Is there a
clean way to handle this?
[Note: While researching this problem, I found a great discussion
<https://ask.libreoffice.org/en/question/60567/writer-usage-of-percent-character-sizes-how-does-it-work/>
between ajlittoz and Regina Henschel on this from four years ago. It was [closed] with an answer but no
clean resolution. As I read the spec
(<https://docs.oasis-open.org/office/OpenDocument/v1.3/cs01/part3-schema/OpenDocument-v1.3-cs01-part3-schema.html#__RefHeading__1419806_253892949>
or earlier
<https://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#__RefHeading__1419806_253892949>
-- there is no change in this regard), the question is just which entity is the "parent" of the
attribute -- and I don't understand why different attributes of a Character style have different parents.]
John
--
To unsubscribe e-mail to: [email protected]
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
Privacy Policy: https://www.documentfoundation.org/privacy