RE: Freetype Font Path



Lars Clausen wrote:
On Thu, 7 Mar 2002, Robert Young wrote:
Lars Clausen wrote
On Thu, 7 Mar 2002, Robert Young wrote:
G'Day,

The recent --enable-freetype CVS build has been segfaulting 
on me and I
have traced it down to two distinct problems:

<snip>

Secondly, XGetFontPath returns the string "unix:/7100" in
font_init_freetype() which is the XFS 'path'. It appears 
that the current
code is unable to find any fonts on this path and as a 
result there are
NULL pointers all over the place which eventually get 
referenced when
font_getfont_with_style gets called. I looked at a 
couple of other
programs which used Freetype and couldn't find a consistent 
method for
determining the path to the fonts (some seem to hard code 
it as a last
resort).

Unopenable font paths are not a problem, they are simply 
skipped.  The
problem appears if there are no local fonts.  Are you 
getting all your
fonts from a server?

It appears that all fonts are obtained from the font server 
(which is the
same machine). The only path returned from XGetFontPath is 
"unix:/7100".
Locally there are heaps of fonts installed and the X font 
server is aware
of all of them - does X need to know about them as well (using xset
+fp=<path> for instance)??

Yes, you will need to tell X about them.  To do freetype, we 
need to get
the actual font files, not just what X font servers give us.  
You should
add lines to your /etc/X11/XF86Config-4 to look something like this:

Section "Files"
        FontPath        "unix/:7100"                    # 
local font server
        # if the local font server has problems, we can fall 
back on these
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/Speedo"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
EndSection

(modified for you being on RedHat of course.)  Yes, I know it 
sucks that we
can't use the X font server stuff, but it just doesn't give 
enough info.

Works like a treat, thanks, especially since discovering I'm actually
running Xfree 3.3.* rather than 4.* .... 

Any other ideas? If I get time I'll look into the 
message_error problem
further.

That would be rather interesting.  Can you get any message_* to show?

Can't reproduce the problem at all - I've put message_ calls throughout the
code and they all work! Other than changing my XFree86 configuration back to
what it was, I can't think of anything else to try.

One request, Lars, could you move the error checking code which looks for
the Courier font in font_getfont_with_style into one of the initialise
functions so that if people have the same configuration problem as me that
they don't find out about it until they try and use text??

Thanks for your help!

Regards,
Rob.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]