summaryrefslogtreecommitdiff
path: root/gnu/packages/fonts.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/fonts.scm')
-rw-r--r--gnu/packages/fonts.scm140
1 files changed, 106 insertions, 34 deletions
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index df1446380f..e39b441020 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -42,6 +42,8 @@
;;; Copyright © 2021 Sergiu Ivanov <sivanov@colimite.fr>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Paul A. Patience <paul@apatience.com>
+;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
+;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1039,42 +1041,82 @@ work well in user interface (UI) environments.")
Sans Pro family.")
(license license:silofl1.1)))
-(define-public font-fira-mono
- (package
- (name "font-fira-mono")
- (version "3.206")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://carrois.com/downloads/fira_mono_3_2/"
- "FiraMonoFonts"
- (string-replace-substring version "." "")
- ".zip"))
- (sha256
- (base32
- "1z65x0dw5dq6rs6p9wyfrir50rlh95vgzsxr8jcd40nqazw4jhpi"))))
- (build-system font-build-system)
- (home-page "https://mozilla.github.io/Fira/")
- (synopsis "Mozilla's monospace font")
- (description "This is the typeface used by Mozilla in Firefox OS.")
- (license license:silofl1.1)))
-
(define-public font-fira-sans
+ ;; Fira Sans v4.203 (which corresponds to Fira Mono v3.206) is the final
+ ;; version to include UFO sources. It is the same version packaged by other
+ ;; notable distributors, including Google Fonts. Note that the "reserved
+ ;; font name" was removed by the copyright holders.
+ ;;
+ ;; The upstream release includes a "Fira Code" which "is Fira Mono 3.206
+ ;; with less Line Space (1.0) – does not include programming ligatures". We
+ ;; do not package that: our 'font-fira-code' package (like e.g. Debian's
+ ;; "fonts-firacode") is the much better known Fira Code font by Nikita
+ ;; Prokopov, which is an older, independent adaptation of Fira Mono. For the
+ ;; historical relationship between them, see:
+ ;; https://github.com/mozilla/Fira/issues/218
+ ;;
+ ;; For a lengthy discussion of the available sources and versions,
+ ;; see: https://github.com/LiberalArtist/FiraSans/
+ ;;
+ ;; See also:
+ ;; - https://github.com/mozilla/Fira/pull/219
+ ;; - https://github.com/bBoxType/FiraSans/issues/4#issuecomment-695833327
(package
(name "font-fira-sans")
- (version "4.202")
+ (version "4.203")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mozilla/Fira")
- (commit version)))
+ (url "https://github.com/bBoxType/FiraSans")
+ (commit "a606927401bcc3951587339fee53aa882856b51b")))
(file-name (git-file-name name version))
(sha256
(base32
- "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
+ "1r9kb7v9jg83nnxwkl6gx9ix1rng3ksr7v33qrm46qb4fhwsyc2n"))))
(build-system font-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ (ice-9 regex)
+ (guix build utils)
+ (guix build font-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define-values (pkg-name _version)
+ (package-name->name+version
+ (strip-store-file-name (assoc-ref outputs "out"))))
+ (define variant
+ (string-capitalize
+ (match:substring (string-match "fira-([a-z]+)" pkg-name) 1)))
+ (match (find-files "." (format #f "^Fira_~a_[0-9]" variant)
+ #:directories? #t)
+ ((dir)
+ (chdir dir))))))))
+ ;; While the repository has moved,
+ ;; this specimen still works well as the home-page:
(home-page "https://mozilla.github.io/Fira/")
- (synopsis "Mozilla's Fira Sans Font")
- (description "This is the typeface used by Mozilla in Firefox OS.")
+ (synopsis
+ "Humanist sans-serif with numerous weights emphasizing legibility")
+ (description "Fira Sans is a humanist sans-serif typeface with an emphasis
+on legibility, commissioned by Mozilla from Erik Spiekermann and Ralph du
+Carrois. The large family includes 2,709 glyphs in normal, condensed, and
+compressed cuts at 11 weights (plus 6 experimental weights), each with
+corresponding italics.
+
+The package @code{font-fira-mono} provides a corresponding monospace cut.")
+ (license license:silofl1.1)))
+
+(define-public font-fira-mono
+ (package
+ (inherit font-fira-sans)
+ (name "font-fira-mono")
+ (version "3.206")
+ (synopsis "Monospace cut of Fira Sans")
+ (description
+ "Fira Mono is a monospace cut of Fira Sans (see @code{font-fira-sans}).
+It includes regular, medium, and bold weights.")
(license license:silofl1.1)))
(define-public font-fira-go
@@ -1095,30 +1137,41 @@ Sans Pro family.")
(synopsis "Multilingual extension of the Fira Sans font family")
(description "FiraGO is a multilingual extension of the Fira Sans font
family. Based on the Fira Sans 4.3 glyph set, FiraGO adds support for the
-Arabic, Devanagari, Georgian, Hebrew and Thai scripts.")
+Arabic, Devanagari, Georgian, Hebrew and Thai scripts.
+
+Note that FiraGO does not include corresponding source.")
+ ;; See:
+ ;; - https://github.com/bBoxType/FiraGO/issues/42
+ ;; - https://github.com/bBoxType/FiraSans/issues/4#issuecomment-699882058
+ ;; For further discussion, see comments on font-fira-sans.
(license license:silofl1.1)))
(define-public font-fira-code
(package
(name "font-fira-code")
- (version "5.2")
+ (version "6.2")
(source
(origin
+ ;; changing to git-fetch would require building from source
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/tonsky/FiraCode/releases/"
"download/" version
"/Fira_Code_v" version ".zip"))
(sha256
- (base32 "1zayrb6k0gd7xdvx7yx44dpip767q0bzhqwf4j6nf8nx02z746jj"))))
+ (base32 "0y9y7snyrr30z75kxz2zgh6q6hizcbzsf41xv6gxh97bm1dr2j89"))))
(build-system font-build-system)
- (home-page "https://mozilla.github.io/Fira/")
+ ;; This font began as an independent derived work of Fira Mono.
+ ;; It was never affiliated with Mozilla.
+ ;; See comments on font-fira-sans for further discussion.
+ (home-page "https://github.com/tonsky/FiraCode")
(synopsis "Monospaced font with programming ligatures")
(description
- "Fira Code is an extension of the Fira Mono font containing a set of ligatures
-for common programming multi-character combinations. This is just a font rendering
-feature: underlying code remains ASCII-compatible. This helps to read and understand
-code faster. For some frequent sequences like .. or //, ligatures allow us to
-correct spacing.")
+ "Fira Code is a monospace font by Nikita Prokopov featuring ligatures for
+common programming multi-character combinations. It began as an extension of
+Fira Mono. The ligatures are just a font rendering feature: underlying code
+remains ASCII-compatible. They are designed to help people to read and
+understand code faster. For some frequent sequences like @code{..} or
+@code{//}, ligatures are used to simulate proportional spacing.")
(license license:silofl1.1)))
(define-public font-awesome
@@ -1833,6 +1886,25 @@ formatting.")
(home-page "https://madmalik.github.io/mononoki/")
(license license:silofl1.1)))
+(define-public font-plemoljp
+ (package
+ (name "font-plemoljp")
+ (version "1.2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/yuru7/PlemolJP/releases/download/"
+ "v" version "/PlemolJP_v" version ".zip"))
+ (sha256
+ (base32
+ "03cwzkqg09c87lmsx9xfzdrlgjml93bhhp1dqq3qkpdfww30wkaw"))))
+ (build-system font-build-system)
+ (home-page "https://github.com/yuru7/PlemolJP")
+ (synopsis "Plex Mono Language JP")
+ (description "PlemolJP (Plex Mono Language JP) is a Japanese programming
+font that is a composite of IBM Plex Mono and IBM Plex Sans JP.")
+ (license license:silofl1.1)))
+
(define-public font-public-sans
(package
(name "font-public-sans")