Ask Your Question
0

Disable LibreWriter font management?

asked 2019-02-17 17:18:44 +0200

updated 2019-02-17 17:20:26 +0200

I'm working on generating stylesheets for Writer. and I'm very frustrated with the italic bold and bold italic buttons.

I have for example Cormorant on Google fonts which has 10 faces:

Light, Light Italic, Regular, Regular Italic, Medium, Medium Italic, Semi-Bold, Semi-Bold Italic, Bold, and Bold Italic.

It seems that Writer is investigating the fonts and removes 'bold, italic, and bold-italic from the choices available if it finds some information within the font itself that satisfies a condition. Only what condition it is examining for is not clear.

For the above set, I have a list in Libre writer of Cormorant, Cormorant Light, Cormorant Semi-Bold, and Cormorant Medium.

Each of these have the Bold, Italic, and Bold-Italic buttons active. Some of these produce REAL italic face but some produce a skewed roman face. For a total of 16 faces.

I want to use the ACTUAL 10 font faces defined, and not a faux font created by LibreOffice skewing or increasing the drawn weights. And I want to be sure I know what the client LO will display.

Is there documentation somewhere on what field or fact Writer is looking for to combine fonts into a group? Is there a way to turn off the faux fonts, and specify the actual font to use?

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted
2

answered 2019-02-17 18:13:08 +0200

ajlittoz gravatar image

updated 2019-02-18 08:49:30 +0200

"Stylesheet" is M$ Office vocabulary. In LO Writer, you have no such "sheet". You play with styles, of course paragraph styles which are universally known, but also character, page, frame and list. I put aside so-called table styles which are in fact templates and don't behave as other "regular" styles.

Custom styles are kept in a template document, which is an ordinary document "blessed" by a specific extension .ott conferring it special properties, among which the equivalent (and more) of stylesheets. When you open a template, you inherit all the styles stored into it, plus the optional default content or outline you have put inside.

The answer to your question is: do not use toolbar buttons but design paragraph AND character styles to meet your needs. Remember that toolbar button are quick'n'dirty shortcuts which will set somewhat artificially some attributes in an anonymous style. Bold and italic buttons are perfect examples of this.

I have no Cormorant but Baskerville in my collection comes in 6 faces. I select a specific face in the Font tab of style dialogs in the Style box to set a weight and an angle for this style.

Afterwards, I only use my custom styles (paragraph or character depending on context).

The only disadvantage is that currently applying several character styles to a run of text is an experimental feature. Consequently, you must design several combinations of attributes in case you play not only with weight and angle but also with other Font Effects.

EDIT 2019-2-18

I design my styles within Writer, leaving to it the burden of translating the UI options into ODF. This way, I don't struggle with the spec and its version changes.

My idea with multi-face fonts is to select the weight/angle variant as if it was a "regular" face and use it without applying stylistic variation.

I had a look at the result for Baskerville SemiBold Italic:

 <office:font-face-decls>
    <style:font-face style:name="Baskerville" svg:font-family="Baskerville" style:font-adornments="SemiBold Italic" style:font-pitch="variable"/>
 </office:font-face-decls>

This section is empty in your .fodt; maybe, this makes a difference.

and

 <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text">
    <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm" style:contextual-spacing="false"/>
    <style:text-properties style:font-name="Baskerville" fo:font-family="Baskerville" style:font-style-name="SemiBold Italic" style:font-pitch="variable" fo:font-style="italic" fo:font-weight="600" style:font-size-asian="10.5pt" style:font-weight-asian="normal"/>
 </style:style>

I suggest you tune your existing styles from within Writer, selecting another face then reselecting the original one to see if it creates a different set of XML attributes.

To show the community your question has been answered, click the ✓ next to the correct answer, and "upvote" by clicking on the ^ arrow of any helpful answers. These are the mechanisms for communicating the quality of the Q&A on this site. Thanks!

edit flag offensive delete link more

Comments

I'm using .fodt format and editing the stylesheet with a text editor (with LibreOffice Calc Actually) to make a comprehensive "style sheet" containing 500+ styles. These form the makings of well formed typography for booklength works. When I say Sheet I mean the 500+ styles i created outside of LO. These are created with a "font Name" and "font style" per the ODF spec, but LO doesn't interpolate the font style to it's designed weight, but seems to ignore the style name and leaves the styles set to the "normal" style and weight.

just.mikey gravatar imagejust.mikey ( 2019-02-17 23:16:04 +0200 )edit
just.mikey gravatar imagejust.mikey ( 2019-02-17 23:19:39 +0200 )edit
1

answered 2019-02-17 17:26:23 +0200

RGB-es gravatar image

That's a known problem. See

Bug 35538 - Handling of fonts with more that 4 styles (R/B/I/BI) is suboptimal

If you need to use fonts that offer many shapes and/or weights, Writer is not the right tool. You need to try with something else, such as XeTeX or Scribus.

edit flag offensive delete link more
0

answered 2019-02-17 23:49:49 +0200

According to the ODF Spec, style:text-properties ... supports style:font-name, fo:font-family, style:font-style-name. The file name should be interpreted when fo:font-style, and fo:font-weight aren't in the stylesheet. But style:font-style-name seems to be ignored.

I've programmed the stylesheet linked above to use fo:font-weight, and fo:font-style, but these fields aren't clearly understood how they are aligned and matching values inside the font itself. They are also cumbersome to get the values, because the specific values aren't in most 'info' screens built into OS file managers. I'm capable of digging into the font, but training others how to extract the OS2 weight... not the best way to go forward.

fo:font-weight supports OS2 like numbering of the weights (100-900). However, it is listed in the spec as supporting a discrete set of values (100,200,300,400,500,600,700,800,900). In my first stylesheet, I have a weight value of 250. (Overlock thin is programmed to OS-2 weight of 250.)

fo:font-style supports 3 values (normal, italic, and oblique) it is unclear what the relationship between these values and a the use of a actual font vs. a faux created skewed roman face are.

Again, it would be really nice if theres a way to force LO Writer to use the style:font-style-name as primary input, instead of fo:font-weight & fo:font-style. ?

edit flag offensive delete link more

Comments

LO is using the style group (R/I/B/BI) when it is present in the font (as it is in Cormorant).
The buttons then apply to the regular font.
Using the buttons on any other weight in the font results in fake bold or fake bold italics.
Removing the style group and making all the weights separate fonts may enable what you are trying do to work as you expect.
If you want to try I will modify the fonts for you.

LibreTraining gravatar imageLibreTraining ( 2019-02-19 16:43:40 +0200 )edit
Login/Signup to Answer

Question Tools

2 followers

Stats

Asked: 2019-02-17 17:18:44 +0200

Seen: 145 times

Last updated: Feb 18