Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


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: users+unsubscribe@global.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.