The Xorg font packages provide some scalable fonts and supporting packages for Xorg applications. Many people will want to install other TTF or OTF fonts in addition to, or instead of, these. Some are listed at TTF-and-OTF-fonts.
Download (HTTP): https://www.x.org/pub/individual/font/
First, create a list of files to be downloaded. This file will also be used to verify the integrity of the downloads when complete:
cat > font-7-list << "EOF"
font-util-1.4.1.tar.xz
encodings-1.1.0.tar.xz
font-alias-1.0.5.tar.xz
font-adobe-utopia-type1-1.0.5.tar.xz
font-bh-ttf-1.0.4.tar.xz
font-bh-type1-1.0.4.tar.xz
font-ibm-type1-1.0.4.tar.xz
font-misc-ethiopic-1.0.5.tar.xz
font-xfree86-type1-1.0.5.tar.xz
EOF
To download the needed files using Wget-1.25.0, use the following commands:
mkdir font && cd font && grep -v '^#' ../font-7-list | wget -i- -c \ -B https://www.x.org/pub/individual/font/
When installing multiple packages in a script, the installation needs to be done as the root user. There are three general options that can be used to do this:
Run the entire script as the root user (not recommended).
Use the sudo command from the sudo package.
Use su -c "command arguments" (quotes required) which will ask for the root password for every iteration of the loop.
One way to handle this situation is to create a short bash function that automatically selects the appropriate method. Once the command is set in the environment, it does not need to be set again.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
First, start a subshell that will exit on error:
bash -e
Install all of the packages by running the following commands:
for package in $(grep -v '^#' ../font-7-list) do packagedir=${package%.tar.?z*} tar -xf $package pushd $packagedir ./configure $XORG_CONFIG make as_root make install popd as_root rm -rf $packagedir done
Finally, exit the shell that was started earlier:
exit