* Complex Text Layout support libraries
-On GNU and Unix systems, Emacs needs the optional libraries "m17n-db",
-"libm17n-flt", "libotf" to correctly display such complex scripts as
-Indic and Khmer, and also for scripts that require Arabic shaping
-support (Arabic and Farsi). On some systems, particularly GNU/Linux,
-these libraries may be already present or available as additional
-packages. Note that if there is a separate 'dev' or 'devel' package,
-for use at compilation time rather than run time, you will need that
-as well as the corresponding run time package; typically the dev
-package will contain header files and a library archive. Otherwise,
-you can download the libraries from <https://www.nongnu.org/m17n/>.
+On GNU and Unix systems, Emacs needs optional libraries to correctly
+display such complex scripts as Indic and Khmer, and also for scripts
+that require Arabic shaping support (Arabic and Farsi). If the
+HarfBuzz library is installed, Emacs will build with it and use it for
+this purpose. HarfBuzz is the preferred shaping engine, both on Posix
+hosts and on MS-Windows, so we recommend installing it before building
+Emacs. The alternative for GNU/Linux and Posix systems is to use the
+"m17n-db", "libm17n-flt", and "libotf" libraries. (On some systems,
+particularly GNU/Linux, these libraries may be already present or
+available as additional packages.) Note that if there is a separate
+'dev' or 'devel' package, for use at compilation time rather than run
+time, you will need that as well as the corresponding run time
+package; typically the dev package will contain header files and a
+library archive. On MS-Windows, if HarfBuzz is not available, Emacs
+will use the Uniscribe shaping engine that is part of the OS.
Note that Emacs cannot support complex scripts on a TTY, unless the
-terminal includes such a support.
+terminal includes such a support. However, most modern terminal
+emulators, such as xterm, do support such scripts.
* intlfonts-VERSION.tar.gz
config-manager --set-enabled fedora-debuginfo updates-debuginfo').
Once you have installed the source package, for example at
-/path/to/emacs-26.1, add the following line to your startup file:
+/path/to/emacs-27.1, add the following line to your startup file:
(setq find-function-C-source-directory
- "/path/to/emacs-26.1/src")
+ "/path/to/emacs-27.1/src")
The installation directory of the Emacs source package will contain
the exact package name and version number Emacs is installed on your
not exist for every released Emacs package, this depends on the
distribution. On Debian-based systems, you can install a debug
package of Emacs with a command like 'apt-get install emacs-dbg' (on
-older systems, replace 'emacs' with eg 'emacs25'). On Red Hat-based
+older systems, replace 'emacs' with eg 'emacs27'). On Red Hat-based
systems, the corresponding command is 'dnf debuginfo-install emacs'.
Does Emacs use -lgnutls? yes
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? no
+ Does Emacs use HarfBuzz? yes
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? no
Does Emacs use -lxft? no
+ Does Emacs use -lsystemd? no
+ Does Emacs use -ljansson? yes
+ Does Emacs use the GMP library? yes
Does Emacs directly use zlib? yes
+ Does Emacs have dynamic modules support? yes
Does Emacs use toolkit scroll bars? yes
+ Does Emacs support Xwidgets? no
+ Does Emacs have threading support in lisp? yes
+ Does Emacs support the portable dumper? yes
+ Does Emacs support the legacy unexec dumping? no
+ Which dumping strategy does Emacs use? pdumper
You are almost there, hang on.
the libjansson DLL (for 32-bit builds of Emacs) are available from
the ezwinports site and from the MSYS2 project.
+* Optional support for HarfBuzzz shaping library
+
+ Emacs supports display of complex scripts and Arabic shaping. The
+ preferred library for that is HarfBuzz; prebuilt binaries are
+ available from the ezwinports site (for 32-bit builds of Emacs) and
+ from the MSYS2 project. If HarfBuzz is not available, Emacs will
+ use the Uniscribe shaping engine that is part of MS-Windows.
+
\f
This file is part of GNU Emacs.
mingw-w64-x86_64-jansson \
mingw-w64-x86_64-libxml2 \
mingw-w64-x86_64-gnutls \
- mingw-w64-x86_64-zlib
+ mingw-w64-x86_64-zlib \
+ mingw-w64-x86_64-harfbuzz
The packages include the base developer tools (autoconf, grep, make, etc.),
the compiler toolchain (gcc, gdb, etc.), several image libraries, an XML
-library, the GnuTLS (transport layer security) library, and zlib for
-decompressing text. Only the first three packages are required (base-devel,
-toolchain, xpm-nox); the rest are optional. You can select only part of the
-libraries if you don't need them all.
+library, the GnuTLS (transport layer security) library, zlib for
+decompressing text, and HarfBuzz for use as the shaping engine. Only the
+first three packages are required (base-devel, toolchain, xpm-nox); the
+rest are optional. You can select only part of the libraries if you don't
+need them all.
You now have a complete build environment for Emacs.