Previous: Right-to-left alphabets, Up: Alternate character sets [Contents][Index]

### 10.4 How do I add fonts for use with Emacs?

First, download and install the BDF font files and any auxiliary packages they need. The GNU Intlfonts distribution can be found on the GNU Software Directory Web site.

Next, if you are on X Window system, issue the following two commands from the shell’s prompt:

      xset +fp /usr/local/share/emacs/fonts
      xset fp rehash

(Modify the first command if you installed the fonts in a directory that is not `/usr/local/share/emacs/fonts`.) You also need to arrange for these two commands to run whenever you log in, e.g., by adding them to your window-system startup file, such as `~/.xsessionrc` or `~/.gnomerc`.

Now, add the following line to your `~/.emacs` init file:

      (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf")

(Again, modify the file name if you installed the fonts elsewhere.)

Finally, if you wish to use the installed fonts with `ps-print`, add the following line to your `~/.emacs`:

      (setq ps-multibyte-buffer 'bdf-font-except-latin)

A few additional steps are necessary for MS-Windows; they are listed below.

First, make sure all the directories with BDF font files are mentioned in `bdf-directory-list`. On Unix and GNU/Linux systems, one normally runs `make install` to install the BDF fonts in the same directory. By contrast, Windows users typically don’t run the Intlfonts installation command, but unpack the distribution in some directory, which leaves the BDF fonts in its subdirectories. For example, assume that you unpacked Intlfonts in `C:/Intlfonts`; then you should set `bdf-directory-list` as follows:

      (setq bdf-directory-list
        '("C:/Intlfonts/Asian"
          "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X"
          "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic"
          "C:/Intlfonts/European" "C:/Intlfonts/European.BIG"
          "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X"
          "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X"
          "C:/Intlfonts/Misc"))

Next, you need to set up the variable `w32-bdf-filename-alist` to an alist of the BDF fonts and their corresponding file names. Assuming you have set `bdf-directory-list` to name all the directories with the BDF font files, the following Lisp snippet will set up `w32-bdf-filename-alist`:

      (setq w32-bdf-filename-alist
         (w32-find-bdf-fonts bdf-directory-list))

Now, create fontsets for the BDF fonts:

      (create-fontset-from-fontset-spec
       "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
       japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
       katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
       latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
       japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
       thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
       lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
       tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
       ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
       tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")

Many of the international bdf fonts from Intlfonts are type 0, and therefore need to be added to font-encoding-alist:

      (setq font-encoding-alist
            (append '(("MuleTibetan-0" (tibetan . 0))
                      ("GB2312"        (chinese-gb2312 . 0))
                      ("JISX0208"      (japanese-jisx0208 . 0))
                      ("JISX0212"      (japanese-jisx0212 . 0))
                      ("VISCII"        (vietnamese-viscii-lower . 0))
                      ("KSC5601"       (korean-ksc5601 . 0))
                      ("MuleArabic-0"  (arabic-digit . 0))
                      ("MuleArabic-1"  (arabic-1-column . 0))
                      ("MuleArabic-2"  (arabic-2-column . 0)))
                    font-encoding-alist))

You can now use the Emacs font menu to select the ‘`bdf: 16-dot medium`’ fontset, or you can select it by setting the default font in your `~/.emacs`:

      (set-default-font "fontset-bdf")

Previous: Right-to-left alphabets, Up: Alternate character sets [Contents][Index]