diff --git a/INSTALL b/INSTALL index 4d65f302aac4..cb1fe8d3c2c1 100644 --- a/INSTALL +++ b/INSTALL @@ -117,19 +117,25 @@ ADDITIONAL DISTRIBUTION FILES * 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 . +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 @@ -234,10 +240,10 @@ directory. On Red Hat-based systems, the corresponding command is 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 @@ -249,7 +255,7 @@ Emacs debugging symbols are distributed by a debug package. It does 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'. diff --git a/nt/INSTALL b/nt/INSTALL index 2fe2c8c26731..27fb5f096f74 100644 --- a/nt/INSTALL +++ b/nt/INSTALL @@ -502,11 +502,21 @@ build will run on Windows 9X and newer systems). 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. @@ -815,6 +825,14 @@ build will run on Windows 9X and newer systems). 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. + This file is part of GNU Emacs. diff --git a/nt/INSTALL.W64 b/nt/INSTALL.W64 index c3d4dfa4c28c..498fc38f6128 100644 --- a/nt/INSTALL.W64 +++ b/nt/INSTALL.W64 @@ -55,14 +55,16 @@ packages (you can copy and paste it into the shell with Shift + Insert): 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.