diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index e69de29..0000000
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9c25677
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+/noarch/
+/.build-*.log
+/results_terminus-fonts/
+/terminus-fonts-*.src.rpm
+/terminus-font-4.40/
+/terminus-font-4.46/
+/terminus-font-4.47/
+/terminus-font-4.48/
+terminus-font-4.30.tar.gz
+terminus-font-4.30-dv1.diff.gz
+terminus-font-4.30-ge1.diff.gz
+terminus-font-4.30-ij1.diff.gz
+/terminus-font-4.32.tar.gz
+/terminus-font-4.34.tar.gz
+/terminus-font-4.35.tar.gz
+/terminus-font-4.36.tar.gz
+/terminus-font-4.38.tar.gz
+/terminus-font-4.39.tar.gz
+/terminus-font-4.40.tar.gz
+/terminus-font-4.46.tar.gz
+/terminus-font-4.47.tar.gz
+/terminus-font-4.48.tar.gz
+/terminus-font-4.49.tar.gz
+/terminus-font-4.49.1.tar.gz
diff --git a/63-terminus-fonts.conf b/63-terminus-fonts.conf
new file mode 100644
index 0000000..1f6afa5
--- /dev/null
+++ b/63-terminus-fonts.conf
@@ -0,0 +1,16 @@
+
+
+
+
+ monospace
+
+ Terminus
+
+
+
+ Terminus
+
+ monospace
+
+
+
diff --git a/Makefile b/Makefile
deleted file mode 100644
index c5f1539..0000000
--- a/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# Makefile for source rpm: terminus-fonts
-# $Id$
-NAME := terminus-fonts
-SPECFILE = $(firstword $(wildcard *.spec))
-
-define find-makefile-common
-for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
-endef
-
-MAKEFILE_COMMON := $(shell $(find-makefile-common))
-
-ifeq ($(MAKEFILE_COMMON),)
-# attept a checkout
-define checkout-makefile-common
-test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
-endef
-
-MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
-endif
-
-include $(MAKEFILE_COMMON)
diff --git a/bitmapfonts2otb.py b/bitmapfonts2otb.py
new file mode 100644
index 0000000..aa2642b
--- /dev/null
+++ b/bitmapfonts2otb.py
@@ -0,0 +1,71 @@
+#!/usr/bin/python3
+
+# This script is licensed under the GPL-3.0-or-later license.
+
+# Automatically group the font files by family names and style names,
+# and assume each bitmap font only contains one font face.
+# This tool requires ftdump and fonttosfnt.
+
+# Some changes by Hans Ulrich Niedermann and Antonio Larrosa.
+
+# Written by Peng Wu as
+# https://pwu.fedorapeople.org/fonts/convertbitmap/convertfont2.py
+# Some changes by Hans Ulrich Niedermann.
+
+import re
+import sys
+import subprocess
+
+usage = '''
+convertfont2.py [BITMAPFONTFILE]...
+'''
+
+fontnames = dict()
+
+# get font family name and style name by ftdump
+def get_fullname_height(fontname):
+ output = subprocess.check_output(['ftdump', fontname])
+
+ output = output.decode('utf8')
+ # only contain one font face
+ assert not 'Face number: 1' in output
+ result = {}
+ height = 0
+ for row in output.split('\n'):
+ # for family name and style name
+ if ':' in row:
+ key, value = row.split(': ')
+ result[key.strip()] = value.strip()
+ # for height
+ if 'height' in row:
+ match = re.search('height (\d+)', row)
+ height = int(match.group(1))
+ assert height > 0
+
+ familyname, stylename = result['family'], result['style']
+ if stylename == 'Regular':
+ return (familyname, height)
+ else:
+ return (familyname + ' ' + stylename, height)
+
+
+def generate_fonts():
+ for (fullname, height), filenames in fontnames.items():
+ outputfilename = fullname.replace(' ', '-') + '-' + str(height) + '.otb'
+ argv = 'fonttosfnt -b -c -g 2 -m 2 -o'.split(' ')
+ argv.append(outputfilename)
+ argv.extend(filenames)
+ print(' '.join(argv))
+ print(subprocess.check_output(argv).decode('utf8'))
+
+
+if __name__ == '__main__':
+ for bitmapfontname in sys.argv[1:]:
+ (fullname, height) = get_fullname_height(bitmapfontname)
+ index = (fullname, height)
+ if index in fontnames:
+ fontnames[index].append(bitmapfontname)
+ else:
+ fontnames[index] = [bitmapfontname]
+
+ generate_fonts()
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..8628a46
--- /dev/null
+++ b/changelog
@@ -0,0 +1,198 @@
+* Sat Jul 23 2022 Fedora Release Engineering - 4.49.1-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Jan 22 2022 Fedora Release Engineering - 4.49.1-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering - 4.49.1-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Fri Feb 5 2021 Hans Ulrich Niedermann - 4.49.1-12
+- Move consolefonts from /lib to /usr/lib like kbd has done (#1925696)
+
+* Fri Feb 5 2021 Hans Ulrich Niedermann - 4.49.1-11
+- Add checks on wildcard names matching font files
+
+* Wed Feb 3 2021 Hans Ulrich Niedermann - 4.49.1-10.3
+- Use upstream's way of building *.otb OpenType bitmap font files (#1922893)
+
+* Wed Feb 3 2021 Hans Ulrich Niedermann - 4.49.1-10.2
+- Update to terminus-font-4.49.1, keeping our fonttosfnt *.otb generation (#1910955)
+
+* Wed Feb 3 2021 Hans Ulrich Niedermann - 4.48-10.1
+- Update otb conversion script and ship one *.otb file per font size
+
+* Fri Jan 29 2021 Hans Ulrich Niedermann - 4.48-10
+- Add BuildRequires: make
+- Add BuildRequires: fonttosfnt >= 1.2.1 (remove font weight workaround)
+ Closes: https://src.fedoraproject.org/rpms/terminus-fonts/pull-request/3
+
+* Wed Jan 27 2021 Fedora Release Engineering - 4.48-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering - 4.48-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jun 2 2020 Akira TAGOH - 4.48-7
+- Workaround wrong weight in Terminus.otb in fontconfig config file.
+ Resolves: rhbz#1823637
+
+* Sat Apr 25 2020 Hans Ulrich Niedermann - 4.48-6
+- complete spec file rewrite based on spectemplate-fonts-1-full.spec
+- split off legacy PCF files into -legacy-x11 subpackage
+
+* Tue Apr 7 2020 Hans Ulrich Niedermann - 4.48-5
+- List *.otb files explicitly (without wildcards)
+- Updated package descriptions and spec comments for more accuracy
+
+* Wed Feb 5 2020 Peng Wu - 4.48-4
+- Use bitmapfonts2otb.py to combine bitmap fonts
+
+* Fri Jan 31 2020 Fedora Release Engineering - 4.48-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jan 3 2020 Hans Ulrich Niedermann - 4.48-2
+- Stop shipping VGA fonts in grub subpackage
+- Build OTB fonts for compatibility with pango >= 1.44 (#1748495)
+
+* Tue Aug 27 2019 Hans Ulrich Niedermann - 4.48-1
+- Update to upstream release terminus-font-4.48
+- Ship the Hebrew characters introduced by terminus-font-4.48
+
+* Sat Jul 27 2019 Fedora Release Engineering - 4.47-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sun Feb 03 2019 Fedora Release Engineering - 4.47-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Sun Jan 27 2019 Hans Ulrich Niedermann - 4.47-4
+- Only build -grub2 subpackage when arch/dist actually has grub2
+- Address and silence rpmlint warnings
+
+* Tue Jan 15 2019 Hans Ulrich Niedermann - 4.47-3
+- Update to upstream release terminus-font-4.47
+
+* Tue Jan 15 2019 Hans Ulrich Niedermann - 4.46-3
+- Continue shipping the 8bit versions of *.pcf files (#1664054)
+
+* Tue Dec 18 2018 Hans Ulrich Niedermann - 4.46-2
+- Add grub2 subpackage with *.pf2 fonts
+
+* Tue Dec 18 2018 Hans Ulrich Niedermann - 4.46-1
+- Update to terminus-font-4.46
+
+* Sat Jul 14 2018 Fedora Release Engineering - 4.40-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Feb 09 2018 Fedora Release Engineering - 4.40-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering - 4.40-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering - 4.40-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon May 16 2016 Hans Ulrich Niedermann - 4.40-5
+- Fix terminus-fonts-console README.fedora instructions on checking the initramfs.
+
+* Fri Feb 05 2016 Fedora Release Engineering - 4.40-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Mon Jan 18 2016 Hans Ulrich Niedermann - 4.40-3
+- Fix spelling issue in %%description
+- iconv README-BG from WINDOWS-1251 to utf-8
+
+* Sun Jan 17 2016 Hans Ulrich Niedermann - 4.40-2
+- Update to terminus-font-4.40 (#1095285)
+
+* Fri Jun 19 2015 Fedora Release Engineering - 4.39-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Thu Jul 10 2014 Jens Petersen - 4.39-1
+- update to 4.39
+
+* Sun Jun 08 2014 Fedora Release Engineering - 4.38-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Thu Nov 28 2013 Hans Ulrich Niedermann - 4.38-3
+- Improve instructions for F18+ to console README.fedora (#1000491)
+
+* Sat Nov 16 2013 Hans Ulrich Niedermann - 4.38-2
+- Add instructions for F18+ to terminus-fonts-console README.fedora (#1000491)
+
+* Mon Sep 16 2013 Parag - 4.38-1
+- Update to new 4.38 version
+
+* Sun Aug 04 2013 Fedora Release Engineering - 4.36-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Fri Feb 15 2013 Fedora Release Engineering - 4.36-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sat Jul 21 2012 Fedora Release Engineering - 4.36-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jan 14 2012 Fedora Release Engineering - 4.36-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Sep 12 2011 Hans Ulrich Niedermann - 4.36-1
+- Update to terminus-font-4.36
+
+* Sat May 21 2011 Hans Ulrich Niedermann - 4.35-1
+- Update to terminus-font-4.35
+- Actually ship the size 18 fonts (upstream fix)
+
+* Mon May 2 2011 Hans Ulrich Niedermann - 4.34-1
+- Update to terminus-font-4.34
+- Remove patch for alt/ge1.diff (4.34 uses ge1 by default)
+
+* Wed Feb 09 2011 Fedora Release Engineering - 4.32-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Tue Feb 1 2011 Hans Ulrich Niedermann - 4.32-1
+- Update to 4.32
+
+* Fri Jul 16 2010 Hans Ulrich Niedermann - 4.30-2
+- Added License tag to -console subpackage.
+- Added note about rebuilding initramfs after changing /etc/sysconfig/i18n.
+- Changed URL, SourceN, PatchN to use new location at sourceforge.net.
+
+* Fri Dec 4 2009 Hans Ulrich Niedermann - 4.30-1
+- update to 4.30 release:
+ - new size 22 (not very good)
+ - 25 additional characters
+ - various small fixes
+
+* Sun Jul 26 2009 Fedora Release Engineering - 4.28-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Mar 25 2009 Hans Ulrich Niedermann - 4.28-8
+- Rebuild for Fedora 11 to pick up font autodeps (#491973)
+
+* Wed Feb 25 2009 Fedora Release Engineering - 4.28-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 20 2009 Hans Ulrich Niedermann - 4.28-6
+- fix fontpackages-devel requirement to >= 1.18 (for _fontdir ownership)
+
+* Fri Feb 20 2009 Hans Ulrich Niedermann - 4.28-5
+- Add information to the fontconfig file
+- no need to %%dir %%{_fontdir} in fontpackages-devel >= 1.20
+- Use %%{_sysconfdir} instead of /etc
+- Change all %%define instances to %%global
+- Drop filesystem requirement for F-10 and later
+- Use macro for common parts of descriptions
+- Remove unneeded Provides:
+- drop unnecessary comment
+
+* Thu Feb 19 2009 Hans Ulrich Niedermann - 4.28-4
+- change catalog(ue) spelling to US English
+- remove unnecessary macro definition of %%tarname
+- properly define consolefontdir (no macros)
+
+* Thu Feb 19 2009 Hans Ulrich Niedermann - 4.28-3
+- generate fonts.dir at build time (bug 483589)
+
+* Wed Feb 18 2009 Hans Ulrich Niedermann - 4.28-2
+- initial package for new Fedora Font Policy
diff --git a/font-card.txt b/font-card.txt
new file mode 100644
index 0000000..3d250bc
--- /dev/null
+++ b/font-card.txt
@@ -0,0 +1,4 @@
+▌▗▖█ This is some ╔═╕ text for pango to render so
+▐▝▘ █▀▄ ▒ that we ╟┬┤ can see whether the bitmap
+ font has been ╠╪╡ properly converted to the
+ *.otb OpenType ╚╧╛ bitmap font file format.
diff --git a/generate-font-card b/generate-font-card
new file mode 100755
index 0000000..78e0423
--- /dev/null
+++ b/generate-font-card
@@ -0,0 +1,99 @@
+#!/bin/bash
+#
+# Render each and every font weight and size of the Terminus font to a
+# single PNG file to allow one at a glance checking that the font has
+# been converted correctly.
+#
+# Requirements:
+# * pango-view to render text to bitmaps
+# * ImageMagick (for identify and montage)
+
+set -e
+
+scriptdir="$(cd "$(dirname "$0")" && pwd)"
+imgbaseroot="terminus-font-card"
+
+# Default values
+default_identify="/usr/bin/identify"
+default_montage="/usr/bin/montage"
+default_pv="/usr/bin/pango-view"
+default_text_file="${scriptdir}/font-card.txt"
+
+# Unless set explictly, use default value
+MONTAGE="${MONTAGE:=${default_montage}}"
+IDENTIFY="${IDENTIFY:=${default_identify}}"
+PV="${PV:=${default_pv}}"
+TEXTFILE="${TEXTFILE:=${default_text_file}}"
+
+print_args() {
+ echo "Argument list:"
+ for arg
+ do
+ echo " * <<${arg}>>"
+ done
+}
+
+run() {
+ local fontname="${1:?No fontname given}"
+ local fontsize="${2:?No fontsize given}"
+ local image_fname="${3:?No image_fname given}"
+
+ local PV_CMD=(${PV})
+
+ # PV_CMD+=("--annotate=1")
+ # PV_CMD+=("--annotate=2")
+ # PV_CMD+=("--annotate=3")
+
+ PV_CMD+=("--no-display")
+ # PV_CMD+=("--single-par")
+ PV_CMD+=("--language=C")
+ # PV_CMD+=("--pixels")
+ PV_CMD+=("--font=${fontname} ${fontsize}")
+
+ PV_CMD+=("${TEXTFILE}")
+
+ PV_CMD+=("--output=${image_fname}")
+ IMAGE_LIST+=("${image_fname}")
+
+ print_args "${PV_CMD[@]}"
+ "${PV_CMD[@]}"
+
+ file "${image_fname}"
+}
+
+
+width=480
+height=120
+
+MONTAGE_CMD=(${MONTAGE})
+IMAGE_LIST=()
+FONT_SIZES=(12 14 16 18 20 22 24 28 32)
+FONT_NAMES=("Terminus Medium" "Terminus Bold")
+FONT_NAMES=("Terminus" "Terminus Bold")
+for fontsize in "${FONT_SIZES[@]}"
+do
+ for fontname in "${FONT_NAMES[@]}"
+ do
+ image_fname="${scriptdir}/${imgbaseroot}--${fontname}-${fontsize}.png"
+ run "$fontname" "$fontsize" "$image_fname"
+ MONTAGE_CMD+=(-label "${fontname} ${fontsize} ($(${IDENTIFY} -format "%[fx:w]x%[fx:h]" "${image_fname}"))")
+ MONTAGE_CMD+=("$image_fname")
+ MONTAGE_CMD+=(-repage "${width}x${height}>")
+ MONTAGE_CMD+=(-crop "${width}x${height}>")
+ done
+done
+
+echo "Images: ${IMAGE_LIST[@]}"
+
+montage_fname="${scriptdir}/${imgbaseroot}.png"
+MONTAGE_CMD+=(-tile "${#FONT_NAMES[@]}x${#FONT_SIZES[@]}")
+MONTAGE_CMD+=(-frame 5)
+MONTAGE_CMD+=(-geometry "${width}x${height}<+2+2>")
+MONTAGE_CMD+=(${montage_fname})
+
+print_args "${MONTAGE_CMD[@]}"
+"${MONTAGE_CMD[@]}"
+
+file "$montage_fname"
+
+# End of file.
diff --git a/sources b/sources
index e69de29..7abed12 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (terminus-font-4.49.1.tar.gz) = 2e3a99960c459a453b5879bebbebeb653f0a22060177bf75c67bbeb7d32cfe1acce9e74a88fdc42e299b6dc402e0708552487abd26e80e985c7d6059b0d445a8
diff --git a/terminus-fonts-README.fedora b/terminus-fonts-README.fedora
new file mode 100644
index 0000000..1dff9c1
--- /dev/null
+++ b/terminus-fonts-README.fedora
@@ -0,0 +1,14 @@
+========================================================================
+User Information for the Fedora **terminus-fonts** package
+========================================================================
+
+For most contemporary software, the **terminus-fonts** package will
+provide the Terminus font in the modern OpenType bitmap format.
+
+However, as of 2020-04, there is still software in widespread use
+which cannot use fonts in OpenType bitmap format like e.g. GNU Emacs
+26.
+
+If you want to use one of these software packges, you need to install
+the **terminus-fonts-legacy-x11** package to install the Terminus font
+in the legacy PCF format.
diff --git a/terminus-fonts-Xresources.example b/terminus-fonts-Xresources.example
new file mode 100644
index 0000000..2982391
--- /dev/null
+++ b/terminus-fonts-Xresources.example
@@ -0,0 +1,41 @@
+! =====================================================================
+! This is the ~/.Xresources file I use for xterm and GNU emacs on my
+! 118dpi and 125dpi Laptop displays.
+!
+! On lower resolution displays, you will probably want to use slightly
+! smaller sizes. Run xfontsel(1) to find out which sizes are available.
+! =====================================================================
+
+
+! =====================================================================
+! Emacs stuff
+! =====================================================================
+Emacs.font: -*-terminus-bold-r-*-*-20-*-*-*-*-*-*-*
+
+
+! =====================================================================
+! XTerm stuff
+! =====================================================================
+! Default and menu font
+XTerm*font: -*-terminus-bold-*-*-*-20-*-*-*-*-*-*-*
+! "Unreadable": Leave it actually unreadable.
+!XTerm*font1: -*-terminus-bold-r-*-*-20-*-*-*-*-*-*-*
+! "Tiny"
+XTerm*font2: -*-terminus-medium-*-*-*-12-*-*-*-*-*-*-*
+! "Small"
+XTerm*font3: -*-terminus-bold-*-*-*-14-*-*-*-*-*-*-*
+! "Medium"
+XTerm*font4: -*-terminus-bold-*-*-*-17-*-*-*-*-*-*-*
+! "Large"
+XTerm*font5: -*-terminus-bold-*-*-*-28-*-*-*-*-*-*-*
+! "Huge"
+XTerm*font6: -*-terminus-bold-*-*-*-32-*-*-*-*-*-*-*
+
+! Colors are a matter of personal preferences.
+XTerm*background: black
+XTerm*foreground: white
+
+
+! =====================================================================
+! End of file.
+! =====================================================================
diff --git a/terminus-fonts-console-README.fedora b/terminus-fonts-console-README.fedora
new file mode 100644
index 0000000..3f8caf8
--- /dev/null
+++ b/terminus-fonts-console-README.fedora
@@ -0,0 +1,78 @@
+========================================================================
+User Information for the Fedora **terminus-fonts-console** package
+========================================================================
+
+The console package just dumps the font files in the directory where
+the other console fonts are and does not do any setting up (for now).
+
+ * The difference between all those ter-????.psf.gz files is
+ explained in the file
+
+ /lib/kbd/consolefonts/README.terminus
+
+ * You can manually change the font for the Linux VGA textmode or
+ framebuffer console by running something like
+
+ /bin/setfont /lib/kbd/consolefonts/ter-u24b.psf.gz
+
+ Note that using a font of a different font size will change the
+ $COLUMNS and $LINES of the terminal together with the changed
+ font size.
+
+ * To make the above setting permanent, you need to tell your initramfs
+ and/or other init system to load the font.
+
+ The (config) files to adapt for that are
+
+ /etc/vconsole.conf
+ /etc/default/grub
+ /etc/grub2.cfg aka /boot/grub2/grub.cfg
+
+ and also your initramfs must contain the font file such as ter-u24b.psf:
+
+ /boot/initramfs-$(uname -r).img
+
+ Configuration changes:
+
+ 1. In /etc/vconsole.conf, add a line
+
+ FONT="ter-u24b"
+
+ 2. In /etc/default/grub, add an option
+
+ vconsole.font=ter-u24b
+
+ to the GRUB_CMDLINE_LINUX="..." definition.
+
+ At this point, there should be an easy and obvious way to propagate
+ those settings into grub.cfg and the initramfs. However, I do not
+ know it, so here are two ways to do it
+
+ 3a * Open /etc/grub2.cfg in an editor and add the vconsole.font
+ option to the appropriate "linux" command lines (same as
+ /etc/default/grub)
+
+ * Rebuild the initramfs. There might be a better way, but
+
+ yum reinstall kernel
+
+ might work.
+
+ 3b * Update /etc/grub2.cfg with options from /etc/default/grub (but
+ the generated grub2.cfg will look very differently than the
+ one maintained just by kernel installs and updates):
+
+ grub2-mkconfig -o /boot/grub2/grub.cfg
+
+ * Then rebuild a new initramfs with:
+
+ dracut -f
+
+ Verify that the initramfs contains the required font file:
+
+ [root@host ~]# lsinitrd /boot/initramfs-$(uname -r).img | grep consolefonts/ter-u24b
+ -rw-r--r-- 1 root root 2670 Feb 3 21:31 usr/lib/kbd/consolefonts/ter-u24b.psf.gz
+ [root@host ~]#
+
+ On the next boot, your framebuffer console should come up with a
+ beautiful Terminus font.
diff --git a/terminus-fonts-legacy-x11-README.fedora b/terminus-fonts-legacy-x11-README.fedora
new file mode 100644
index 0000000..e4fb638
--- /dev/null
+++ b/terminus-fonts-legacy-x11-README.fedora
@@ -0,0 +1,15 @@
+========================================================================
+User Information for the Fedora **terminus-fonts-legacy-x11** package
+========================================================================
+
+The **terminus-fonts-legacy-x11** package registers the Terminus font
+with both fonts-conf(5) and the newer /etc/X11/fontpath.d mechanism
+used by newer libXfont and xfs(1) versions.
+
+This makes the font available for both
+
+ * traditional programs using libXfont or xfs (like xterm, xfontsel,
+ and older GNU Emacs)
+
+ * slightly more modern programs using fontconfig but not OpenType
+ yet (like GNU Emacs 26).
diff --git a/terminus-fonts.rpmlintrc b/terminus-fonts.rpmlintrc
new file mode 100644
index 0000000..783c0a9
--- /dev/null
+++ b/terminus-fonts.rpmlintrc
@@ -0,0 +1,4 @@
+# -*- python -*-
+
+addFilter(r'hardcoded-library-path in /lib/kbd/consolefonts')
+addFilter(r'configure-without-libdir-spec')
diff --git a/terminus-fonts.spec b/terminus-fonts.spec
new file mode 100644
index 0000000..cf39623
--- /dev/null
+++ b/terminus-fonts.spec
@@ -0,0 +1,826 @@
+########################################################################
+# Top definitions from spectemplate-fonts-1-full.spec
+########################################################################
+
+Version: 4.49.1
+Release: %autorelease -b 6
+URL: http://terminus-font.sourceforge.net/
+
+%global foundry %{nil}
+%global fontlicense OFL-1.1
+#
+# The following directives are lists of space-separated shell globs
+# – matching files associated with the font family,
+# – as they exist in the build root,
+# — at the end of the %%build stage:
+# – legal files (licensing…)
+%global fontlicenses OFL.TXT
+# – exclusions from the “fontlicenses” list
+%global fontlicensesex %{nil}
+# – documentation files
+%global fontdocs README README-BG docs/README.fedora
+# – exclusions from the “fontdocs” list
+%global fontdocsex %{fontlicenses}
+
+%global fontfamily terminus
+%global fontsummary Clean fixed width font
+# A container for additional subpackage declarations.
+%global fontpkgheader %{expand:
+#Obsoletes:
+}
+#
+# More shell glob lists:
+# – font family files
+%global fonts ter-*.otb
+# – exclusions from the “fonts” list)
+%global fontsex %{nil}
+# – fontconfig files
+%global fontconfs %{SOURCE10}
+# – exclusions from the “fontconfs” list
+%global fontconfsex %{nil}
+# – appstream files, if any (generated automatically otherwise)
+%global fontappstreams %{nil}
+# – exclusions from the “fontappstreams” list
+%global fontappstreamsex %{nil}
+#
+%global fontdescription %{expand:
+The Terminus Font is a clean, fixed with bitmap font designed for long\
+(8 and more hours per day) work with computers.\
+\
+I contains more than 1300 characters, covers about 120 language sets and\
+supports ISO8859-1/2/5/7/9/13/15/16, Paratype-PT154/PT254, KOI8-R/U/E/F,\
+Esperanto, and many IBM, Windows and Macintosh code pages, as well as\
+the IBM VGA, vt100 and xterm pseudo graphic characters.\
+\
+The sizes present are 6x12, 8x14, 8x16, 10x18, 10x20, 11x22, 12x24,\
+14x28, and 16x32. The weights are normal and bold (except for 6x12),\
+plus CRT VGA-bold for 8x14 and 8x16.
+}
+
+########################################################################
+# Local macro definitions (i.e. not from spectemplate-fonts-1-full.spec)
+########################################################################
+
+# The basename for upstream's source tarball
+%global archivename terminus-font-%{version}
+
+# Copied from the kbd package.
+# The %%{_exec_prefix}/lib part is correct even on x86_64.
+# This is where kbd data files (like console fonts) are installed.
+# No static libraries, shared objects, or executables are placed here.
+%global kbddir %{_exec_prefix}/lib/kbd
+
+# This is the directory for the actualy console fonts.
+%global console_fontdir %{kbddir}/consolefonts
+
+# The ExcludeArch from the grub2.spec file
+#
+# There might be a better way to detect whether this platform has
+# grub2 available, but this should do the job at least for the time
+# being.
+%if 0%{?fedora} >= 36
+%global grub2_exclude_arches s390 s390x %{ix86}
+%else
+%if 0%{?fedora} >= 29
+%global grub2_exclude_arches s390 s390x
+%else
+%global grub2_exclude_arches s390 s390x %{arm}
+%endif
+%endif
+
+# Owned by the grub2-common package
+%global grub2_fontdir /usr/share/grub
+
+%global legacy_x11_fontdir /usr/share/fonts/terminus-fonts-legacy-x11
+
+# Font catalog
+%global catalog %{_sysconfdir}/X11/fontpath.d
+
+%if %{?epoch: 1}%{?!epoch: 0}
+%global evr %{epoch}:%{version}-%{release}
+%else
+%global evr %{version}-%{release}
+%endif
+
+
+# From spectemplate-fonts-1-full.spec
+Source0: https://downloads.sourceforge.net/terminus-font/%{archivename}.tar.gz
+Source10: 63-%{fontpkgname}.conf
+
+# Local definitions
+Source21: %{name}-console-README.fedora
+Source22: %{name}-legacy-x11-README.fedora
+Source23: %{name}-Xresources.example
+Source24: %{name}-README.fedora
+
+# For generating *.otb (OpenType bitmap font) files
+Source42: bitmapfonts2otb.py
+BuildRequires: make
+BuildRequires: /usr/bin/ftdump
+BuildRequires: python3 > 3.5.0
+
+# For generating legacy fonts (*.pcf)
+BuildRequires: /usr/bin/bdftopcf
+BuildRequires: mkfontdir
+
+
+ExcludeArch: %{grub2_exclude_arches}
+BuildRequires: /usr/bin/grub2-mkfont
+
+
+%fontpkg
+
+
+%package console
+Requires: kbd
+# For /usr/lib/kbd
+Requires: kbd-misc
+Summary: Clean fixed width font (console version)
+License: OFL-1.1
+
+%description console
+%fontdescription
+This package contains the fonts to use with the Linux console.
+
+
+%ifnarch %{grub2_exclude_arches}
+%package grub2
+Requires: grub2-common
+Summary: Clean fixed width font (grub2 version)
+License: OFL-1.1
+
+%description grub2
+%fontdescription
+This package contains the fonts to use with the grub2 boot loader.
+%endif
+
+
+%package legacy-x11
+Summary: Clean fixed width font (legacy PCF version)
+License: OFL-1.1
+# Require the fontconfig file
+Requires: %{name} = %{evr}
+
+%description legacy-x11
+%fontdescription
+This package contains the font variants to use with software still
+relying on legacy PCF font rendering methods (e.g. GNU Emacs 26).
+
+
+%prep
+%setup -q -n %{archivename}
+# Convert upstream files to UTF-8 and Unix end of lines if necessary
+# Optional arguments:
+# -e [encoding] source OS encoding (auto-detected otherwise)
+# -n do not recode files, only adjust folding and end of lines
+#linuxtext *.txt
+cp -p "%{SOURCE42}" bin/
+patch -s -p1 -b --suffix .br1 -fuzz=0 -i alt/br1.diff
+patch -s -p1 -b --suffix .dv1 -fuzz=0 -i alt/dv1.diff
+patch -s -p1 -b --suffix .ij1 -fuzz=0 -i alt/ij1.diff
+patch -s -p1 -b --suffix .td1 -fuzz=0 -i alt/td1.diff
+iconv -f WINDOWS-1251 -t utf-8 -o README-BG README-BG
+
+
+%build
+./configure --prefix=%{_prefix} \
+ --x11dir=%{legacy_x11_fontdir} --psfdir=%{console_fontdir}
+env GZIP=--best make %{?_smp_mflags} PCF='$(PCF_10646_1) $(PCF_8BIT)' pcf psf psf-vgaw otb
+
+ls -l *.otb
+
+%ifnarch %{grub2_exclude_arches}
+# generate *.pf2 for the grub2 bootloader
+for bdf in ter-*[bn].bdf; do
+ /usr/bin/grub2-mkfont -o "$(basename "$bdf" .bdf).pf2" "$bdf"
+done
+%endif
+
+# Fedora specific docs and examples
+mkdir -p docs/console docs/legacy-x11
+cp -p "%{SOURCE21}" docs/console/README.fedora
+cp -p "%{SOURCE22}" docs/legacy-x11/README.fedora
+cp -p "%{SOURCE23}" docs/legacy-x11/Xresources.example
+cp -p "%{SOURCE24}" docs/README.fedora
+
+%fontbuild
+
+
+%install
+make DESTDIR="%{buildroot}" PCF='$(PCF_10646_1) $(PCF_8BIT)' install-psf install-psf-ref install-psf-vgaw install-pcf
+
+%ifnarch %{grub2_exclude_arches}
+# install *.pf2 for the grub2 bootloader
+install -m 0755 -d %{buildroot}%{grub2_fontdir}
+install -m 0644 -t %{buildroot}%{grub2_fontdir} ter-*.pf2
+%endif
+
+# We cannot run mkfontdir in %%post because %%post is generated by %%_font_pkg
+install -m 0755 -d %{buildroot}%{catalog}
+
+ln -s "$(echo '%{catalog}/%{fontfamily}:unscaled' | sed -e 's|[^/]||g' -e 's|/|../|g' -e 's|/../$||')%{legacy_x11_fontdir}" "%{buildroot}%{catalog}/%{fontfamily}:unscaled"
+test -d "%{buildroot}%{catalog}/%{fontfamily}:unscaled/"
+
+mkfontdir %{buildroot}%{legacy_x11_fontdir}
+test -f "%{buildroot}%{catalog}/%{fontfamily}:unscaled/fonts.dir"
+
+# Check automatic fonts do not contain unmatched wildcards
+font_counter=0
+for fntfile in %{fonts}
+do
+ if test -f "${fntfile}"; then
+ font_counter="$(expr "${font_counter}" + 1)"
+ else
+ echo "Missing font file or wildcard: ${fntfile}"
+ exit 2
+ fi
+done
+
+# Check automatic fonts are a potentially valid number of files
+if test "$font_counter" -lt 18 || test "$font_counter" -gt 18
+then
+ echo "Weird number of font files: $font_counter"
+ exit 2
+fi
+
+%fontinstall
+
+cat<