diff options
Diffstat (limited to 'gnu/packages/fonts.scm')
-rw-r--r-- | gnu/packages/fonts.scm | 140 |
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") |