]> code.delx.au - gnu-emacs/blobdiff - man/faq.texi
(Basic Keyboard Macro): Mention F3/F4 more.
[gnu-emacs] / man / faq.texi
index 8b3235174d5cb9ce4bcdd8751b7b7bd51c896847..69feaecc2b54034d693e1488f7ac1d11d3de9f0c 100644 (file)
@@ -311,7 +311,7 @@ consortium of computer vendors which develops commercial software for
 Unix systems.
 
 The word ``free'' in the title of the Free Software Foundation refers to
-``freedom,'' not ``zero dollars.''  Anyone can charge any price for
+``freedom,'' not ``zero cost.''  Anyone can charge any price for
 GPL-covered software that they want to.  However, in practice, the
 freedom enforced by the GPL leads to low prices, because you can always
 get the software for less money from someone else, since everyone has
@@ -1146,16 +1146,28 @@ and on @code{xterm} with @kbd{emacs -nw}.
 @cindex Emacs 22, new features in
 @cindex Recently introduced features
 
-@c FIXME: Improve this node before the 22.1 release.
 @cindex Default features
-Font-lock mode, auto-compression mode, and file name shadow mode are now
-enabled by default.  It is now possible to follow links with
-@kbd{mouse-1}.
-
-@cindex Supported systems
-Emacs 22 features support for GNU/Linux systems on S390 and X86-64
-machines, as well as support for the Mac OS X and Cygwin operating
-systems.
+Font Lock mode, auto-compression mode, and file name shadow mode are now
+enabled by default.  On graphics displays it is now possible to follow
+links with @kbd{mouse-1}, and the modeline of the selected window is now
+highlighted.  Window fringes are now customizable.  The minibuffer
+prompt is now displayed in a distinct face.
+
+Emacs now reads abbrev definitions automatically at startup.  The
+maximum size of buffers has been doubled and is now 256M on 32-bit
+machines.  Grep mode is now separate from Compilation mode and has many
+new specific options and commands.
+
+The original Emacs macro system has been replaced by the new Kmacro
+package, which provides many new commands and features and a simple
+interface that uses the function keys F3 and F4.  Macros are now stored
+in a macro ring, and can be debugged and edited interactively.
+
+The GUD (Grand Unified Debugger) package can now be used with a full
+graphical user interface to the debugger which provides many features
+found in traditional development environments, making it easy to
+manipulate breakpoints, add watch points, display the call stack, etc.
+Breakpoints are now displayed in the source buffer.
 
 @cindex GTK+ Toolkit
 @cindex Drag-and-drop
@@ -1164,15 +1176,39 @@ Emacs can now be built with GTK+ widgets, and supports drag-and-drop
 operation on X.  Mouse wheel support is now enabled by default.
 
 @cindex New modes
-Many new modes and packages have been included in Emacs, such as Leim,
-Calc, Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode,
-python-mode, table, tumme, SES, ruler, Flymake, Org, etc.
+Many new modes and packages have been included in Emacs, such as Calc,
+Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode, python-mode,
+table, tumme, SES, ruler, Flymake, Org, PGG, wdired, t-mouse, longlines,
+dns-mode, savehist, Password, Printing, Reveal, etc.
+
+@cindex Multilingual Environment
+Leim is now part of Emacs.  Unicode support has been much improved, and
+the following input methods have been added: belarusian, bulgarian-bds,
+bulgarian-phonetic, chinese-sisheng, croatian, dutch, georgian,
+latin-alt-postfix, latin-postfix, latin-prefix, latvian-keyboard,
+lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345,
+russian-computer, sgml, slovenian, tamil-inscript ucs,
+ukrainian-computer, vietnamese-telex, and welsh.
+
+The following language environment have also been added: Belarusian,
+Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian, Latin-6,
+Latin-7, Latvian, Lithuanian, Malayalam, Russian, Russian, Slovenian,
+Swedish, Tajik, Tamil, UTF-8, Ukrainian, Ukrainian, Welsh, and
+Windows-1255.
+
+@cindex Supported systems
+Emacs 22 features support for GNU/Linux systems on S390 and x86-64
+machines, as well as support for the Mac OS X and Cygwin operating
+systems.
 
 @cindex Documentation
 @cindex Emacs Lisp Manual
 In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
 (@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
 
+Many other changes have been made in Emacs 22, use @kbd{C-h n} to get a
+full list.
+
 @c ------------------------------------------------------------
 @node    Common requests, Bugs and problems, Status of Emacs, Top
 @chapter Common requests
@@ -1346,7 +1382,7 @@ initialization disables it.) Note that Emacs will not display the line
 number if the buffer's size in bytes is larger than the value of the
 variable @code{line-number-display-limit}.
 
-As of Emacs 20, you can similarly display the current column with
+You can similarly display the current column with
 @kbd{M-x column-number-mode}, or by putting the form
 
 @lisp
@@ -2147,7 +2183,7 @@ forms in a file.  (To do this from Lisp use the function @code{load}
 instead.)
 
 The functions @code{load-library}, @code{eval-region},
-@code{eval-current-buffer}, @code{require}, and @code{autoload} are also
+@code{eval-buffer}, @code{require}, and @code{autoload} are also
 useful; see @ref{Emacs Lisp documentation}, if you want to learn more
 about them.
 
@@ -2229,7 +2265,7 @@ otherwise.  @inforef{Frame Commands, Frame Commands, emacs}.
 @cindex Regexps
 @cindex Regular expressions
 @cindex Differences between Unix and Emacs regexps
-@cindex Unix regeps, differences from Emacs
+@cindex Unix regexps, differences from Emacs
 @cindex Text strings, putting regexps in
 
 @inforef{Regexp Backslash, Regexp Backslash, emacs}.
@@ -2261,15 +2297,35 @@ is actually typical for regexp syntax.)
 @cindex Replacing strings across files
 @cindex Multiple files, replacing across
 @cindex Files, replacing strings across multiple
+@cindex Recursive search/replace operations
 
-The ``tags'' feature of Emacs includes the command
-@code{tags-query-replace} which performs a query-replace across all the
-files mentioned in the @file{TAGS} file.  @inforef{Tags Search, Tags Search,
-emacs}.
+As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x
+d}) supports the command @code{dired-do-query-replace} (@kbd{Q}), which
+allows users to replace regular expressions in multiple files.
+
+You can use this command to perform search/replace operations on
+multiple files by following the following steps:
+
+@itemize @bullet
+@item
+Assemble a list of files you want to operate on with either
+@code{find-dired}, @code{find-name-dired} or @code{find-grep-dired}.
+
+@item
+Mark all files in the resulting Dired buffer using @kbd{t}.
+
+@item
+Use @kbd{Q} to start a @code{query-replace-regexp} session on the marked
+files.
+
+@item
+To accept all replacements in each file, hit @kbd{!}.
+@end itemize
 
-As of Emacs 19.29, Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d})
-supports the command @code{dired-do-query-replace} (@kbd{Q}), which allows
-users to replace regular expressions in multiple files.
+Another way to do the same thing is to use the ``tags'' feature of
+Emacs: it includes the command @code{tags-query-replace} which performs
+a query-replace across all the files mentioned in the @file{TAGS} file.
+@inforef{Tags Search, Tags Search, emacs}.
 
 @node Documentation for etags, Disabling backups, Replacing text across multiple files, Common requests
 @section Where is the documentation for @code{etags}?
@@ -2461,7 +2517,7 @@ To move a menu option from one position to another, simply evaluate
 
 More detailed information---and more examples of how to create and
 modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
-``Menu Keymaps''.  (@xref{Emacs Lisp documentation}, for information on
+``Menu Keymaps.''  (@xref{Emacs Lisp documentation}, for information on
 this manual.)
 
 @node Deleting menus and menu options, Turning on syntax highlighting, Modifying pull-down menus, Common requests
@@ -2572,7 +2628,7 @@ consult the documentation of the variables @code{ps-printer-name},
 Customize the @code{scroll-conservatively} variable with @kbd{M-x
 customize-variable @key{RET} scroll-conservatively @key{RET}} and set it
 to a large value like, say, 10000.  For an explanation of what this
-means, @inforef{Scrolling, Scrolling, emacs}.
+means, @inforef{Auto Scrolling, Auto Scrolling, emacs}.
 
 Alternatively, use the following Lisp form in your @file{.emacs}:
 
@@ -2627,7 +2683,8 @@ shell init file.  You have two alternatives to solve this:
 @item
 Make the alias conditioned on the @code{EMACS} variable in the
 environment.  When Emacs runs a subsidiary shell, it exports the
-@code{EMACS} variable with the value @code{t} to that shell.  You can
+@code{EMACS} variable to that shell, with value equal to the absolute
+file name of Emacs.  You can
 unalias @code{ls} when that happens, thus limiting the alias to your
 interactive sessions.
 
@@ -2697,7 +2754,7 @@ file:
 
 @example
 if ($?EMACS) then
-    if ("$EMACS" == t) then
+    if ("$EMACS" =~ /*) then
         if ($?tcsh) unset edit
         stty nl
     endif
@@ -3105,14 +3162,12 @@ arbitrary Emacs Lisp code evaluated when the file is visited.
 Obviously, there is a potential for Trojan horses to exploit this
 feature.
 
-Emacs 18 allowed this feature by default; users could disable it by
-setting the variable @code{inhibit-local-variables} to a non-@code{nil} value.
-
-As of Emacs 19, Emacs has a list of local variables that create a
-security risk.  If a file tries to set one of them, it asks the user to
-confirm whether the variables should be set.  You can also tell Emacs
-whether to allow the evaluation of Emacs Lisp code found at the bottom
-of files by setting the variable @code{enable-local-eval}.
+As of Emacs 22, Emacs has a list of local variables that are known to
+be safe to set.  If a file tries to set any variable outside this
+list, it asks the user to confirm whether the variables should be set.
+You can also tell Emacs whether to allow the evaluation of Emacs Lisp
+code found at the bottom of files by setting the variable
+@code{enable-local-eval}.
 
 For more information, @inforef{File Variables, File Variables, emacs}.
 
@@ -3377,7 +3432,7 @@ On OpenWindows, you may need to use @code{add_services} to add the
 ``OpenWindows Programmers'' optional software category from the CD-ROM.
 
 On HP-UX 8.0, you may need to run @code{update} again to load the
-X11-PRG ``fileset''.  This may be missing even if you specified ``all
+X11-PRG ``fileset.''  This may be missing even if you specified ``all
 filesets'' the first time.  If @file{libcurses.a} is missing, you may
 need to load the ``Berkeley Development Option.''
 
@@ -3474,7 +3529,7 @@ see @ref{Packages that do not come with Emacs}.
 @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.html, The Emacs Lisp
 List (ELL)}, maintained by @email{stephen@@anc.ed.ac.uk, Stephen Eglen},
 aims to provide one compact list with links to all of the current Emacs
-Lisp files on the internet.  The ELL can be browsed over the web, or
+Lisp files on the Internet.  The ELL can be browsed over the web, or
 from Emacs with @uref{http://www.anc.ed.ac.uk/~stephen/emacs/ell.el,
 the @file{ell} package}.
 
@@ -3490,7 +3545,7 @@ For a long time, the Emacs Lisp Archive provided a central repository
 for Emacs packages.  Sadly, it has not been active for some time,
 although you can still access the old files at
 
-@uref{ftp://ftp.cis.ohio-state.edu/pub/emacs-lisp/WWW/index.html}
+@uref{http://www.club.cc.cmu.edu/pub/gnu/elisp-archive/}
 
 Read the file @file{etc/MORE.STUFF} for more information about
 external packages.
@@ -3638,7 +3693,8 @@ lack certain features, such as the Emacs Lisp extension language.
 @cindex Windows 9X, ME, NT, 2K, and CE, Emacs for
 
 For information on Emacs for Windows 95 and NT, read the FAQ produced by
-@email{voelker@@cs.washington.edu, Geoff Voelker}, available at
+@email{voelker@@cs.washington.edu, Geoff Voelker} and currently maintained
+by @email{ramprasad@@gnu.org, Ramprasad B}, available at
 
 @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html}
 
@@ -3659,17 +3715,17 @@ You will need MSVC 6.0 and a Windows CE SDK to build this port.
 
 Emacs 20.6 is ported for emx on OS/2 2.0 or 2.1, and is available at
 
-@uref{ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/e206*.zip}
+@uref{ftp://hobbes.nmsu.edu/pub/os2/apps/editors/emacs/}
 
 @noindent
 and also at
 
-@uref{http://archiv.leo.org/pub/comp/os/os2/leo/gnu/emacs%2d20/}
+@uref{http://www.dotemacs.de/os2/emacs.html}
 
 Instructions for installation, basic setup, and other useful information
 for OS/2 users of Emacs can be found at
 
-@uref{http://userpage.fu-berlin.de/~oheiabbd/emacs/emacs206-os2.html}
+@uref{http://home.snafu.de/ohei/emacs/emacs206-os2.html}
 
 @node Emacs for Atari ST, Emacs for the Amiga , Emacs for OS/2, Finding Emacs and related packages
 @section Where can I get Emacs for my Atari ST?
@@ -3700,7 +3756,7 @@ beta version of Emacs 19.25 for the Amiga.  You can get the binary at
 Emacs.app is a NeXTSTEP version of Emacs 19.34 which supports colors,
 menus, and multiple frames.  You can get it from
 
-@uref{ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz}
+@uref{ftp://next-ftp.peak.org/pub/next-ftp/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz}
 
 @node Emacs for Apple computers, Emacs for VMS and DECwindows, Emacs for NeXTSTEP, Finding Emacs and related packages
 @section Where can I get Emacs for my Apple computer?
@@ -3719,7 +3775,7 @@ Beginning with version 22.1, Emacs supports Mac OS X natively.
 @cindex VMS, Emacs for
 
 Up-to-date information about GNU software (including Emacs) for VMS is
-available at @uref{http://vms.gnu.org/}.
+available at @uref{http://www.lp.se/gnu-vms/}.
 
 @node Modes for various languages,  , Emacs for VMS and DECwindows, Finding Emacs and related packages
 @section Where can I get modes for Lex, Yacc/Bison, Bourne shell, csh, C@t{++}, Objective-C, Pascal, Java, and Awk?
@@ -3759,7 +3815,7 @@ Java code.  It is distributed with Emacs, but has
 * AUCTeX::
 * BBDB::
 * Ispell::
-* w3-mode::
+* Emacs/W3::
 * EDB::
 * Mailcrypt::
 * JDE::
@@ -3792,8 +3848,8 @@ Java code.  It is distributed with Emacs, but has
 Or send reports to @email{bug-vm@@wonderworks.com}
 @end table
 
-VM 7 works well with Emacs 21. Older versions of VM suitable for use
-with older versions of Emacs are available from
+VM 7 works well with Emacs 21 and Emacs 22. Older versions of VM
+suitable for use with older versions of Emacs are available from
 @uref{ftp://ftp.wonderworks.com/pub/vm/, the same FTP site}.
 
 
@@ -3875,7 +3931,7 @@ better than the one distributed with Emacs:
 4.3
 
 @item Distribution
-@uref{ftp://archive.cis.ohio-state.edu/pub/emacs-lisp/old-archive/modes/vip-mode.tar.Z}
+@uref{ftp://www.club.cc.cmu.edu/pub/gnu/elisp-archive/modes/vip-mode.tar.Z}
 
 @end table
 
@@ -3947,7 +4003,7 @@ Release announcements: @email{bbdb-announce-request@@lists.sourceforge.net}
 
 @end table
 
-@node Ispell, w3-mode, BBDB, Major packages and programs
+@node Ispell, Emacs/W3, BBDB, Major packages and programs
 @section Ispell --- spell checker in C with interface for Emacs
 @cindex Spell-checker
 @cindex Checking spelling
@@ -3956,33 +4012,24 @@ Release announcements: @email{bbdb-announce-request@@lists.sourceforge.net}
 @table @b
 
 @item Author
-@email{geoff@@itcorp.com, Geoff Kuenning}
+@email{geoff@@cs.hmc.edu, Geoff Kuenning}
 
 @item Latest version
-3.1.20
+3.3.02
 
 @item Distribution
-@uref{ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz}@*
+@uref{http://fmg-www.cs.ucla.edu/geoff/tars/ispell-3.3.02.tar.gz}@*
 
 @item Web site
 @uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html}
 
 @end table
 
-@itemize @bullet
-
-@item
-Do not ask Geoff to send you the latest version of Ispell. He does not
-have free e-mail.
-
-@item
 This Ispell program is distinct from GNU Ispell 4.0. GNU Ispell 4.0 is
 no longer a supported product.
 
-@end itemize
-
-@node w3-mode, EDB, Ispell, Major packages and programs
-@section w3-mode --- A World Wide Web browser inside of Emacs
+@node Emacs/W3, EDB, Ispell, Major packages and programs
+@section Emacs/W3 --- A World Wide Web browser inside of Emacs
 @cindex WWW browser
 @cindex Web browser
 @cindex HTML browser in Emacs
@@ -3991,22 +4038,26 @@ no longer a supported product.
 @table @b
 
 @item Author
-@email{wmperry@@spry.com, Bill Perry}
+@email{wmperry@@gnu.org, Bill Perry}
+
+@item Maintainer
+Emacs/W3 needs a maintainer. It has lain dormant for several years. If
+you would like to take over the project, please contact
+@email{maintainers@@gnu.org}.
 
 @item Latest version
-4.0pre.39
+4.0pre.47
 
 @item Distribution
-@uref{ftp://ftp.cs.indiana.edu/pub/elisp/w3/w3.tar.gz}
+@uref{http://savannah.gnu.org/projects/w3}
 
 @item Mailing lists
-Receive announcements from @email{w3-announce-request@@indiana.edu}@*
-Become a beta tester at @email{w3-beta-request@@indiana.edu}@*
-Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
+Receive announcements from @email{w3-announce@@gnu.org}@*
+Help to develop Emacs/W3 at @email{w3-dev@@gnu.org}
 
 @end table
 
-@node EDB, Mailcrypt, w3-mode, Major packages and programs
+@node EDB, Mailcrypt, Emacs/W3, Major packages and programs
 @section EDB --- Database program for Emacs; replaces forms editing modes
 @cindex EDB
 @cindex Database
@@ -4053,6 +4104,11 @@ Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
 
 @end table
 
+Note that a new package called PGG is bundled with Emacs starting with
+version 22.1.  It is a modern interface to various PGP implementations,
+including @uref{http://www.gnupg.org/, The GNU Privacy Guard} and
+supports symmetric encryption.
+
 @node JDE, Patch, Mailcrypt, Major packages and programs
 @section JDE --- Integrated development environment for Java
 @cindex Java development environment
@@ -4064,14 +4120,15 @@ Help to develop @code{w3-mode} at @email{w3-dev@@indiana.edu}
 @item Author
 @email{paulk@@mathworks.com, Paul Kinnucan}
 
-@item Mailing list
-jde-subscribe@@sunsite.auc.dk
-
 @item Latest version
-2.1.1
+2.3.5
 
 @item Web site
-@uref{http://sunsite.auc.dk/jde/}
+@uref{http://jdee.sunsite.dk/}
+
+@item Mailing lists
+Subscription requests to @email{jde-subscribe@@sunsite.dk}@*
+Receive announcements from @email{jde-announce-subscribe@@sunsite.dk}
 
 @end table
 
@@ -4510,7 +4567,7 @@ instead:
 @lisp
 (global-set-key "\C-h" 'delete-backward-char)
 
-;;; overrides mark-whole-buffer
+;; overrides mark-whole-buffer
 (global-set-key "\C-xh" 'help-command)
 @end lisp
 
@@ -4642,7 +4699,7 @@ under X).  For many terminals (notably DEC terminals) @key{F11}
 generates @key{ESC}.  If not, the following form can be used to bind it:
 
 @lisp
-;;; F11 is the documented ESC replacement on DEC terminals.
+;; F11 is the documented ESC replacement on DEC terminals.
 (define-key function-key-map [f11] [?\e])
 @end lisp
 
@@ -4817,6 +4874,7 @@ You can get the old behavior by binding @kbd{SPC} to
 * Inputting eight-bit characters::
 * Kanji and Chinese characters::
 * Right-to-left alphabets::
+* How to add fonts::
 @end menu
 
 @node Emacs does not display 8-bit characters, Inputting eight-bit characters, Alternate character sets, Alternate character sets
@@ -4856,7 +4914,7 @@ Emacs 20 and later includes many of the features of MULE, the MULtilingual
 Enhancement to Emacs.  @xref{Installing Emacs}, for information on where
 to find and download the latest version of Emacs.
 
-@node Right-to-left alphabets,  , Kanji and Chinese characters, Alternate character sets
+@node Right-to-left alphabets, How to add fonts, Kanji and Chinese characters, Alternate character sets
 @section Where is an Emacs that can handle Semitic (right-to-left) alphabets?
 @cindex Right-to-left alphabets
 @cindex Hebrew, handling with Emacs
@@ -4876,8 +4934,128 @@ Emacs 18.  Write to Joel if you want the patches or package.
 @file{hebrew.el} requires a Hebrew screen font, but no other hardware support.
 Joel has a screen font for PCs running MS-DOS or GNU/Linux.
 
-You might also try to query archie for files named with @file{hebrew};
-several ftp sites in Israel may also have the necessary files.
+You might also try querying @code{archie} for files named with
+@file{hebrew}; several ftp sites in Israel may also have the necessary
+files.
+
+@node How to add fonts,  , Right-to-left alphabets, Alternate character sets
+@section How do I add fonts for use with Emacs?
+@cindex add fonts for use with Emacs
+@cindex intlfonts
+
+First, download and install the BDF font files and any auxiliary
+packages they need.  The GNU Intlfonts distribution can be found on
+@uref{http://directory.fsf.org/localization/intlfonts.html, the GNU
+Software Directory Web site}.
+
+Next, if you are on X Window system, issue the following two commands
+from the shell's prompt:
+
+@example
+  xset +fp /usr/local/share/emacs/fonts
+  xset fp rehash
+@end example
+
+@noindent
+(Modify the first command if you installed the fonts in a directory
+that is not @file{/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
+@file{~/.xsessionrc} or @file{~/.gnomerc}.
+
+Now, add the following line to your @file{~/.emacs} init file:
+
+@lisp
+  (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf")
+@end lisp
+
+@noindent
+(Again, modify the file name if you installed the fonts elsewhere.)
+
+Finally, if you wish to use the installed fonts with @code{ps-print},
+add the following line to your @file{~/.emacs}:
+
+@lisp
+  (setq ps-multibyte-buffer 'bdf-font-except-latin)
+@end lisp
+
+A few additional steps are necessary for MS-Windows; they are listed
+below.
+
+First, make sure @emph{all} the directories with BDF font files are
+mentioned in @code{bdf-directory-list}.  On Unix and GNU/Linux
+systems, one normally runs @kbd{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 @file{C:/Intlfonts};
+then you should set @code{bdf-directory-list} as follows:
+
+@lisp
+  (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"))
+@end lisp
+
+@cindex @code{w32-bdf-filename-alist}
+@cindex @code{w32-find-bdf-fonts}
+Next, you need to set up the variable @code{w32-bdf-filename-alist} to
+an alist of the BDF fonts and their corresponding file names.
+Assuming you have set @code{bdf-directory-list} to name all the
+directories with the BDF font files, the following Lisp snippet will
+set up @code{w32-bdf-filename-alist}:
+
+@lisp
+  (setq w32-bdf-filename-alist
+     (w32-find-bdf-fonts bdf-directory-list))
+@end lisp
+
+Now, create fontsets for the BDF fonts:
+
+@lisp
+  (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")
+@end lisp
+
+Many of the international bdf fonts from Intlfonts are type 0, and
+therefore need to be added to font-encoding-alist:
+
+@lisp
+  (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))
+@end lisp
+
+You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium}
+fontset, or you can select it by setting the default font in your
+@file{~/.emacs}:
+
+@lisp
+  (set-default-font "fontset-bdf")
+@end lisp
+
 
 @c ------------------------------------------------------------
 @node Mail and news, Concept index, Alternate character sets, Top