------------------------------------------------------------------------------- Setting up a font server WARNING these are untested notes... | I downloaded the fonts into the directory /home/ga/grfonts. But when I try | to run the installation script I run into errors. Can you please help me | out with this? | For PCs with MicroX, Macs or X Terminals or the font is on a different machine to what is running the actually X server Display you will need to imake the font available on the network thoough sone X font server (xfs)... EG: create a xfs config file Say called ~/grfonts/xfs.config =======8<-------- client-limit = 10 catalogue = /home/ga/grfonts =======8<-------- Then start the font server. The machine has a server on port 7100 so you will need to pick some other unused port number. the port could have also been specified in the config file. WARNING: make sure you kill the font server when you logout! It will not auto die as most X clients would. xfs -config ~/grfonts/xfs.config -port 7111 & Check you can see the fonts... fslsfonts -server kurango:7111 Now add this font server to your displays font path as a source for the fonts you want. xset fp+ tcp/kurango:7111 or if that fails try kurango's full network name or IP xset fp+ tcp/kurango.cit.gu.edu.au:7111 check your display font path with xset -q The current font path is at the bottom of the list. The X server when looking a new font will try each font location (path or font server) until the font is found or it fails. Anthony Thyssen -- 3 June 2000 ------------------------------------------------------------------------------- True Type X window Font Service. See http://www.frankenlinux.com/guides/fonts.html Also install ap/ttf2pt1 for font conversions ------------------------------------------------------------------------------- FontServer R6 has high CPU load >Greetings, > I'm testing the font server in X11 R6 under SGI Irix 4.0.5 and it >sometimes sits on high CPU for long periods of time. While this is happening >any fontserver command, definitely fsinfo and fstobdf, simply hang. Rebooting >an NCD X terminal over the network which has the fontserver listed as one >of its font directories sometimes triggers the fault. > >Does anyone know what is going on and better still have a fix ? Thanks in >advance. > Frank Jansen I've noticed this problem as well. My situation is that I'm running Xfree86 on a 386/386sx, and as this combo is pretty low on CPU, one can end up waiting a while for fonts to be rendered. A partial fix is to list the scalable fonts last, so that if you ask for a font that comes in bitmap and a scalable version, you get the bitmap one. The R5 font server did not exhibit this behaiviour. On a 486, this is not so bad, but it still points to something of a bug in the code. Most of my problem was with Type 1 fonts - I haven't eyeballed the code to see the difference yet. The speed problem also occurs when you have the X server access the fonts directly from the disk. On a slow machine you can have what appears to be a hung server for about 20-30 seconds. Using the font server does decouple the font rendering nicely (also where the multi threaded server would be good I suppose). I have also noticed that on the very fist connection to the font server, it will refuse the connection. Thereafter it runs fine. I guess the best thing to do is profile it and find out where all the time is going. Stephen Hocking If you are finding that this condition appears after some period of time has elapsed following the NCD reboot ( or other disconnect condition ) you may want to look at the code for CloseDownClient() in difs/dispatch.c The font server periodically checks to see if any clients have "quietly" disconnected via a routine called ReapAnyOldClients() (in os) if a client is found to be MIA the font server sets client->clientGone to CLIENT_TIMED_OUT, this condition is not evaluated (bug) in CloseDownClient() so CloseDownConnection() does not get called. The end result is that the connection block associated with the connection is freed, but, the file descriptor for this connection is not removed from the set being monitored by select(), you may well find that you are looping on select() and accumulating the high CPU activity there. Rick Thomas -------------------------------------------------------------------------------