Frequently Asked Questions

1. Installation
1.1 Automatic Installation
1.2 Determine Installation Type
1.3 Installation for Font Server
1.4 Installation for X Server
1.5 Personal Installation
1.6 Registration with FontConfig
1.7 Testing Your Installation
2. Antialiasing
2.1 Global Antialiasing Support
2.2 User-level Antialiasing Support
2.3 Sub-pixel Antialiasing
3. Typing Hebrew with Nikud
3.1 Common setup
3.2 XFree86 setup
3.3 KDE setup
4. Using Culmus fonts with various programs
4.1 a2ps
4.2 Enscript
5. Other issues
5.1 Can I get a TrueType version of fonts?

1. Installation

1.1 Automatic Installation

If your system supports RPM (like Red Hat), than you can simply download an .rpm file and install it as root with

rpm -U culmus-fonts-0.8-2.noarch.rpm

(substitute the correct version instead).

Automatic installation packages for Debian, FreeBSD and Gentoo are available at the download page.

In case your system doesn't support any of the above, or the installation failed for some reason, you will need to install fonts manually. The following procedure covers only Linux, not Unix, even though procedure for Unix shall be similar.

1.2 Determine Installation Type

X Windows server can obtain fonts from several various sources. Run from command line

xset q

and locate in the output section named "Font path". In the list of comma-separated entries try to locate the one which says 'unix/:7100 ' (number may vary). If it is present, it is recommended that you install fonts for use with your font server (see section "Installation for Font Server " - requires root access). Otherwise you may install the fonts either system-wide (see section "Installation for X Server " - requires root access) or for your own use (see section " Personal Installation " - doesn't require root access).

If your computer is a part of large network, it may happen that you will see an entry like 'tcp/fsrv.mycompany.com:7100' (machine name and port may vary). This means that you are using an external font server, and in this case you may wish to ask network manager to install the fonts at that machine, to make them available to all users.

In addition to the above, don't forget to register the new fonts with fontconfig (see section "Registration with FontConfig"), if your system supports it.

1.3 Installation for Font Server

All the following actions should be carried out from the root shell.

Assuming you have downloaded a file culmus-0.71.tar.gz or later version, run:

mkdir -p /usr/share/fonts/he
tar -zx --directory /usr/share/fonts/he --file culmus-0.71.tar.gz

This will create a directory /usr/share/fonts/he/culmus-0.71 with all .pfa and .afm files in it.

Locate the configuration file for your font server. It is usually /usr/X11R6/lib/X11/fs/config, but you can issue 'man xfs ' to determine the correct location. Now open the configuration file and locate the section which starts with 'catalogue = ' and contains a list of directories. Add the directory /usr/share/fonts/he/culmus-0.71 to the end of the list, after comma.

Restart font server by issuing either

/etc/init.d/xfs restart

or

/sbin/service xfs restart

Now the fonts should be available; proceed to section " Testing your installation ".

1.4 Installation for X Server

All the following actions should be carried out from the root shell.

Assuming you have downloaded a file culmus-0.71.tar.gz or later version, run:

mkdir -p /usr/share/fonts/he
tar -zx --directory /usr/share/fonts/he --file culmus-0.71.tar.gz

This will create a directory /usr/share/fonts/he/culmus-0.71 with all .pfa and .afm files in it.

Locate the configuration file for your X server. It is usually /etc/X11/XF86Config, but you can issue 'man XF86Config' to see the list of possible alternative locations. Now open the configuration file and locate the line which starts with 'FontPath' and contains a comma-separated list of directories. Add the directory /usr/share/fonts/he/culmus-0.71 to the end of the list, after comma.

Restart X server by either logging out, or restarting your computer if needed.
Now the fonts should be available; proceed to section "Testing your installation ".

1.5 Personal Installation

Assuming you have downloaded a file culmus-0.71.tar.gz or later version, run:

tar -zx --directory ~ --file culmus-0.71.tar.gz

This will create a subdirectory culmus-0.71 in your home directory with all .pfa and .afm files in it.

Make the fonts available to your X server by issuing

xset +fp $HOME/culmus-0.71
xset fp rehash

Now the fonts should be available; proceed to section " Testing your installation ".
You may wish to add these commands to your ~/.xsession file, in order to avoid typing them every time you start an X session.

1.6 Registration with FontConfig

FontConfig is a new font configuration tool, therefore it is only available in newer distributions (such as RedHat 8.x). If you are not sure, whether you have it, try to run 'fc-cache', and if you get a 'Command not found' error - you probably don't have it. As far as I know, Gnome 2.x and Abiword 1.x need it. KDE doesn't.

If you were installing the fonts as root, make sure they are located under /usr/share/fonts, and run 'fc-cache' as root. That's all.

If you were installing the fonts as an ordinary user, create a link .fonts from your home directory to your Culmus fonts directory:

ln -s $HOME/culmus-0.71 .fonts

or, if you already have .fonts, create inside it a link to your Culmus fonts directory:

cd .fonts
ln -s $HOME/culmus-0.71

Run 'fc-cache', and you are done.

1.7 Testing Your Installation

A. Run 'xlsfonts | grep culmus'. This command shall list all Culmus fonts.
B. If you have fontconfig, run 'fc-list David', and this will show you three entries (Bold, Medium and Medium Italic).
C. Run any Hebrew-enabled application, such as Mozilla or KWord and test whether they display Hebrew correctly.

2. Antialiasing

The following instructions assume that you already have antialiasing enabled for your desktop, and want Culmus fonts to be antialiased too. In case you don't have antialiasing at all, please read this and this before proceeding any further.
Like the installation, antialiasing support is enabled differently by root and non-root.

Recent version of KDE and Gnome allow to configure the antialiasing through the control panel, but since it's a rather new feature, some things are not covered or done wrong. I recommend to use the manual procedure described below.

2.1 Global Antialiasing Support

All the following actions should be carried out from the root shell.

Open the file /etc/X11/XftConfig (some systems put it at /usr/X11R6/lib/X11/XftConfig) and add to it the following line:

dir "/usr/share/fonts/he/culmus-0.71"

assuming that was your installation directory for the fonts.

2.2 User-level Antialiasing Support

Check whether your system allows user-level antialiasing support: open the file /etc/X11/XftConfig, and look for the line

includeif "~/.xftconfig"

If it is missing or commented out - too bad for you. Otherwise just add the following line:

dir "~/culmus-0.71"

to the file .xftconfig in you home directory, assuming you installed the fonts in ~/culmus-0.71.

Remark: KDE font installer tends to rewrite this file, so you need either to use the installer to install the fonts, or restore the aforementioned line each time it is overwritten.

2.3 Sub-pixel Antialiasing

If you have a laptop or an LCD screen, it is just essential that you enable sub-pixel antialiasing. Believe me, it's a whole new world! To make it work you only need to add the following line

match edit rgba = rgb;

to either of /etc/X11/XftConfig or ~/.xftconfig (see sections 2.1 and 2.2 for reference). Some laptops require the parameter to be bgr and not rgb. The following page will help you to determine the correct value (look at the figure in the section "A Smooth Feast for Our Eyes ").

3. Typing Hebrew with Nikud

There are many ways to cause diacritical marks (nikud) to show up in your favorite word processor. The simplest solution could be running a Unix equivalent of 'charmap' (e. g. KCharSelect in KDE) and composing the required word with mouse. Many will find this procedure frustrating, so the correct solution for them would be to cause the keyboard emit diacritics whenever it is asked for. The purpose of this section is to make your keyboard behave in such a way.

We will see how to create a custom keyboard layout which will include diacritics according to the Israeli Standard SI 1452.

3.0 Common setup

All the following actions should be carried out from the root shell.

Download the file il_si1452 and copy it to the directory /usr/X11R6/lib/X11/xkb/symbols and to the directory /usr/X11R6/lib/X11/xkb/symbols/pc.

Open the file /usr/X11R6/lib/X11/xkb/rules/xfree86.lst, locate the line "il Israeli" and add the following line after it:

il_si1452 Israeli SI-1452

3.1 XFree86 setup

Now you can apply the SI 1452 layout by running from the command line (as an ordinary user):

setxkbmap -layout "us,il_si1452" -option "grp:alt_shift_toggle,grp_led:scroll"

or alternatively by editing the file /etc/X11/XF86Config (as the root) and changing the lines

    Option       "XkbOptions" ...
    Option       "XkbLayout" ...

into

    Option       "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:scroll"
    Option       "XkbLayout" "us,il_si1452"

Now you should be able to switch between the latin and the hebrew keyboards with Alt-Shift, like in Windows.
This method has been kindly proposed by Yaacov Zamir.

3.2 KDE setup

After you have performed the common setup, you can simply open keyboard control module and in the list of additional layouts select "Israeli SI-1452" instead of "Israeli". The keyboard should behave now as explained above.

4. Using Culmus fonts with various programs

4.1 a2ps

You will need a Hebrew plain text file in visual iso8859-8 encoding. You can use some combination of iconv and fribidi to get it from whatever you have.

a. Download the file iso8.edf and put it into /usr/share/a2ps/encoding. Add the following line to /usr/share/a2ps/encoding/encoding.map:

iso8 iso8

b. Add the line

AppendLibraryPath: /usr/share/fonts/he/Type1/

to the file /etc/a2ps-site.cfg (assuming that is the directory where your Culmus fonts are installed).

c. Now you can run a2ps as follows:

a2ps -X iso8 -o output.ps input.txt

This solution is by courtesy of Tzafrir Cohen and Oded Resnik.

4.2 Enscript

Like a2ps, enscript also needs input in visual iso8859-8 encoding. I would recommend to use a2ps, because it doesn't require a separate set of fonts.

a. Get the "non-linux" package of Culmus fonts and extract it to the home directory. The fonts will actually reside in ~/culmus-ux. Run 'mkafmmap *.afm' in that directory and ignore the errors.

b. Add the line

AFMPath: /home/myusername/culmus-ux

to the file ~/.enscriptrc. Unfortunately enscript understands neither ~ nor $HOME, so you will have to specify the explicit path to the fonts.

c. Now you can run enscript as follows:

enscript -X ps -f Hasida-Medium10 -p output.ps input.txt

The font size (10 in this example) can be varied for your convenience. The size 11 is the best for the default fribidi wrapping of 80 chars per line. You can use alternatively "Hasida-Bold" to get bold font.

5. Other Issues

5.1 Can I get a TrueType version of fonts?

You can, but not from me. I don't distribute TrueType fonts in the scope of the project. The primary reason for this is that I simply have neither time nor interest to maintain yet another variation in addition to these already in place. The second reason is that currently I don't have a tool that would be able to do quality conversion.

If you really want to have free Hebrew TrueType fonts, you can download the free UCS outline fonts - they incorporate Frank Ruehl, Miriam Mono and Nachlieli. You can also perform the conversion by yourself with PfaEdit - it's easy and doesn't require any special typographical skills.

There are some custom font packages available on the web:

For Windows - courtesy of Elyasaf Movshovitz, hosted by Shoshannah Forbes.
For Macintosh - courtesy of Alon Weinstein, hosted by Shoshannah Forbes.

If you have any other question, please contact Maxim Iorsh.