gnu: Add cl-ana.statistical-learning.
[jackhill/guix/guix.git] / gnu / packages / fonts.scm
index 8961f85..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>
 ;;; 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
@@ -611,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 "12.0.01")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "mirror://gnu/unifont/unifont-" version "/unifont-"
-                    version ".tar.gz"))
-              (sha256
-               (base32
-                "059j82z6z4wqyy3261ns0zg2b2vh2wvxxfbsa9hra9xasism49vb"))))
+    (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
@@ -672,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")
@@ -967,14 +1001,31 @@ correct spacing.")
    ;; <https://bugs.gnu.org/32916>
    (version "4.7.0")
    (source (origin
-            (method url-fetch)
-            (uri (string-append "http://fontawesome.io/assets/"
-                                name "-" version ".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
-              "1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf"))))
+              "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
    (build-system font-build-system)
-   (home-page "http://fontawesome.io")
+   (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
@@ -1018,13 +1069,13 @@ vector graphics.")
     (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
@@ -1353,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")
@@ -1419,9 +1493,75 @@ formatting.")
                   #t))))
     (build-system font-build-system)
     (home-page "https://public-sans.digital.gov/")
-    (synopsis
-     "Strong, neutral typeface for interfaces, text, and headings")
+    (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
-     "Public Sans is a strong, neutral, principles-driven, open-source
-typeface for text or display based on Libre Franklin.")
+     "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)))