Version: (using KDE 3.1.0) Installed from: (testing/unstable) Compiler: gcc version 3.2.2 20030131 (Debian prerelease) OS: Linux (i686) release 2.4.20-ck4 kcmfontinst removes font paths that it doesn't understand from fonts.conf. e.g. my /etc/fonts/fonts.conf has this in it: <dir>/usr/X11R6/lib/X11/fonts/misc/</dir> <dir>/usr/X11R6/lib/X11/fonts/100dpi/</dir> <dir>/usr/X11R6/lib/X11/fonts/75dpi/</dir> <dir>/usr/X11R6/lib/X11/fonts/Speedo/</dir> <dir>/usr/X11R6/lib/X11/fonts/TrueType/</dir> <dir>/usr/X11R6/lib/X11/fonts/Type1/</dir> <dir>/usr/share/fonts/truetype/openoffice/</dir> but if I make any changes to my installed fonts using kcmfontinst, it rewrites this to: <dir>/usr/X11R6/lib/X11/fonts/TrueType/</dir> <dir>/usr/X11R6/lib/X11/fonts/Type1/</dir> <dir>/usr/share/fonts/truetype/openoffice/</dir> This is very annoying as it removes all the bitmap fonts that I use in Konsole.
Subject: Re: New: unnecessarily removes font paths from fonts.conf Hi, Yeah I know... The reason was that it came from XftConfig days -and this only handled TrueType and Type1 fonts. This needs to be changed. Craig.
KDE 3.1.2 The problem has changed but has not been fixed. RTFM for FontConfig. FontConfig recursively searches directory trees. Therefore it NEVER needed all of those directories!!!! Therefore, all you normally need is: <dir>/usr/X11R6/lib/X11/fonts</dir> <dir>/usr/share/fonts</dir> And they should NEVER be changed. You only need to add a directory if the font isn't in a subdirectory of one of the listed directories. Also note that is the directory strings should NOT end with a '/' like they do in XF86Config. -- JRT
Subject: Re: unnecessarily removes font paths from fonts.conf > KDE 3.1.2 > > The problem has changed but has not been fixed. > > RTFM for FontConfig. Yes I know. For about the 3rd time! > > FontConfig recursively searches directory trees. Therefore it NEVER needed > all of those directories!!!! And, what is the PROBLEM?????????? As I've said (3rd time now...) - this is for ease of coding, to keep Xft and X in sync font-path wise. > > > Therefore, all you normally need is: > > <dir>/usr/X11R6/lib/X11/fonts</dir> > <dir>/usr/share/fonts</dir> > > And they should NEVER be changed. > > You only need to add a directory if the font isn't in a subdirectory of one > of the listed directories. > > Also note that is the directory strings should NOT end with a '/' like they > do in XF86Config. WHY WHAT HARM DOES IT DO?
Subject: Re: unnecessarily removes font paths from fonts.conf Craig Drummond wrote: >>KDE 3.1.2 >> >>The problem has changed but has not been fixed. >> >>RTFM for FontConfig. > > > Yes I know. For about the 3rd time! > > >>FontConfig recursively searches directory trees. Therefore it NEVER needed >>all of those directories!!!! > > > And, what is the PROBLEM?????????? As I've said (3rd time now...) - this is > for ease of coding, to keep Xft and X in sync font-path wise. > Easse of coding???? What I am saying is that if you code does NOTHING with the file: "/etc/fonts/fonts.conf" that it will work perfectly in most cases -- unless a user used it to install a font in a weird directory (and then it would certainly be the user's fault). But, with your code, if I install a font in: /usr/X11R6/lib/X11/fonts/Type1 Then FontConfig can NO longer find my: /usr/X11R6/lib/X11/fonts/100dpi /usr/X11R6/lib/X11/fonts/75dpi /usr/X11R6/lib/X11/fonts/Mozilla /usr/X11R6/lib/X11/fonts/misc and the fonts in Konsole are screwed. If I had installed usr font is: "$HOME/.fonts" they are unavailable as well. This is not WFFM: "Works Fine For Me". Perhaps you failed to understand that FontConfig also works with bit mapped fonts and Xft doesn't. Sorry, this means that you can NOT keep the Xft and FontConfig font paths in sync because they are NOT the same. > >>Therefore, all you normally need is: >> >> <dir>/usr/X11R6/lib/X11/fonts</dir> >> <dir>/usr/share/fonts</dir> >> >>And they should NEVER be changed. >> >>You only need to add a directory if the font isn't in a subdirectory of one >>of the listed directories. >> >>Also note that is the directory strings should NOT end with a '/' like they >>do in XF86Config. > > > WHY WHAT HARM DOES IT DO? > Specifically, the harm listed above occurs because your code REMOVES these directories from: "/etc/fonts/fonts.conf": That specifically is the HARM that it does, if removes directories. If it didn't do this, there would be no great harm. Note the title of the bug: "unnecessarily removes font paths ... " Also did you note Keith Packard's admonition: "DO NOT EDIT THIS FILE." ... "CHANGES BELONG IN 'local.conf'." I note, in case you do not appreciate some of my sarcasm, that I am more than willing to help you with this (although I am sure that you are better than writing C++ code than I am). However, I do not appreciate your attitude which I (sarcastically) refer to as the 'arrogant developer' attitude. All I know about FontConfig is what I have learned by reading the documentation and using it. Perhaps I am just a quick study, or (the actual fact) perhaps I learned that skill in engineering school. If you have questions about FontConfig, I suggest that you join the list: fonts@xfree86.org or ask Keith Packard <keithp@keithp.com> -- JRT
*** Bug 58823 has been marked as a duplicate of this bug. ***
Subject: Re: unnecessarily removes font paths from fonts.conf > Easse of coding???? What I am saying is that if you code does NOTHING WELL YES. AS EXPLAINED DUE TO XFT1 AND 2. THE PROBLEM IS REMVING THE PATHS - THIS WAS DUE TO AN OVERSIGHT BY ME. > with the file: "/etc/fonts/fonts.conf" that it will work perfectly in > most cases -- unless a user used it to install a font in a weird > directory (and then it would certainly be the user's fault). > > But, with your code, if I install a font in: > > /usr/X11R6/lib/X11/fonts/Type1 > > Then FontConfig can NO longer find my: > > /usr/X11R6/lib/X11/fonts/100dpi > /usr/X11R6/lib/X11/fonts/75dpi > /usr/X11R6/lib/X11/fonts/Mozilla > /usr/X11R6/lib/X11/fonts/misc Yup, hands up - I f***ed up. Xft1 was TTF/T1 only - and I (wrongly) assumed Xft/Fontconfig was too. > > and the fonts in Konsole are screwed. > > If I had installed usr font is: "$HOME/.fonts" they are unavailable as > well. Again, when this was coded it was before ~/.fonts was decided as the standard place for fonts. My new io-salve installer will install user fonts to ~/.fonts. And I'm writing a script to move all fonts from the old ~/.kde/share/fonts into ~/.fonts > > This is not WFFM: "Works Fine For Me". > > Perhaps you failed to understand that FontConfig also works with bit > mapped fonts and Xft doesn't. Sorry, this means that you can NOT keep > the Xft and FontConfig font paths in sync because they are NOT the same. Well it does. I just alo add the bitmap fonts to Xft1's path - no harm, as it won't find any fonts. > > > > >>Therefore, all you normally need is: > >> > >> <dir>/usr/X11R6/lib/X11/fonts</dir> > >> <dir>/usr/share/fonts</dir> > >> > >>And they should NEVER be changed. > >> > >>You only need to add a directory if the font isn't in a subdirectory of > one > >>of the listed directories. > >> > >>Also note that is the directory strings should NOT end with a '/' like > they > >>do in XF86Config. > > > > > > WHY WHAT HARM DOES IT DO? > > > Specifically, the harm listed above occurs because your code REMOVES > these directories from: "/etc/fonts/fonts.conf": NO TH WAHT HARM REFERES TO THE DIRECTORY SLASH!!! > > > > That specifically is the HARM that it does, if removes directories. > If it didn't do this, there would be no great harm. Note the title of > the bug: "unnecessarily removes font paths ... " > > Also did you note Keith Packard's admonition: > > "DO NOT EDIT THIS FILE." > ... > "CHANGES BELONG IN 'local.conf'." OK - Imissed this. Will change me io-slave to use this file instead. BTW, whan was this added, I started coding from an early version of fontconfig. > > I note, in case you do not appreciate some of my sarcasm, that I am > more than willing to help you with this (although I am sure that you > are better than writing C++ code than I am). However, I do not > appreciate your attitude which I (sarcastically) refer to as the > 'arrogant developer' attitude. And I don't appreciate being told what to do - without explanation as to WHY. I write this stuff in my own PERSONAL time, and for FREE. I'm more than willing to work out any problems - when I started this installer stuff I made lots of changes at the request of others, even if they were of no use to me, and I'd also help a users with each specific point until it was fixed. I'm NOT AN "ARROGANT DEVELOPER" - just someone who gets p***ed off with some one ARROGANTLY telling me what to do. I would appreciate your help, if you exlpained WHY somethnig should be done. For example, you STILL HAVE NOT explained why I should not add a trainling slash to directry listings in fontconfig - this WFFM. There are lots of ways of infomring someone of a point - yours don't seem to be the most polite. If you want to help with the code - PLEASE do. I'd love someone else to help with this. Someone who seems to know more about Fontconfig than I do. If you're interested I can send you the latest io-slave based stuff I'm working on. > > All I know about FontConfig is what I have learned by reading the > documentation and using it. Perhaps I am just a quick study, or (the > actual fact) perhaps I learned that skill in engineering school. This is the same for me. When I started the installer it was only to get fonts working in StarOffice 5.1. There was NO other tool to do this. Then someone asked me to add Xft support - before I even had theat version of X on my system. So I upgraded, and added the neccessary functionality - even though at the at time I didn't like AA'ed fonts. > > If you have questions about FontConfig, I suggest that you join the > list: fonts@xfree86.org or ask Keith Packard <keithp@keithp.com> > > -- > JRT > Craig.
OK - I've calmed down a bit. Sorry, haven't been getting much sleep lately, and took your comments the wrong way. :-( So - what if I make the following changes: 1. Add all x fontpaths to Xft/fontconfig paths - regardless of font-type. 2. Only store paths in fontconfig *if* they are not a sub-directory of an existing entry. 3. for root, use /etc/fonts/local.conf. This should clear up the above issues, no? Is the matter of the trailing slash important? If so I can remove it before saving the file, else its not worth the hassle.
Subject: KFontInst is seriously broken KDE 3.1.1 / SuSE8.2Pro I can not use all of my installed fonts, anymore. Is there a solution available? Regards, TB
Subject: Re: unnecessarily removes font paths from fonts.conf If your on about bitmap fonts - then just install a TTF file into the bitmap font folder. This will cause the installer to not remove the folder from fontconfig's path. A hack, I know - but it'll work for now.
Subject: Re: unnecessarily removes font paths from fonts.conf Craig Drummond wrote: > Is the matter of the trailing slash important? I don't know for sure. If you have a trailing slash, running: "fc-cache -v" shows paths with a double slash in them. This is ugly, but I don't know if there is something somewhere that it is going to mess up. My philosophy is that it is an accident waiting to happen and it is better to get it correct when you write it than to try to dig it up latter when somebody reports a bug. > If so I can remove it before saving the file, else its not worth the > hassle. All you should need to do is shorten the strings by 1. Pseudo code: $pathstring = left$($pathstring, (length$($pathstring) - 1)) The only thing I liked about BASIC is how well it manipulates strings. -- JRT
Subject: Re: unnecessarily removes font paths from fonts.conf Craig Drummond wrote: >> If I had installed usr font is: "$HOME/.fonts" they are unavailable as >> well. > > > Again, when this was coded it was before ~/.fonts was decided as the > standard place for fonts. > I have no doubt of that. It does illustrate how things that are not 100% correct can cause unforeseeable problems later. > > There are lots of ways of infomring someone of a point - yours don't > seem to be the most polite. > Sorry to be so direct, but this was a comment about a bug report not a personal e-mail. If you need a more detailed explanation of anything, please contact me by e-mail and I will provide you with a longer and (therefore) more polite explanation. -- JRT
Subject: Re: unnecessarily removes font paths from fonts.conf Ok. I'm gonna implement *all* of your points - I already have for the io-slave one, and I'll try to do the KControl one in CVS this weekend. Not sure if there's gonna be a KDE 3.1.3, so maybe its's not worth it til KDE3.2?
I came upon this bug because I've been having lots of font problems. I have a basic question: why is KDE messing with the font configuration at all? Why doesn't it just use the system the way it is set up?
Re #13, A typical use is to install more fonts. For instance, the only thing left of my Win98 partition is a tarball of the Windows fonts. And there are the new bitstream vera ones. And in general, I've found the KDE apps are better than the distro-specific apps for the same job.
Right now with kde 3.1.92, kde edits the ~/.fonts.conf, adding /usr/X11R6/lib/X11/fonts to the fontconfig search directories. This breaks my font setup, since it makes fontconfig choose the wrong font when i use the 'fixed' font. I don't think any app should mess with ~/.fonts.conf unless i explicitly tell it to. If my setup doesn't have /usr/X11R6/lib/X11/fonts in the fontconfig path then i obviously don't want it in there.
Subject: Re: unnecessarily removes font paths from fonts.conf The reason for this (I think!) is that the installer tries to synchronise your X11 font path (either X or xfs) with fontconfig. So, if a folder is in one, but not the other, then it will be added to the one that is missing. I'm not willing to change this functionality. It is used so that both Xft and regular X apps can have access to the same fonts. It would seem that "/usr/X11R6/lib/X11/fonts" is in your X11 font path, but not Xft (/etc/fonts/local.conf)
/usr/X11R6/lib/X11/fonts isn't in my X fontpath: Font Path: /home/arwed/.gnome2/share/cursor-fonts, /usr/X11R6/lib/X11/fonts/misc/, /usr/X11R6/lib/X11/fonts/Speedo/, /usr/X11R6/lib/X11/fonts/Type1/, /usr/X11R6/lib/X11/fonts/75dpi/, /usr/X11R6/lib/X11/fonts/100dpi/, /usr/share/fonts/truetype/, /usr/share/fonts/Type1/, /home/arwed/.gnome2/share/fonts (from xset q) and besides: i don't want the X fontpath and the fontconfig path to be synchronized, since Xft apps don't handle some fonts well, and old X font handling doesn't handle some fonts well
Subject: Re: unnecessarily removes font paths from fonts.conf > /usr/X11R6/lib/X11/fonts isn't in my X fontpath: OK. My mistake. what it does is ensure the top-level X font folder is in both config files. > Font Path: ... > > and besides: i don't want the X fontpath and the fontconfig path to be > synchronized, since Xft apps don't handle some fonts well, and old X font > handling doesn't handle some fonts well Well that's a bug with Xft! And you should file a bug report there. If you really don't want Xft to access some fonts, create a folder "/usr/lib/X11R6/lib/X11/fonts/.wibble/wobble" and copy the fonts in there. Xft won't see the fonts in "wobble" as ".wibble" is hidden and fontconfig won't look into that. X however, will have ".wibble/wobble" in its path (but not ".wibble"). This exploits a slight bug in the current font-installer. Craig.
Subject: Re: konqueror ttf font file mouseover Hi, OK. The "problem" (I think) is that this is a Macintosh TTF font. Whilst this shouldn't be a problem - I've never seen one of these before. Konqueror is crashing because of the kfile_font plugin. This reads certain data about the font - name, family, weight, etc. This seems to work OK for PC TTF files, etc. The code that reads the names has been modified for KDE3.2 - and this must've taken into account Macintosh name tables in the font (as it works OK). When I get time I need to backport the code from KDE3.2 into KDE3.1.x Craig. p.s. I'm sending this via bugs.kde.org - so that this is logged.
Subject: Re: unnecessarily removes font paths from fonts.conf Oops... The above refers to a different error!!!
No longer does this on CVS HEAD.