Appendix D. Artwiz fonts for Fluxbox

Introduction

The so-called Artwiz Fonts are fonts that were created (surprisingly enough) by a guy who calls himself Artwiz. You can download the fonts by aleczapka from sf which are compatible with gtk2/kde3 apps or possibly older one from Han.

You don't have to install the fonts by hand if you have the mandrake RPMs. They are already included. If you don't, well, here's how. There are two ways to install the artwiz fonts: system-wide and user-only.

System-wide install

If you want to install the fonts for all users on your system, download the tarball to /tmp and proceed like this:

    # cd /usr/X11R6/lib/X11/fonts
    # tar xjf /tmp/artwiz-fonts.tar.bz2
    # cd fluxbox-artwiz-fonts
    # mkfontdir
    # chkfontpath -q -a /usr/X11R6/lib/X11/fonts/fluxbox-artwiz-fonts:unscaled

And restart the font-server. Note that your distribution might have a different location for system-wide fonts, like /usr/share/fonts. The directory above should be a sensible default, though.

User install

If you want to install the fonts for one user only, things are a bit easier. Download the tarball to your home directory, then:

    $ tar xjf artwiz-fonts.tar.bz2
    $ mv fluxbox-artwiz-fonts .fonts
    $ mkfontdir $HOME/.fonts

Edit your .xinitrc or .xsession file (depends on on how you start X11) to contain the following line before any program calls:

    xset +fp $HOME/.fonts

Then (re)start X11 and use xlsfonts or xfontsel to check if the fonts were recognized by the system.

Bugs

The artwiz-fonts sometimes conflict with your locale settings. To get them to work you may have to put the following at the beginning of your .xinitrc or .xsession:

    export LC=C
    export LC_ALL=C

These settings are for locales so if you are missing your fonts or have any other locale related problems remove them again. There is a different solution contributed by aleczapka below.

And here is the solution how to use your national settings and still be able to use the Artwiz Fonts in Fluxbox.

Locale settings fix

The solution is very simple. All you have to do is to fix your fonts.alias (and/or fonts.dir) file.

This will also fix problems with other applications (eg. Evolution and UTF-8). First you need to make proper fonts.dir file. It should be located in the directory where you have the Artwiz Fonts installed. If not, change to that directory and run mkfontdir.

The syntax of this file is simple. The first line contains only the number of fonts in the directory. All subsequent lines are of the form

     font_filename fontname

Here's an example content of fonts.dir file:

Example D-1. fonts.dir

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz nu
drift.pcf.gz drift
cure.pcf.gz cure
aqui.pcf.gz aqui
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

What interests us are entries that only consist of a short fontspec, in this case the fonts Nu, Drift, Cure and Aqui. The problem is that they lack full X11 font names.

Change the file to this:

14
glisp.pcf.gz -artwiz-glisp-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
gelly.pcf.gz -artwiz-gelly-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv
edges.pcf.gz -artwiz-edges-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
nu.pcf.gz -artwiz-nu-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
drift.pcf.gz -artwiz-drift-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
cure.pcf.gz -artwiz-cure-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
aqui.pcf.gz -artwiz-aqui-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv
lime.pcf.gz -artwiz-lime-medium-r-normal--10-100-75-75-m-50-iso646.1991-irv
snap.pcf.gz -artwiz-snap-medium-r-normal--10-100-75-75-p-90-iso646.1991-irv

The last thing to do is to fix your fonts.alias file (to use the fonts with different encodings than iso646).

Syntax is font_alias font_name. Eg. to make artwiz fonts working with ISO-8859-2 encoding make such an alias (all in one line).

-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso8859-2 
-artwiz-anorexia-medium-r-normal--11-110-75-75-p-90-iso646.1991-irv 

You can also have a peek at my fonts.dir and fonts.alias files, they support ISO-8859-1, ISO-8859-2, and iso10646-1 (UTF-8). If you set everything as written above, you don't need to change your LC_* flags to C or POSIX. And all applications (not just Fluxbox), will work as they should; not complaining about "can't convert character set" or similar.