Adding/ Removing fonts in Puppy

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

Adding/ Removing fonts in Puppy

#1 Post by Dougal »

Here are some notes from my experience with fonts and Puppy. Some might find them useful.

1)Getting fonts: I got the Slackware version of the Hebrew font pack Culmus (Puppy being Slack-based). You could get any font pack for your language, though (Slack just has a similar structure, so you know they'll go into one of Puppy's font directories). Google will help you find your own language.
I opened the tarball and put everything in place (fonts in /usr/share/fonts/culmus and culmus.conf file in /etc/fonts/), but you can probably install them as an "Alien Package" with pupget. However, you'll probably need fc-cache first (see #4) and it still might not be enough (no fonts.dir file).

2)Creating fonts.dir: Each font directory should have a fonts.dir file and either a fonts.scale or fonts.alias (depending on the type of fonts they are). Look inside yours and see what you've got.
Open a terminal and cd to the new directory:

Code: Select all

cd /usr/share/fonts/culmus
To create a fonts.scale file, type mkfontscale. Fonts.alias (if relevant- was in my case) should exist.
To create fonts.dir type mkfontdir (note: it is created from the .scale/.alias file- so this one should already exist) (see also ** at the end).


3)Adding the new font path: In the Control Panel menu you'll find Gxset. Start it, go to the "font path" part and choose "New". Type in the new path (or browse to find it), tick the "allow scaling" box and press ok. Now press "Apply".
If you didn't get an error message you can now save your changes (else they'll be lost when you restart X).
Press "Save" and then press ok. Don't change the location (/root) or name (.xset.sh) of the file (when you start X, .xinitrc searches for .xset.sh in /root).
Now type in a terminal:

Code: Select all

chmod a+x /root/.xset.sh
(that makes the file executable, so that .xinitrc can run it)

4)fc-cache: The installation script that came with my font pack required the binary fc-cache (attached below, taken from Vector). Get it and put it in /usr/X11R6/bin/.
Now open a terminal and type "fc-cache -f". That will (re)generate the "fonts.cache" files you'll find in all the font directories.
Now you should be able to see your fonts everywhere (you might have to restart X first).

5)Removing fonts: The Culmus font pack was about 4.5MB in size (a lot in Puppy terms...) so I opened up Abiword, tried all the fonts out and then removed some (cutting it down to 1.5MB).
I also removed a couple of the fonts that come with Puppy (each "font" meaning a set of 8 files with similar names), from /usr/share/fonts/default/Type1, to compensate for what I added.
In both cases I edited the fonts.dir, fonts.scale and fonts.alias files manually: deleted the lines corresponding to the files I removed while keeping count of how many lines I deleted- that number has to be subtracted in the end from the total at the head of the list. (You could run mkfontscale and mkfontdir. See ** below.)
I restarted X and the removed font names still appeared in Abiword, but when I tried to select them it just shut down.
Only after running "fc-cache -f" again weree things ok.

*)Truetype unicode fonts: You might also want to add some TTF unicode fonts. They're used in some of the window managers and also by Rox 2.4.1 to show non-Latin filenames. I use Bitstream Vera (Attached. 4 styles:"sans" and "mono", both regular and bold. 221k uncompressed, complete with fonts.scale and fonts.dir. Taken fron Bombayrockers' XFCE 4.2.2 dotpup. Also used in MU's Enlighenment themes.)
As above- stick them in place, add font path and run "fc-cache -f".

**)Tip: When you rum mkfontdir it lists each font once for each of the encodings it can be used under- which can be quite a lot! For example, the fonts in Puppy can actually be used as iso8859-1, -2, -9, -15, and iso10646-1 (unicode). If you just do mkfontdir and don't delete multiple entries (as Barry appears to have done), it can be rather confusing selecting a font in Beaver: for each font "name" it gives you a list of all the types (medium, medium semicondensed, bold...) for each of the encodings!
Beaver (and maybe other editors?) also has a problem using those fonts as unicode (tells you they won't be displayed properly)- which is always at the top of the list.
Hence, if you can be bothered, it is advisable to look through the fonts.dir file after running mkfontdir and cleaning it (not forgetting to change the count at the top).

(Yes, I this is long, but a few extra lines here and there can save people a lot of head-scratching sometimes...)
Attachments
Fc-cache.gz
(3.62 KiB) Downloaded 962 times
Vera.tar.gz
(129.19 KiB) Downloaded 927 times

magerlab
Posts: 739
Joined: Sun 08 Jul 2007, 20:08

#2 Post by magerlab »

hello, Dougal!
my wife works in our jewish school and she prepares alot of working lists herself
for the children
so we do it together now
we can type in hebrew in puppy but with only one font and without nekudot
is it possible to find more fonts and to set up nekudot?
formerly i used win98
and now only linuxes
even in ooowriter there are problems with hebrew
are there any tips on this topic?
thank you a lot for your posts here on forum

User avatar
Dougal
Posts: 2502
Joined: Wed 19 Oct 2005, 13:06
Location: Hell more grotesque than any medieval woodcut

#3 Post by Dougal »

I don't really use Hebrew on the computer...

As far as fonts are concerned, Culmus is what you should get.
I don't know how to get the funny dots to appear -- maybe you need to use a "third-level" part of the kemap (i.e., like "shift" only different), or maybe use a different keyboard layout -- maybe "il" with the variant set to "phonetic"?
What's the ugliest part of your body?
Some say your nose
Some say your toes
But I think it's your mind

Post Reply