Bug 72944

Summary: FORMATTING: LibreOffice Writer's font handling fails to recognize font family and parameters.
Product: LibreOffice Reporter: dhpublic
Component: ux-adviseAssignee: Not Assigned <libreoffice-bugs>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: medium CC: beimaginativeegroup, computergeoffrey, iplaw67, jbfaure, libreoffice-ux-advise, philipz85, vstuart.foote
Version: Inherited From OOo   
Hardware: All   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=87871
https://bugs.freedesktop.org/show_bug.cgi?id=77878
https://bugs.freedesktop.org/show_bug.cgi?id=66792
Whiteboard: BSA
i915 platform: i915 features:

Description dhpublic 2013-12-21 04:47:57 UTC
Greetings,

We're trying to provide helpful feedback about LibreOffice Writer 4.1.3.2 under MS Windows. This bug reporting system is NOT making that easy. We're not trying to report a "bug". We're trying to draw your attention to a deficiency in Writer that hurts the program and prevents us from recommending it to our clients.

We arrived at this bug report webpage by clicking on the "Send Feedback..." command in the Help menu of Writer. Why does it take us to a "Bug" report form? It doesn't make sense. We should have arrived at a "Feedback" page on your website---not a "Bug" reporting page. If all you accept are bug reports, then the command in the Writer's Help menu should have been worded: "Report a Bug...".

Enough of that! Here's the purpose we are trying to communicate with you:

We're running into problems because of the antiquated font support in LibreOffice Writer 4.1.3.2 for MS Windows. (We're running Windows 7 Ultra 64-bit on our computers.)

The problems are pretty basic: Writer does not recognize the family name and key parameters of a font. As such, Writer cannot support a full range of fonts within a family but is stuck in the stone age of only two weights and two slopes: regular, regular italic, bold and bold italic. We expect more from word processing software today.

For example, a staple sans serif font in our work is Helvetica. This is a famously common typeface that was designed by Linotype and which Microsoft ape'd with its Arial version. We use four weights (light, medium, bold, black) and two widths (normal, condensed), all with both plain and italic (oblique) slopes. This should give us 16 choices under the "Helvetica" family:

Helvetica
---------------------------
· Condensed Light
· Condensed Light Oblique
· Light
· Light Oblique
· Condensed Medium
· Condensed Medium Oblique
· Medium
· Medium Oblique
· Condensed Bold
· Condensed Bold Oblique
· Bold
· Bold Oblique
· Condensed Black
· Condensed Black Oblique
· Black
· Black Oblique

Yet this is frankensteined under Writer into fractured Helvetica, Helvetica Black, Helvetica Black Cond, Helvetica Cond, Helvetica Light and Helvetica Light Cond pseudo families. Why? Because Writer does not appear to read or use the font family name to see that all of these fonts are members of the same Helvetica family. Nor does it gather the correct weight, width and slope parameters from each font so they can be properly organized in Writer's font list.

Consider another example: the VAG Rounded typeface. There are four weights commonly provided: thin, light, bold and black. To select the bold weight under Writer, you have to select the thin weight and turn on the program's "bold" attribute. But to select the black weight you must select the light weight and, again, turn on the program's "bold" attribute. What a muddled mess! How would someone unfamiliar with this font family know how to choose "bold" in order to select the black weight?

Again, what Writer fails to do is look inside the font to see that all of these fonts are members of the same family (VAG Rounded) and have four different weights (thin, light, bold, black) with no sloped members (no italics). It should be presented like this:

VAG Rounded
-----------
· Thin
· Light
· Bold
· Black

But instead it is presented like this:

VAG Rounded Th
--------------
· Normal      (actually, Thin)
· Italic      (doesn't exist)
· Bold        (really is Bold---the only accurate one)
· Bold Italic (doesn't exist)

VAG Rounded Lt
--------------
· Normal      (actually, Light)
· Italic      (doesn't exist)
· Bold        (actually, Black)
· Bold Italic (doesn't exist)

Fixing this will require that Writer obtain the full parameters for each font and correctly display the parameters in its user interface so the user can select the font they truly want without guesswork or trial and error.

One way to display the parameters and facilitate user selection is to provide the user with two lists. The first list contains the font family name. The second list contains the available combinations of width, weight and slope for the selected font family in the first list. 

List 1 - Font Family Name
In my original Helvetica example, you would select "Helvetica" from the first list. This list is ordered alphabetically with one caveat: company or font foundary names are usually ignored. For example, "ITC Century Book" would be listed with the C's because the company initials "ITC" would be ignored. This is helpful because you sometimes have the same font supplied from multiple companies and what the user is looking for is "Century Book" and is frustrated when he/she can't find it because it's got a company name prefaced to it that pushes it into an unexpected location in the font list. Naturally, in order to ignore font company and foundary names, you'll need to create a database of them and include this with Writer. It would be really nice if the company name were displayed in a subdued fashion (perhaps a shade of grey) so the font family name would command the attention of the user.

List 2 - Width, Weight, Slope
Returning to my earlier Helvetica example, you would next select one of the 16 choices I listed above from the second list. Instead of an alphabetical order, the second list is usually ordered as follows: First the fonts are sorted by weight from the thinnest at the top to the heaviest at the bottom. Then the fonts within each weight are sorted by width from the narrowest at the top to the widest at the bottom.

If a font family doesn't include a "bold" weight or an "italic" slope, then these options would not be provided. For this reason, "bold" and "italic" buttons or check boxes are obsolete. However, some savvy programs still provide them anyway and modify the font to create a faux bold and/or faux italic when these versions are not specifically provided within the font family. If you choose to do this and fake a bold weight and/or an italic slope, then it should be clear to the user that this is what is being done.

If you want to see a good example of how fonts are selected, just look at most any Adobe program (InDesign, Illustrator, Photoshop, etc.). If you want to see an excellent example of how font weights and slopes can be faked, see FontLab's excellent tool: TransType 4.0.

Here are the standard values accepted today for the font weight, width and slope parameters:

Weight (from thinnest to thickest):
-----------------------------------
· Thin
· Extra Light
· Light
· Semi Light
· Regular
· News
· Medium
· Semi Bold
· Bold
· Extra Bold
· Heavy
· Black
· Extra Black

Width (from narrowest to widest):
---------------------------------
· Ultra Condensed
· Extra Condensed
· Condensed
· Semi Condensed
· Normal
· Semi Expanded
· Expanded
· Extra Expanded
· Ultra Expanded

Slope:
---------
· Plain
· Italic
· Oblique

We're excited about the efforts that the Open Source community have made with LibreOffice and we would like to be able to use and recommend it to more clients. But, as it stands now, these font problems strike at the heart of what a program like Writer is supposed to do: produce good-looking pages of text. At the center of this is the way the user interface enables users to select fonts. Many of the other excellent features of the program are diminished because of fundamental issues with font support and selection in Writer.

We strongly encourage those contributing to the development of LibreOffice to make it a top priority to bring font support and selection in Writer up to current industry standards. Once this is mastered in Writer, it should be duplicated throughout the rest of the programs in LibreOffice.

If you find the nuances and terminology of this subject unfamiliar, then we recommend that you download and read some of the user manuals from a typface software tool maker like FontLab. They let prospective buyers, download their manuals for free (as pdf files) and you'll find they contain a wealth of information. The manual for the aforementioned TransType 4.0 tool would be a good place for a beginner to start. Then try the manuals to their font creation tools like Fontographer 5.2 or FontLab Studio 5.2.

Kind regards,

dhpublic

Operating System: Windows 7
Version: 4.1.3.2 release
Comment 1 dhpublic 2013-12-21 04:53:30 UTC
*** Bug 72938 has been marked as a duplicate of this bug. ***
Comment 2 Jean-Baptiste Faure 2013-12-21 15:16:25 UTC
Not a bug but an enhancement.

Patches are welcome.

Best regards. JBF
Comment 3 Jean-Baptiste Faure 2013-12-21 15:19:25 UTC
Offensive words in the summary are useless.

Best regards. JBF
Comment 4 Adolfo Jayme 2013-12-22 12:36:28 UTC

*** This bug has been marked as a duplicate of bug 69881 ***
Comment 5 Jean-Baptiste Faure 2013-12-22 22:45:31 UTC
(In reply to comment #4)
> 
> *** This bug has been marked as a duplicate of bug 69881 ***

Really ? this enhancement is described for MS-Windows and bug 69881 has been reported against MacOS X.

Best regards. JBF
Comment 6 Jay Philips 2014-06-29 22:14:03 UTC
This is a feature request like Jean-Baptiste mentioned and not a duplicate.
Comment 7 Jean Spiteri 2014-12-21 15:57:39 UTC
Should it be set as NEW?
Comment 8 Alex Thurgood 2015-01-03 17:38:27 UTC
Adding self to CC if not already on

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.