Subject: Re: what is /usr/pkg/lib/X11/? And fontconfig using ${LOCALBASE}/lib/X11/fonts
To: None <jmmv@menta.net>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/28/2003 11:31:11
On Tue, 28 Oct 2003 jmmv@menta.net wrote:

> > Which is:
> >   --with-default-fonts=DIR      Use fonts from DIR when config is busted"
>
> IIRC, this directory is used as the first location (but not the only one!) to
> search for fonts.  Directories under /usr/X11R6 are always searched (as seen
> in the configuration file):
>
>         <dir>/usr/pkg/lib/X11/fonts</dir>
>         <dir>/usr/X11R6/lib/X11/fonts/TTF</dir>
>         <dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
>         <dir>~/.fonts</dir>

I have a PR about this (PR 22927). The configuration file looks for the
outline fonts in a few set directories. So on different systems running
pkgsrc, you have a good chance of getting a different fonts.conf
configuration.

So in your example, you are missing:

<dir>/usr/X11R6/lib/X11/fonts/TrueType</dir>
(as Sebastian P.'s system also shows)

or

<dir>/usr/X11R6/lib/X11/fonts/freefont</dir>
(as my system would have)

And the bad part is, if it doesn't detect the fonts (because you install
fontconfig before fonts that it may see), then later fc-cache won't do
anything useful. And you get warnings like:
Warning: Cannot convert string "" to type XftFont

My PR is to make it have a consistent configuration.

diff -b -u -r1.17 Makefile
--- fonts/fontconfig/Makefile	2003/10/11 13:40:19	1.17
+++ fonts/fontconfig/Makefile	2003/10/28 19:29:41
@@ -32,6 +32,7 @@
 CONFIGURE_ARGS+=	--with-expat-lib=${BUILDLINK_PREFIX.expat}/lib
 CONFIGURE_ARGS+=	--with-confdir=${PKG_SYSCONFDIR}
 CONFIGURE_ARGS+=	--with-x
+CONFIGURE_ARGS+=	--with-add-fonts=${X11PREFIX}/lib/X11/fonts/TTF,${X11PREFIX}/lib/X11/fonts/TrueType,${X11PREFIX}/lib/X11/fonts/Type1,${X11PREFIX}/lib/X11/fonts/freefont

 EGDIR=		${PREFIX}/share/examples/fontconfig
 CONF_FILES=	${EGDIR}/fonts.conf ${PKG_SYSCONFDIR}/fonts.conf


The above is what I plan to commit.

Can anyone else send me the <dir> entries from their fonts.conf?


> Maybe those entries should be more generic and list lib/X11/fonts
> (without TTF and Type1) so that all of them are picked up.

The complaint then is that it will pick up too many bitmap fonts. Even
the configure scripts specifically looks for .ttf and .pf*, .tt* and .ot*
files. And configure says:
# Add more fonts if available.  By default, add only the directories
# with outline fonts; those with bitmaps can be added as desired in
# local.conf or ~/.fonts.conf

> > Does anyone really have fonts at that location?
>
> I guess that fonts will be installed there if you install packages providing
> fonts on a xpkgwedge'd system (at least this is what should happen).  So if
> you don't tell fontconfig to add that directory to the configuration file, it
> won't ever know about these fonts.

Okay, I see that makes sense (just by looking at
fonts/freefonts/Makefile). But before I was thinking that the xpkgwedge'd
system would just put the fonts to somewhere like
/usr/pkg/share/fonts/freefont/agate.pfb.

   Jeremy C. Reed
   http://bsd.reedmedia.net/