gnu: Add cl-ana.statistical-learning.
[jackhill/guix/guix.git] / gnu / packages / fonts.scm
index b38816f..83c9744 100644 (file)
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
@@ -7,23 +7,27 @@
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
 ;;; Copyright © 2016 Jookia <166291@gmail.com>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Toni Reina <areina@riseup.net>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
 ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
 ;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
 ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
 ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2019 Alva <alva@skogen.is>
+;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (guix git-download)
   #:use-module (guix build-system font)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -61,7 +68,7 @@
 (define-public font-ibm-plex
   (package
     (name "font-ibm-plex")
-    (version "1.0.1")
+    (version "2.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -69,7 +76,7 @@
                     "v" version "/OpenType.zip"))
               (sha256
                (base32
-                "0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795"))))
+                "1lv65z3qnqgh2w36daf5wyz0ma9rg1qj9s9lzlnva8l7q3h8c9b8"))))
     (build-system font-build-system)
     (home-page "https://github.com/IBM/plex")
     (synopsis "IBM Plex typeface")
@@ -180,7 +187,7 @@ itself."))))
 (define-public font-cantarell
   (package
     (name "font-abattis-cantarell")
-    (version "0.0.25")
+    (version "0.111")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
@@ -188,8 +195,11 @@ itself."))))
                                   "/cantarell-fonts-" version ".tar.xz"))
               (sha256
                (base32
-                "0zvkd8cm1cg2919v1js9qmzwa02sjl7qajj3gcvgqvai1fm2i8hl"))))
-    (build-system gnu-build-system)
+                "05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5"))))
+    (build-system meson-build-system)
+    (native-inputs
+     `(("appstream-glib" ,appstream-glib)
+       ("gettext" ,gettext-minimal))) ;for msgfmt
     (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
     (synopsis "Cantarell sans-serif typeface")
     (description "The Cantarell font family is a contemporary Humanist
@@ -199,15 +209,15 @@ sans-serif designed for on-screen reading.  It is used by GNOME@tie{}3.")
 (define-public font-lato
   (package
     (name "font-lato")
-    (version "2.010")
+    (version "2.010")                   ; also update description
     (source (origin
               (method url-fetch/zipbomb)
-              (uri (string-append "http://www.latofonts.com/download/Lato2OFL.zip"))
+              (uri (string-append "https://www.latofonts.com/download/Lato2OFL.zip"))
               (sha256
                (base32
                 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
     (build-system font-build-system)
-    (home-page "http://www.latofonts.com/lato-free-fonts/")
+    (home-page "https://www.latofonts.com/lato-free-fonts/")
     (synopsis "Lato sans-serif typeface")
     (description
      "Lato is a sanserif typeface family.  It covers over 3000 glyphs per style.
@@ -267,19 +277,17 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
 (define-public font-liberation
   (package
     (name "font-liberation")
-    (version "2.00.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://releases.pagure.org/"
-                                  "liberation-fonts/liberation-fonts-ttf-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q"))))
+    (version "2.00.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
+                           "files/2926169/liberation-fonts-ttf-" version ".tar.gz"))
+       (sha256
+        (base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi"))))
     (build-system font-build-system)
-    (home-page "https://pagure.io/liberation-fonts/")
-    (synopsis
-     "Fonts compatible with Arial, Times New Roman, and Courier New")
+    (home-page "https://github.com/liberationfonts")
+    (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
     (description
      "The Liberation font family aims at metric compatibility with
 Arial, Times New Roman, and Courier New.
@@ -344,33 +352,37 @@ Biolinum is available in both Regular and Bold weights.")
 (define-public font-terminus
   (package
     (name "font-terminus")
-    (version "4.40")
+    (version "4.47")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "mirror://sourceforge/terminus-font/terminus-font-"
-               version
-               "/terminus-font-"
-               version
-               ".tar.gz"))
-        (sha256
-         (base32
-          "0487cyx5h1f0crbny5sg73a22gmym5vk1i7646gy7hgiscj2rxb4"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/terminus-font/terminus-font-"
+                           version "/terminus-font-" version ".tar.gz"))
+       (sha256
+        (base32 "15qjcpalcxjiwsjgjg5k88vkwp56cs2nnx4ghya6mqp4i1c206qg"))))
     (build-system gnu-build-system)
+    (outputs (list "out" "pcf-8bit"))
+    (arguments
+     `(#:tests? #f                      ; no test target in tarball
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-more-bits
+           ;; X11 8-bit code pages aren't installed by default (they were
+           ;; until version 4.46).  Build and install them separately.
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke "make" "pcf-8bit" make-flags)))
+         (add-after 'install 'install-more-bits
+           (lambda* (#:key make-flags outputs #:allow-other-keys)
+             (let ((pcf-8bit (assoc-ref outputs "pcf-8bit")))
+               (apply invoke "make" "install-pcf-8bit" (string-append "prefix="
+                                                                      pcf-8bit)
+                      make-flags)))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("perl" ,perl)
-       ("bdftopcf" ,bdftopcf)
+     `(("bdftopcf" ,bdftopcf)
        ("font-util" ,font-util)
-       ("mkfontdir" ,mkfontdir)))
-    (arguments
-     `(#:configure-flags (list
-                          ;; install fonts into subdirectory of package output
-                          ;; instead of font-util-?.?.?/share/fonts/X11
-                          (string-append "--with-fontrootdir="
-                                         %output "/share/fonts/X11"))
-       #:tests? #f)) ;; No test target in tarball
+       ("mkfontdir" ,mkfontdir)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python)))
     (home-page "http://terminus-font.sourceforge.net/")
     (synopsis "Simple bitmap programming font")
     (description "Terminus Font is a clean, fixed-width bitmap font, designed
@@ -382,14 +394,14 @@ for long periods of working with computers (8 or more hours per day).")
     (name "font-adobe-source-han-sans")
     (version "1.004")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/adobe-fonts/source-han-sans/archive/"
-                    version "R.tar.gz"))
-              (file-name (string-append "source-han-sans-" version "R.tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/adobe-fonts/source-han-sans.git")
+                     (commit (string-append version "R"))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ssx0fw90sy6mj8fv8fv4dgzszpqwbmwpjnlx16g4pvaqzdmybbz"))))
+                "0zm884d8fp5gvirq324050kqv7am9khyqhs9kk4r4rr3jzn61jpk"))))
     (outputs '("out"                 ; OpenType/CFF Collection (OTC), 121 MiB.
                "cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
     (build-system trivial-build-system)
@@ -398,20 +410,12 @@ for long periods of working with computers (8 or more hours per day).")
        #:builder
        (begin
          (use-modules (guix build utils))
-         (let ((tar  (string-append (assoc-ref %build-inputs
-                                               "tar")
-                                    "/bin/tar"))
-               (PATH (string-append (assoc-ref %build-inputs
-                                               "gzip")
-                                    "/bin"))
-               (install-opentype-fonts
+         (let ((install-opentype-fonts
                 (lambda (fonts-dir out)
                   (copy-recursively fonts-dir
                                     (string-append (assoc-ref %outputs out)
                                                    "/share/fonts/opentype")))))
-           (setenv "PATH" PATH)
-           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
-           (chdir (string-append "source-han-sans-" ,version "R"))
+           (chdir (assoc-ref %build-inputs "source"))
            (install-opentype-fonts "OTC" "out")
            (install-opentype-fonts "SubsetOTF/CN" "cn")
            (install-opentype-fonts "SubsetOTF/JP" "jp")
@@ -419,9 +423,6 @@ for long periods of working with computers (8 or more hours per day).")
            (install-opentype-fonts "SubsetOTF/TW" "tw")
            (for-each delete-file (find-files %output "\\.zip$"))
            #t))))
-    (native-inputs
-     `(("gzip" ,gzip)
-       ("tar" ,tar)))
     (home-page "https://github.com/adobe-fonts/source-han-sans")
     (synopsis "Pan-CJK fonts")
     (description
@@ -505,12 +506,11 @@ variants.")
                     "mirror://sourceforge/wqy/wqy-zenhei/" version
                     "%20%28Fighting-state%20RC1%29/wqy-zenhei-"
                     version ".tar.gz"))
-              (file-name (string-append "wqy-zenhei-" version ".tar.gz"))
               (sha256
                (base32
                 "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"))))
     (build-system font-build-system)
-    (home-page "http://wenq.org/wqy2/")
+    (home-page "https://wenq.org/wqy2/")
     (synopsis "CJK font")
     (description
      "WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline
@@ -522,7 +522,7 @@ this font is over 35,000, including over 21,000 Chinese Hanzi.  This font has
 full coverage of the GBK (CP936) charset, CJK Unified Ideographs, as well as
 the code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
 ko (Korean) locales for @code{fontconfig}.")
-    ;; GPLv2 with font embedding exception
+    ;; GPLv2 with font embedding exception.
     (license license:gpl2)))
 
 (define-public font-wqy-microhei
@@ -607,13 +607,13 @@ Heros, Pagella, Schola, Termes.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://www.marksimonson.com/assets/content/fonts/"
+                    "https://www.marksimonson.com/assets/content/fonts/"
                     "AnonymousPro-" version ".zip"))
               (sha256
                (base32
                 "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6"))))
     (build-system font-build-system)
-    (home-page "http://www.marksimonson.com/fonts/view/anonymous-pro")
+    (home-page "https://www.marksimonson.com/fonts/view/anonymous-pro")
     (synopsis "Fixed-width fonts designed with coding in mind")
     (description "Anonymous Pro is a family of four fixed-width fonts designed
 with coding in mind.  Anonymous Pro features an international, Unicode-based
@@ -621,18 +621,42 @@ character set, with support for most Western and Central European Latin-based
 languages, plus Greek and Cyrillic.")
     (license license:silofl1.1)))
 
+(define-public font-anonymous-pro-minus
+  (package
+    (inherit font-anonymous-pro)
+    (name "font-anonymous-pro-minus")
+    ;; The -Minus variant doesn't necessarily track the regular version above.
+    (version "1.003")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.marksimonson.com/assets/content/fonts/"
+                           "AnonymousProMinus-" version ".zip"))
+       (sha256
+        (base32 "1p2n91jja37d2cshp5pjwld9lq0v7gnpk7ywwn2blq7k46q6vq38"))))
+    (synopsis "Fixed-width fonts designed with coding in mind, without bitmaps")
+    (description "Anonymous Pro is a family of four fixed-width fonts designed
+with coding in mind.  Anonymous Pro features an international, Unicode-based
+character set, with support for most Western and Central European Latin-based
+languages, plus Greek and Cyrillic.
+
+Anonymous Pro Minus is identical to Anonymous Pro, minus its embedded bitmaps
+for use at smaller text sizes")))
+
 (define-public font-gnu-unifont
   (package
     (name "font-gnu-unifont")
-    (version "11.0.03")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://gnu/unifont/unifont-" version "/unifont-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
+    (version "12.1.03")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (list
+             (string-append "http://unifoundry.com/pub/unifont/unifont-"
+                            version "/unifont-" version ".tar.gz")
+             (string-append "mirror://gnu/unifont/unifont-"
+                            version "/unifont-" version ".tar.gz")))
+       (sha256
+        (base32 "10mr3ax19v5pa6a791fk2j3k45fpa8n5r36kq9gs8lk95wfnxmf1"))))
     (build-system gnu-build-system)
     (outputs '("out"   ; TrueType version
                "pcf"   ; PCF (bitmap) version
@@ -682,15 +706,15 @@ utilities to ease adding new glyphs to the font.")
 (define-public font-google-noto
   (package
     (name "font-google-noto")
-    (version "20170403")
-    (source (origin
-              (method url-fetch/zipbomb)
-              (uri (string-append "https://noto-website.storage.googleapis.com/"
-                                  "pkgs/Noto-hinted.zip"))
-              (file-name (string-append name "-" version ".zip"))
-              (sha256
-               (base32
-                "1p92a6dvs7wqwjfpp1ahr9z1wz35am0l8r78521383spd77bmrfm"))))
+    (version "20171025")
+    (source
+     (origin
+       (method url-fetch/zipbomb)
+       (uri (string-append "https://noto-website-2.storage.googleapis.com/"
+                           "pkgs/Noto-hinted.zip"))
+       (file-name (string-append name "-" version ".zip"))
+       (sha256
+        (base32 "1bp42whyin7xcgmrbnfvz3rvd98xmxaz3ywqybbjmqzwaa9llyw3"))))
     (build-system font-build-system)
     (home-page "https://www.google.com/get/noto/")
     (synopsis "Fonts to cover all languages")
@@ -824,7 +848,7 @@ glyph designs, not just an added slant.")
     (synopsis "Typeface designed for source code")
     (description
      "Hack is designed to be a workhorse typeface for code.  It expands upon
-the Bitstream Vera & DejaVu projects, provides 1561 glyphs, and includes
+the Bitstream Vera & DejaVu projects, provides over 1,500 glyphs, and includes
 Powerline support.")
     (license
      ;; See https://github.com/source-foundry/Hack/issues/271 for details.
@@ -932,13 +956,14 @@ Sans Pro family.")
     (name "font-fira-sans")
     (version "4.202")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mozilla/Fira/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mozilla/Fira.git")
+                     (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1r6zdnqqp4bgq5nmgqbj0vvj7x1h9w912851ggbl9wc7fdjnjqnq"))))
+                "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
     (build-system font-build-system)
     (home-page "https://mozilla.github.io/Fira/")
     (synopsis "Mozilla's Fira Sans Font")
@@ -948,7 +973,7 @@ Sans Pro family.")
 (define-public font-fira-code
   (package
     (name "font-fira-code")
-    (version "1.205")
+    (version "1.206")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
@@ -956,7 +981,7 @@ Sans Pro family.")
                                   "/FiraCode_" version ".zip"))
               (sha256
                (base32
-                "13bxgf59g6fw5191xclcjzn22hj8jk9k5jjwf7vz07mpjbgadcl5"))))
+                "02r1lcp0c9135ps71v66wdvbsrcxwirrp0blqsa1xbjkkq2rwgj3"))))
     (build-system font-build-system)
     (home-page "https://mozilla.github.io/Fira/")
     (synopsis "Monospaced font with programming ligatures")
@@ -971,17 +996,36 @@ correct spacing.")
 (define-public font-awesome
   (package
    (name "font-awesome")
-   (version "5.7.2")
+   ;; XXX The build scripts of version 5 are not freely licensed and
+   ;; so we have to stick with version 4 for now:
+   ;; <https://bugs.gnu.org/32916>
+   (version "4.7.0")
    (source (origin
-            (method url-fetch)
-            (uri (string-append
-                  "https://use.fontawesome.com/releases/v" version "/"
-                  "fontawesome-free-" version "-desktop.zip"))
+            (method git-fetch)
+            (uri (git-reference
+                   (url "https://github.com/FortAwesome/Font-Awesome.git")
+                   (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
             (sha256
              (base32
-              "0v8nfyjkzgi33i5arpjqzs16mgh2hx02sf906b8a9k1k7yfqpbgs"))))
+              "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
    (build-system font-build-system)
-   (home-page "https://fontawesome.com")
+   (arguments
+    '(#:phases
+      (modify-phases %standard-phases
+        (replace 'install
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (source (string-append (getcwd) "/fonts"))
+                   (fonts (string-append out "/share/fonts")))
+              (for-each (lambda (file)
+                          (install-file file (string-append fonts "/truetype")))
+                        (find-files source "\\.(ttf|ttc)$"))
+              (for-each (lambda (file)
+                          (install-file file (string-append fonts "/opentype")))
+                        (find-files source "\\.(otf|otc)$"))
+              #t))))))
+   (home-page "https://fontawesome.com/")
    (synopsis "Font that contains a rich iconset")
    (description
     "Font Awesome is a full suite of pictographic icons for easy scalable
@@ -994,13 +1038,14 @@ vector graphics.")
     (version "1.11.4")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/sunaku/tamzen-font/archive/"
-                           "Tamzen-" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/sunaku/tamzen-font.git")
+              (commit (string-append "Tamzen-" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ryd7gp6qiwaqw73jqbmh4kwlriyd8xykh4j7z90z8xp9fm7lrys"))))
+         "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
@@ -1008,40 +1053,29 @@ vector graphics.")
        (begin
          (use-modules (guix build utils))
 
-         (let ((tar      (string-append (assoc-ref %build-inputs "tar")
-                                        "/bin/tar"))
-               (PATH     (string-append (assoc-ref %build-inputs "gzip")
-                                        "/bin"))
-               (font-dir (string-append %output "/share/fonts/misc"))
-               (psf-dir (string-append %output "/share/kbd/consolefonts"))
-               (src-pcf-dir (string-append "tamzen-font-Tamzen-"
-                                            ,version "/pcf")))
-           (setenv "PATH" PATH)
-           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
+         (let* ((out      (assoc-ref %outputs "out"))
+                (font-dir (string-append out "/share/fonts/misc"))
+                (psf-dir  (string-append out "/share/kbd/consolefonts")))
+           (chdir (assoc-ref %build-inputs "source"))
            (mkdir-p font-dir)
            (mkdir-p psf-dir)
-           (chdir src-pcf-dir)
            (for-each (lambda (pcf)
                        (install-file pcf font-dir))
-                     (find-files "." "\\.pcf$"))
-           (chdir "../psf")
+                     (find-files "pcf" "\\.pcf$"))
            (for-each (lambda (psf)
                        (install-file psf psf-dir))
-                     (find-files "." "\\.psf$"))
+                     (find-files "psf" "\\.psf$"))
            #t))))
-    (native-inputs
-     `(("tar" ,tar)
-       ("gzip" ,gzip)))
     (home-page "https://github.com/sunaku/tamzen-font")
     (synopsis "Monospaced bitmap font for console and X11")
     (description
-     "Tamzen is a fork of the @code{Tamsyn} font.  It is programatically forked
+     "Tamzen is a fork of the @code{Tamsyn} font.  It is programmatically forked
 from @code{Tamsyn} version 1.11, backporting glyphs from older versions while
 deleting deliberately empty glyphs (which are marked as unimplemented) to
 allow secondary/fallback fonts to provide real glyphs at those codepoints.
 
 The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols,
-which are programatically injected with @code{bitmap-font-patcher} and
+which are programmatically injected with @code{bitmap-font-patcher} and
 later hand-tweaked with the gbdfed(1) editor:
 
 @enumerate
@@ -1103,15 +1137,15 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
 (define-public font-iosevka
   (package
     (name "font-iosevka")
-    (version "1.12.5")
-    (source (origin
-              (method url-fetch/zipbomb)
-              (uri (string-append
-                    "https://github.com/be5invis/Iosevka/releases/download/v"
-                    version "/iosevka-pack-" version ".zip"))
-              (sha256
-               (base32
-                "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi"))))
+    (version "2.2.0")
+    (source
+     (origin
+       (method url-fetch/zipbomb)
+       (uri (string-append "https://github.com/be5invis/Iosevka"
+                           "/releases/download/v" version
+                           "/ttc-iosevka-" version ".zip"))
+       (sha256
+        (base32 "14jfv6pkh1w44m89z2fn44kgmmqaf0057lk71advwfbm3q313y0x"))))
     (build-system font-build-system)
     (home-page "https://be5invis.github.io/Iosevka/")
     (synopsis "Coders' typeface, built from code")
@@ -1122,6 +1156,20 @@ programming.  Iosevka is completely generated from its source code.")
     (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
                    license:bsd-3)))) ; supporting code
 
+(define-public font-iosevka-slab
+  (package
+    (inherit font-iosevka)
+    (name "font-iosevka-slab")
+    (version (package-version font-iosevka))
+    (source
+     (origin
+       (method url-fetch/zipbomb)
+       (uri (string-append "https://github.com/be5invis/Iosevka"
+                           "/releases/download/v" version
+                           "/ttc-iosevka-slab-" version ".zip"))
+       (sha256
+        (base32 "186d0pl13znysll3hvzm1ixn7ad616g6dhla55sbh6ki2j04b8ml"))))))
+
 (define-public font-go
   (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
         (revision "1"))
@@ -1159,14 +1207,14 @@ monospace, slab-serif fonts.")
     (name "font-google-material-design-icons")
     (version "3.0.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/google/material-design-icons/archive/"
-                    version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/google/material-design-icons.git")
+                     (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "018i3za9r6kf6svci33z09lc5pr5yz4164m8gzzwjzzqcrng0p5j"))
-              (file-name (string-append name "-" version ".tar.gz"))))
+                "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
     (build-system font-build-system)
     (home-page "http://google.github.io/material-design-icons")
     (synopsis "Icon font of Google Material Design icons")
@@ -1185,13 +1233,14 @@ resolutions.")
     (version "20160623")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/antijingoist/open-dyslexic/"
-                           "archive/" version "-Stable.tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/antijingoist/open-dyslexic.git")
+              (commit (string-append version "-Stable"))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0al0j9kb32kfavcpq1kigsd36yzvf5yhzqhds0jkh7ngbxyxwkx4"))))
+         "0nr7s92nk1kbr459154idnib977ixc70z6g9mbra3lp73nyrmyvz"))))
     (build-system font-build-system)
     (home-page "https://opendyslexic.org")
     (synopsis "Font for dyslexics and high readability")
@@ -1355,6 +1404,29 @@ italics shapes.  This package provides only TrueType files (TTF).")
     (home-page "https://software.sil.org/gentium/")
     (license license:silofl1.1)))
 
+(define-public font-sil-andika
+  (package
+    (name "font-sil-andika")
+    (version "5.000")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://software.sil.org/downloads/r/andika/Andika-"
+                    version ".zip"))
+              (sha256
+               (base32
+                "01zm7p32gxfwmv7h3cfj2vx59846w2y6rxqy67grn2dyjh8pljv0"))))
+    ;; As for Gentium (see above), the TTF files are considered source.
+    (build-system font-build-system)
+    (synopsis "Sans serif font designed especially for literacy use")
+    (description
+     "Andika SIL is a sans serif, Unicode-compliant font designed especially
+for literacy use, taking into account the needs of beginning readers.  The
+focus is on clear, easy-to-perceive letterforms that will not be readily
+confused with one another.  This package provides only TrueType files (TTF).")
+    (home-page "https://software.sil.org/andika/")
+    (license license:silofl1.1)))
+
 (define-public font-sil-charis
   (package
     (name "font-sil-charis")
@@ -1399,3 +1471,97 @@ files (TTF).")
 formatting.")
     (home-page "https://madmalik.github.io/mononoki/")
     (license license:silofl1.1)))
+
+(define-public font-public-sans
+  (package
+    (name "font-public-sans")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uswds/public-sans.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "12ccj7ph3pg962d52d3slbvd44gwfm6bb2846dxyf1xc5h2iwhdv"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; remove versions of predecessor font
+                  (delete-file-recursively "fonts/_archive")
+                  #t))))
+    (build-system font-build-system)
+    (home-page "https://public-sans.digital.gov/")
+    (synopsis "Neutral typeface for interfaces, text, and headings")
+    (description
+     "Public Sans is a strong, neutral, sans-serif typeface for text or
+display based on Libre Franklin.")
+    (license license:silofl1.1)))
+
+(define-public font-hermit
+  (package
+    (name "font-hermit")
+    (version "2.0")
+    (source (origin
+              (method url-fetch/tarbomb)
+              (uri (string-append "https://pcaro.es/d/otf-hermit-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0"))))
+    (build-system font-build-system)
+    (arguments
+     `(#:tests? #f))
+    (home-page "https://pcaro.es/p/hermit/")
+    (synopsis "Monospace font")
+    (description
+     "Hermit is a monospace font designed to be clear, pragmatic and very
+readable.  Its creation has been focused on programming.  Every glyph was
+carefully planned and calculated, according to defined principles and rules.
+For this reason, Hermit is coherent and regular.
+
+Symbols stand out from common text.  Dots and commas are easily seen, and
+operators are clear even when not surrounded by spaces.  Similar characters
+have been designed to be very distinguishable from each other.")
+    (license license:silofl1.1)))
+
+(define-public font-dseg
+  (package
+    (name "font-dseg")
+    (version "0.45")
+    (source
+      (origin
+        (method url-fetch/zipbomb)
+        (uri
+          (string-append "https://github.com/keshikan/DSEG/"
+                         "releases/download/v" version
+                         "/fonts-DSEG_v"
+                         (string-concatenate (string-split version #\.))
+                         ".zip"))
+        (sha256
+          (base32
+            "0v8sghh4vl286faf8pvi74znz07pyf0qii8z4wjllisqwc35sx72"))))
+    (build-system font-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (font-dir (string-append out "/share/fonts"))
+                    (truetype-dir (string-append font-dir "/truetype")))
+               (with-directory-excursion
+                 (string-append "fonts-DSEG_v"
+                                (apply string-append (string-split ,version
+                                                                   #\.)))
+                 (for-each (lambda (f) (install-file f truetype-dir))
+                           (find-files "." "\\.ttf$"))
+               #t)))))))
+    (home-page "https://www.keshikan.net/fonts-e.html")
+    (synopsis "DSEG: 7-segment and 14-segment fonts")
+    (description
+     "DSEG is a font family that imitates seven- and fourteen-segment LCD
+displays (7SEG, 14SEG).  DSEG includes the roman alphabet and symbol glyphs.
+This package provides the TrueType fonts.")
+    (license license:silofl1.1)))