Bug 12735

Summary: Condensed faces not recognized in KDE
Product: DejaVu Reporter: Olaf Meltzer <olaf.meltzer>
Component: Experimental fontsAssignee: Deja Vu bugs <dejavu-bugs>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: major    
Priority: medium CC: fonts-bugs, mey.wer, rdieter
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 12736    

Description Olaf Meltzer 2007-10-08 07:07:04 UTC
DejaVu Sans Condensed is not recognized within KDE 3.7.5 fontinstaller modul which is part of openSUSE 10.3
Comment 1 Ben Laenen 2007-10-08 08:39:56 UTC
I'm copying this from the gentoo forums where I explained the situation:

I'll try to explain what exactly is happening, but first some background information: 
 
 Fonts have a "family" and a "subfamily" (also referred to as style here) name. A family name is something like "Arial" or "DejaVu Sans", the subfamily something like "Regular", or "Bold". 
 
 Now, many fonts (and DejaVu is one of them), have also a "preferred family" and a "preferred subfamily". Now, why would these be in a font? 
 
 One word: legacy problems. Too many systems are built assuming there are only four subfamilies in a font: "regular", "bold", "italic" and "bold italic". But many font families have more styles, sometimes "outline", sometimes "extra bold", or "condensed regular/bold/..." as in DejaVu. 
 
 Since you want these styles in the same font, and you don't want to break existing programs, and keep the possibility there to use those extra styles, but you want new programs to be able to see the other styles in the same font family, they added the preferred (sub)family names to a font. I give an example: 
 
 font in this example is: DejaVu Sans Condensed Bold 
 family: DejaVu Sans Condensed 
 subfamily: Bold 
 preferred family: DejaVu Sans 
 preferred subfamily: Condensed Bold 
 
 So, new programs use the preferred ones (and so Condensed Bold will be part of the big DejaVu Sans family). Old programs don't know about those preferred ones and use the regular family/subfamily. Those old programs will have an extra font family called "DejaVu Sans Condensed". 
 
 Okay, so far the introduction... 
 
 With info given above it looks like it works everywhere and everyone is happy, but: 
 
 Enter the world of fonts on Linux... Probably the first program that's important for it is FontConfig. It's basically used to manage all your fonts, and to tell other programs what fonts are on your system. 
 
 FontConfig used to be one of the "old" programs I told about above. But they changed it some time ago, now it's taking the preferred families if they are available. 
 
 Unfortunately there's one flaw in this whole system: it assumes all libraries/programs linking to it can deal with it, and you have guessed it, that's not the case. 
 
 So, as a result all programs based on Qt3 (and hence KDE) can't see the Condensed family anymore (since Qt3 doesn't handle condensed styles), and unfortunately there's no easy way to fix that. KControl won't even show
Comment 2 Ben Laenen 2007-10-08 08:41:19 UTC
*** Bug 12736 has been marked as a duplicate of this bug. ***
Comment 3 Ben Laenen 2007-10-08 08:43:55 UTC
oops, looks like not everything was in my previous comment

[...] KControl won't even show you the installed condensed fonts, however, don't be mistaken, they can be installed, and funny enough, you even can install them with KControl... 
 
 Gnome on the other hand should be able to handle it, but you have to look for the condensed styles in the "DejaVu Sans" family, instead of looking for "DejaVu Sans Condensed". 

The bug has an entry in the Qt task tracker: http://trolltech.com/developer/task-tracker/index_html?id=143304&method=entry
Comment 4 Ben Laenen 2008-04-04 04:20:13 UTC
*** Bug 15290 has been marked as a duplicate of this bug. ***
Comment 5 Werner Meyer 2008-08-13 10:45:03 UTC
Hi Ben.

Your comment 

> [...] KControl won't even show you the installed condensed fonts, however,
> don't be mistaken, they can be installed, and funny enough, you even can
> install them with KControl... 

seems to be not very helpful, as long as you don't explain, how one can install the font...



btw:

On http://dejavu.sourceforge.net/wiki/index.php/Main_Page DejaVu Sans Condensed is sayd to be a font family. So it's absolutely not clear, why one should look for it in the family DejaVu Sans...

WM
Comment 6 Ben Laenen 2008-08-13 11:01:54 UTC
(In reply to comment #5)
> Your comment 
> 
> > [...] KControl won't even show you the installed condensed fonts, however,
> > don't be mistaken, they can be installed, and funny enough, you even can
> > install them with KControl... 
> 
> seems to be not very helpful, as long as you don't explain, how one can
> install the font...

easy, just install them like any other font in KControl, just don't expect to see any results in KControl, but they do get installed like that.

 
> btw:
> 
> On http://dejavu.sourceforge.net/wiki/index.php/Main_Page
> DejaVu SansCondensed is sayd to be a font family. So it's absolutely not
> clear, why one should look for it in the family DejaVu Sans...

Well, the statement on the home page is true and false at the same time. You see, there's a difference between "family" and "preferred family" here, which are defined in the font. For sans condensed, the family is "DejaVu Sans Condensed", and the preferred family is "DejaVu Sans". Now, fontconfig doesn't care about whether applications depending on it support it, so it returns the preferred family to them, hence you'll see condensed as part of the DejaVu Sans family. If you could install some old fontconfig version that didn't handle preferred family tags, you'd see them as the "DejaVu Sans Condensed" family, but with the same fonts.

So, the condensed fonts are both in their own family and a style in the normal stretch family. It just depends on how your system handles the fonts.
Comment 7 Werner Meyer 2008-08-13 13:04:15 UTC
> So, the condensed fonts are both in their own family and a style in the normal
> stretch family. It just depends on how your system handles the fonts.

**Wouldn't it be better then, to put them only as families and not as styles of other families?**

I really regret to not be able to use dejavusanscondesed any more in OO, like I did for long time...

(see http://www.openoffice.org/issues/show_bug.cgi?id=79878)
Comment 8 Ben Laenen 2008-08-14 04:08:39 UTC
(In reply to comment #7)
> > So, the condensed fonts are both in their own family and a style in the normal
> > stretch family. It just depends on how your system handles the fonts.
> 
> **Wouldn't it be better then, to put them only as families and not as styles of
> other families?**

No, because we only fix our fonts, and we have a record of not working around other projects' bugs, even if they are annoying us, because experience tells us that if we do work around it, it'll take forever to get it fixed there.

Our fonts are also the only correct way to do it according to the specs http://www.microsoft.com/typography/OTSPEC/name.htm

There are tons of professional and expensive fonts out there that have the exact same problem, and (a) you can't "fix" those, and (b) it will certainly make the purchaser of them mad when he sees he can't use them. If we want Linux to be capable enough for these users, we need to fix all these basic issues first, so that's why we haven't worked around this bug for over two years, and will not work around it in future. This so the bug is there for all to see, and we hope it'll steer some users towards the projects to fix their font handling.

You could always ask the packagers in your distro to apply a patch to remove the preferred (sub)family from the name table. I think it's a two line patch for each font.

The other thing you could do is to go and ask the fontconfig people to make a switch to ignore preferred family names, or let the programs using fontconfig tell it whether they support them, and then fontconfig can give the font families accordingly (I think that's the best way for getting this to work eventually, since way too many programs only think of font families as the set of regular-italic-bold-bold italic). I think though the fontconfig people will say the same as us: it's not their bug so they won't fix it. Although I don't really agree with that, since the specs say that the preferred families should only be used if the programs can handle them, which some of them obviously can't.

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.