gnu: Add wl-clipboard.
[jackhill/guix/guix.git] / gnu / packages / fonts.scm
index cb46fee..8831500 100644 (file)
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2018 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,20 +7,22 @@
 ;;; 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 ng0 <ng0@n0.is>
+;;; Copyright © 2016, 2017, 2018 Nils Gillmann <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 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Toni Reina <areina@riseup.net>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 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 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2018 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #:use-module (gnu packages python)
   #:use-module (gnu packages xorg))
 
+(define-public font-ibm-plex
+  (package
+    (name "font-ibm-plex")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/IBM/plex/releases/download/"
+                    "v" version "/OpenType.zip"))
+              (sha256
+               (base32
+                "0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795"))))
+    (build-system font-build-system)
+    (home-page "https://github.com/IBM/plex")
+    (synopsis "IBM Plex typeface")
+    (description "This package provides the Plex font family.  It comes in a
+Sans, Serif, Mono and Sans Condensed, all with roman and true italics.  The
+fonts have been designed to work well in user interface (UI) environments as
+well as other mediums.")
+    (license license:silofl1.1)))
+
 (define-public font-inconsolata
   (package
     (name "font-inconsolata")
@@ -77,13 +100,14 @@ in print.  With attention to detail for high resolution rendering.")
     (name "font-ubuntu")
     (version "0.83")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://font.ubuntu.com/download/ubuntu-font-family-"
-                    version ".zip"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://salsa.debian.org/fonts-team/fonts-ubuntu")
+                    (commit (string-append "upstream/" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hjvq2x758dx0sfwqhzflns0ns035qm7h6ygskbx1svzg517sva5"))))
+                "1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
     (build-system font-build-system)
     (home-page "http://font.ubuntu.com/")
     (synopsis "The Ubuntu Font Family")
@@ -115,8 +139,9 @@ TrueType (TTF) files.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((conf-dir (string-append (assoc-ref outputs "out")
                                             "/share/fontconfig/conf.avail")))
-               (copy-recursively "fontconfig" conf-dir)))))))
-    (home-page "http://dejavu-fonts.org/")
+               (copy-recursively "fontconfig" conf-dir)
+               #t))))))
+    (home-page "https://dejavu-fonts.github.io/")
     (synopsis "Vera font family derivate with additional characters")
     (description "DejaVu provides an expanded version of the Vera font family
 aiming for quality and broader Unicode coverage while retaining the original
@@ -175,32 +200,12 @@ sans-serif designed for on-screen reading.  It is used by GNOME@tie{}3.")
     (name "font-lato")
     (version "2.010")
     (source (origin
-              (method url-fetch)
+              (method url-fetch/zipbomb)
               (uri (string-append "http://www.latofonts.com/download/Lato2OFL.zip"))
               (sha256
                (base32
                 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
-    (build-system trivial-build-system)
-    (arguments
-     `(#:modules ((guix build utils))
-       #:builder (begin
-                   (use-modules (guix build utils)
-                                (srfi srfi-26))
-
-                   (let ((PATH     (string-append (assoc-ref %build-inputs
-                                                             "unzip")
-                                                  "/bin"))
-                         (font-dir (string-append %output
-                                                  "/share/fonts/truetype")))
-                     (setenv "PATH" PATH)
-                     (system* "unzip" (assoc-ref %build-inputs "source"))
-
-                     (mkdir-p font-dir)
-                     (for-each (lambda (ttf)
-                                 (install-file ttf font-dir))
-                               (find-files "." "\\.ttf$"))))))
-
-    (native-inputs `(("unzip" ,unzip)))
+    (build-system font-build-system)
     (home-page "http://www.latofonts.com/lato-free-fonts/")
     (synopsis "Lato sans-serif typeface")
     (description
@@ -303,37 +308,24 @@ The Liberation Fonts are sponsored by Red Hat.")
               (sha256
                (base32
                 "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"))))
-    (build-system gnu-build-system)
+    (build-system font-build-system)
     (arguments
-     `(#:tests? #f ; there are no tests
-       #:modules ((guix build utils)
-                  (guix build gnu-build-system)
-                  (srfi srfi-1)
-                  (srfi srfi-26))
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'build
+         (add-before 'install 'build
            (lambda _
              (let ((compile
                     (lambda (name ext)
-                      (zero? (system*
-                              "fontforge" "-lang=ff"
-                              "-c" (string-append "Open('" name "');"
-                                                  "Generate('"
-                                                  (basename name "sfd") ext
-                                                  "')"))))))
-               (every (lambda (name)
-                        (and (compile name "ttf")
-                             (compile name "otf")))
-                      (find-files "." "\\.sfd$")))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((font-dir (string-append (assoc-ref outputs "out")
-                                            "/share/fonts/truetype")))
-               (mkdir-p font-dir)
-               (for-each (cut install-file <> font-dir)
-                         (find-files "." "\\.(otf|ttf)$"))
+                      (invoke
+                       "fontforge" "-lang=ff"
+                       "-c" (string-append "Open('" name "');"
+                                           "Generate('"
+                                           (basename name "sfd") ext
+                                           "')")))))
+               (for-each (lambda (name)
+                           (and (compile name "ttf")
+                                (compile name "otf")))
+                         (find-files "." "\\.sfd$"))
                #t))))))
     (native-inputs
      `(("fontforge" ,fontforge)))
@@ -417,14 +409,15 @@ for long periods of working with computers (8 or more hours per day).")
                                     (string-append (assoc-ref %outputs out)
                                                    "/share/fonts/opentype")))))
            (setenv "PATH" PATH)
-           (system* tar "xvf" (assoc-ref %build-inputs "source"))
+           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
            (chdir (string-append "source-han-sans-" ,version "R"))
            (install-opentype-fonts "OTC" "out")
            (install-opentype-fonts "SubsetOTF/CN" "cn")
            (install-opentype-fonts "SubsetOTF/JP" "jp")
            (install-opentype-fonts "SubsetOTF/KR" "kr")
            (install-opentype-fonts "SubsetOTF/TW" "tw")
-           (for-each delete-file (find-files %output "\\.zip$"))))))
+           (for-each delete-file (find-files %output "\\.zip$"))
+           #t))))
     (native-inputs
      `(("gzip" ,gzip)
        ("tar" ,tar)))
@@ -440,15 +433,19 @@ text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
     (license license:silofl1.1)))
 
 (define-public font-cns11643
+  ;; Since upstream doesn't provide any version numbers, the date of the last
+  ;; edit is used, taken from https://data.gov.tw/dataset/5961
+  ;; XXX: The source is also updated in-place, so it may be desirable to mirror
+  ;; it elsewhere to avoid suddenly losing the current source file.
   (package
     (name "font-cns11643")
-    (version "98.1.20170524")
+    (version "98.1.20180605")
     (source (origin
               (method url-fetch)
               (uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
               (sha256
                (base32
-                "1iad6rklxkx03ji1fav9faq7cmqkci3i6pcyg2ilvh984j5qzhq3"))))
+                "000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw"))))
     (build-system font-build-system)
     (home-page "http://www.cns11643.gov.tw/AIDB/welcome.do")
     (synopsis "CJK TrueType fonts, TW-Kai and TW-Sung")
@@ -626,7 +623,7 @@ languages, plus Greek and Cyrillic.")
 (define-public font-gnu-unifont
   (package
     (name "font-gnu-unifont")
-    (version "10.0.07")
+    (version "11.0.03")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -634,16 +631,14 @@ languages, plus Greek and Cyrillic.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1js8dn4v4pv8jqprsxa1fv4fs3hqhm9x4dj19fg9qgc8fx7k0v0k"))))
+                "171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav"))))
     (build-system gnu-build-system)
-    (outputs '("out" ; TrueType version
-               "pcf" ; PCF (bitmap) version
-               "psf" ; PSF (console) version
-               "bin" ; Utilities to manipulate '.hex' format
-               ))
+    (outputs '("out"   ; TrueType version
+               "pcf"   ; PCF (bitmap) version
+               "psf"   ; PSF (console) version
+               "bin")) ; Utilities to manipulate '.hex' format
     (arguments
-     '(#:parallel-build? #f ; parallel build fails
-       #:tests? #f          ; no check target
+     '(#:tests? #f          ; no check target
        #:phases
        (modify-phases %standard-phases
          (replace
@@ -659,16 +654,17 @@ languages, plus Greek and Cyrillic.")
                    (psf (string-append (assoc-ref outputs "psf")
                                        "/share/consolefonts"))
                    (bin (assoc-ref outputs "bin")))
-              (system* "make"
-                       (string-append "PREFIX=" bin)
-                       (string-append "TTFDEST=" ttf)
-                       (string-append "PCFDEST=" pcf)
-                       (string-append "CONSOLEDEST=" psf)
-                       "install")
+              (invoke "make"
+                      (string-append "PREFIX=" bin)
+                      (string-append "TTFDEST=" ttf)
+                      (string-append "PCFDEST=" pcf)
+                      (string-append "CONSOLEDEST=" psf)
+                      "install")
               ;; Move Texinfo file to the right place.
               (mkdir (string-append bin "/share/info"))
-              (rename-file (string-append bin "/share/unifont/unifont.info.gz")
-                           (string-append bin "/share/info/unifont.info.gz"))
+              (invoke "gzip" "-9n" "doc/unifont.info")
+              (install-file "doc/unifont.info.gz"
+                            (string-append bin "/share/info"))
               #t))))))
     (inputs
      `(("perl" ,perl))) ; for utilities
@@ -757,41 +753,51 @@ It contains the following fonts and styles:
 (define-public font-fantasque-sans
   (package
     (name "font-fantasque-sans")
-    (version "1.7.1")
+    (version "1.7.2")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/belluzj/fantasque-sans/"
-                           "archive/v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/belluzj/fantasque-sans.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "07fpy53k2x2nz5q61swkab6cfk9gw2kc4x4brsj6zjgbm16fap85"))))
+         "1gjranq7qf20rfxnpxsckv1hl35nzsal0rjs475nhfbpqy5wmly6"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("ttfautohint" ,ttfautohint)
        ("woff-tools" ,woff-tools)
        ("fontforge" ,fontforge)
        ("woff2" ,woff2)
-       ("ttf2eot" ,ttf2eot)))
+       ("ttf2eot" ,ttf2eot)
+       ("zip" ,zip)))
     (arguments
      `(#:tests? #f                 ;test target intended for visual inspection
        #:phases (modify-phases %standard-phases
                   (delete 'configure)   ;no configuration
+                  (add-before 'build 'xrange->range
+                    ;; Rather than use a python2 fontforge, just replace the
+                    ;; offending function.
+                    (lambda _
+                      (substitute* "Scripts/fontbuilder.py"
+                        (("xrange") "range"))
+                      #t))
                   (replace 'install
                     ;; 'make install' wants to install to ~/.fonts, install to
-                    ;; output instead.
+                    ;; output instead.  Install only the "Normal" variant.
                     (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"))
                              (opentype-dir (string-append font-dir "/opentype"))
                              (webfonts-dir (string-append font-dir "/webfonts")))
-                        (copy-recursively "OTF" opentype-dir)
-                        (for-each (lambda (f) (install-file f truetype-dir))
-                                  (find-files "." "\\.ttf$"))
-                        (copy-recursively "Webfonts" webfonts-dir)
-                        #t))))))
+                        (with-directory-excursion "Variants/Normal"
+                          (copy-recursively "OTF" opentype-dir)
+                          (for-each (lambda (f) (install-file f truetype-dir))
+                                    (find-files "." "\\.ttf$"))
+                          (copy-recursively "Webfonts" webfonts-dir)
+                          #t)))))))
     (synopsis "Font family with a monospaced variant for programmers")
     (description
      "Fantasque Sans Mono is a programming font designed with functionality in
@@ -803,7 +809,7 @@ glyph designs, not just an added slant.")
 (define-public font-hack
   (package
     (name "font-hack")
-    (version "3.000")
+    (version "3.002")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append
@@ -811,7 +817,7 @@ glyph designs, not just an added slant.")
                     version "/Hack-v" version "-ttf.zip"))
               (sha256
                (base32
-                "0h6slqg25a6cq57k6rh5hmnk8dxbprmf8shs4iyj1pc83sw6b1r3"))))
+                "18fpaczj2rxfwgnrqpkxq0qn01parhmngglc4i1n3gchyzdsrh0x"))))
     (build-system font-build-system)
     (home-page "https://sourcefoundry.org/hack/")
     (synopsis "Typeface designed for source code")
@@ -891,7 +897,7 @@ designed to work well in user interface environments.")
 (define-public font-fira-code
   (package
     (name "font-fira-code")
-    (version "1.204")
+    (version "1.205")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
@@ -899,7 +905,7 @@ designed to work well in user interface environments.")
                                   "/FiraCode_" version ".zip"))
               (sha256
                (base32
-                "17wky221b3igrqhmxgmqiyv1xdfn0nw471vzhpkrvv1w2w1w1k18"))))
+                "13bxgf59g6fw5191xclcjzn22hj8jk9k5jjwf7vz07mpjbgadcl5"))))
     (build-system font-build-system)
     (home-page "https://mozilla.github.io/Fira/")
     (synopsis "Monospaced font with programming ligatures")
@@ -959,7 +965,7 @@ vector graphics.")
                (src-pcf-dir (string-append "tamzen-font-Tamzen-"
                                             ,version "/pcf")))
            (setenv "PATH" PATH)
-           (system* tar "xvf" (assoc-ref %build-inputs "source"))
+           (invoke tar "xvf" (assoc-ref %build-inputs "source"))
            (mkdir-p font-dir)
            (mkdir-p psf-dir)
            (chdir src-pcf-dir)
@@ -1178,7 +1184,7 @@ itself."))))
                          (otf-dir (string-append %output
                                                  "/share/fonts/opentype")))
                      (setenv "PATH" PATH)
-                     (system* "unzip" (assoc-ref %build-inputs "source"))
+                     (invoke "unzip" (assoc-ref %build-inputs "source"))
 
                      (mkdir-p ttf-dir)
                      (mkdir-p otf-dir)
@@ -1187,7 +1193,8 @@ itself."))))
                                (find-files "." "\\.ttf$"))
                      (for-each (lambda (otf)
                                  (install-file otf otf-dir))
-                               (find-files "." "\\.otf$"))))))
+                               (find-files "." "\\.otf$"))
+                     #t))))
     (native-inputs `(("unzip" ,unzip)))
     (home-page "http://www.impallari.com/dosis")
     (synopsis "Very simple, rounded, sans serif family")
@@ -1200,62 +1207,40 @@ It comes in 7 incremental weights:
 ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
     (license license:silofl1.1)))
 
-(define-public culmus
+(define-public font-culmus
   (package
-    (name "culmus")
-    (version "0.132")
+    (name "font-culmus")
+    (version "0.133")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://sourceforge.net/projects/"
-                            "culmus/files/culmus/" version "/culmus-src-"
-                            version ".tar.gz"))
-        (sha256
-         (base32
-          "1djxalm26r7bcq33ckmfa15xfs6pmqzvcl64d5lqa1dl01bl4j4z"))))
-    (build-system gnu-build-system)
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://sourceforge.net/projects/"
+                           "culmus/files/culmus/" version "/culmus-src-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
+    (build-system font-build-system)
     (arguments
-     `(#:tests? #f ; no tests
-       #:modules ((guix build utils)
-                  (guix build gnu-build-system)
-                  (srfi srfi-1)
-                  (srfi srfi-26))
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'build
+         (add-before 'install 'build
            (lambda _
              (let ((compile
                     (lambda (name ext)
-                      (zero? (system*
-                              "fontforge" "-lang=ff"
-                              "-c" (string-append "Open('" name "');"
-                                                  "Generate('"
-                                                  (basename name "sfd") ext
-                                                  "')"))))))
+                      (invoke
+                       "fontforge" "-lang=ff"
+                       "-c" (string-append "Open('" name "');"
+                                           "Generate('"
+                                           (basename name "sfd") ext
+                                           "')")))))
                ;; This part based on the fonts shipped in the non-source package.
-               (every (lambda (name)
-                        (compile name "ttf"))
-                      (find-files "." "^[^Nachlieli].*\\.sfd$"))
-               (every (lambda (name)
-                        (compile name "otf"))
-                      (find-files "." "^Nachlieli.*\\.sfd$"))
-               #t)))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out     (assoc-ref %outputs "out"))
-                    (ttf     (string-append out "/share/fonts/truetype"))
-                    (otf     (string-append out "/share/fonts/opentype"))
-                    (license (string-append out "/share/doc/" ,name)))
-               (for-each (lambda (file)
-                           (install-file file ttf))
-                         (find-files "." "\\.ttf$"))
-               (for-each (lambda (file)
-                           (install-file file otf))
-                         (find-files "." "\\.otf$"))
-               (for-each (lambda (file)
-                           (install-file file license))
-                         '("GNU-GPL" "LICENSE" "LICENSE-BITSTREAM"))
+               (for-each (lambda (name)
+                           (compile name "ttf"))
+                         (find-files "." "^[^Nachlieli].*\\.sfd$"))
+               (for-each (lambda (name)
+                           (compile name "otf"))
+                         (find-files "." "^Nachlieli.*\\.sfd$"))
                #t))))))
     (native-inputs
      `(("fontforge" ,fontforge)))
@@ -1267,3 +1252,124 @@ serif (Nachlieli) and monospaced (Miriam Mono) trivials.  Also included Miriam,
 Drugulin, Aharoni, David, Hadasim etc.  Cantillation marks support is
 available in Keter YG.")
     (license license:gpl2))) ; consult the LICENSE file included
+
+(define-public font-lohit
+  (package
+    (name "font-lohit")
+    (version "20140220")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"))))
+    (build-system font-build-system)
+    (home-page "https://pagure.io/lohit")
+    (synopsis "Lohit TrueType Indic fonts")
+    (description "Lohit is a font family designed to cover Indic scripts.
+Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
+Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
+Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
+    (license license:silofl1.1)))
+
+(define-public font-blackfoundry-inria
+  (package
+    (name "font-blackfoundry-inria")
+    (version "1.200")
+    (home-page "https://github.com/BlackFoundry/InriaFonts")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8"))
+              (file-name (string-append name "-" version "-checkout"))))
+    ;; XXX: There are .ufo directories (the "source") so in theory we should
+    ;; be able to rebuild TTF and OTF files with FontForge.  Unfortunately a
+    ;; command like:
+    ;;
+    ;;  fontforge -lang=ff -c "Open('InriaSans-Regular.ufo'); Generate('foo.ttf');"
+    ;;
+    ;; segfaults in '_UFOLoadGlyph', which calls out to libpython.  :-/
+    ;; In the meantime we ship the precompiled OTF and TTF files.
+    (build-system font-build-system)
+    (synopsis "Inria Sans and Inria Serif type family")
+    (description
+     "Inria Sans and Inria Serif are the two members of a type family designed
+for Inria, a public research institute in computer science and mathematics.")
+    (license license:silofl1.1)))
+
+(define-public font-sil-gentium
+  (package
+    (name "font-sil-gentium")
+    (version "5.000")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://software.sil.org/downloads/r/gentium/GentiumPlus-"
+                    version ".zip"))
+              (sha256
+               (base32
+                "0m7189870hha217n1vgpmf89mwggrxkh679ffi1lxpnjggqi2n9k"))))
+    ;; Note: The zip file provides TTF files only, but the developer release,
+    ;; which contains additional files, has a 'SOURCES.txt' file that says
+    ;; that "the primary source files for the fonts are the fonts themselves".
+    ;; Thus it looks like the TTF can be considered source.
+    (build-system font-build-system)
+    (synopsis "Serif font for the Cyrillic, Greek, and Latin alphabets")
+    (description
+     "Gentium is a typeface family designed to enable the diverse ethnic
+groups around the world who use the Latin, Cyrillic and Greek scripts to
+produce readable, high-quality publications.  The font comes with regular and
+italics shapes.  This package provides only TrueType files (TTF).")
+    (home-page "https://software.sil.org/gentium/")
+    (license license:silofl1.1)))
+
+(define-public font-sil-charis
+  (package
+    (name "font-sil-charis")
+    (version "5.000")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://software.sil.org/downloads/r/charis/CharisSIL-"
+                    version ".zip"))
+              (sha256
+               (base32
+                "1zcvw37f1a7gkml3yfm6hxh93844llm7xj4w52600qq3ndrm8gjy"))))
+    ;; As for Gentium (see above), the TTF files are considered source.
+    (build-system font-build-system)
+    (synopsis "Serif font for the Cyrillic and Latin alphabets")
+    (description
+     "Charis SIL is a Unicode-based font family that supports the wide range
+of languages that use the Latin and Cyrillic scripts.  It is specially
+designed to make long texts pleasant and easy to read, even in less than ideal
+reproduction and display environments.  This package provides only TrueType
+files (TTF).")
+    (home-page "https://software.sil.org/charis/")
+    (license license:silofl1.1)))
+
+(define-public font-mononoki
+  (package
+    (name "font-mononoki")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/madmalik/mononoki/")
+                    (commit version)))
+              (sha256
+               (base32
+                "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
+              (file-name (git-file-name name version))))
+    (build-system font-build-system)
+    (synopsis "Font for programming and code review")
+    (description
+     "Mononoki is a typeface by Matthias Tellen, created to enhance code
+formatting.")
+    (home-page "https://madmalik.github.io/mononoki/")
+    (license license:silofl1.1)))