me
/
guix
Archived
1
0
Fork 0

gnu: font-google-noto: Prefer variable fonts and split outputs.

* gnu/packages/fonts.scm (font-google-noto)
[arguments]<#:phase>: Prefer variable fonts.
Install hinted TTFs into "ttf" output.
[outputs]: Add "ttf".

Suggested-by: Jiwei YANG <yangjiwei@protonmail.com>
Change-Id: Icac2927fb6c35d08504c379e273a5fc03b08ac46
master
Hilton Chain 2024-02-27 20:46:19 +08:00
parent 17b1350f68
commit 954ff7b302
No known key found for this signature in database
GPG Key ID: ACC66D09CA528292
1 changed files with 45 additions and 0 deletions

View File

@ -1092,6 +1092,51 @@ utilities to ease adding new glyphs to the font.")
(sha256
(base32 "087jg8ahpq35xwyrmvm9ivxl0wjic2j4r28bbrwqmgdva9brms40"))))
(build-system font-build-system)
(arguments
(list
#:modules
'((guix build font-build-system)
(guix build utils)
(ice-9 ftw))
#:phases
#~(modify-phases %standard-phases
(replace 'install
(lambda _
(define* (install source #:optional (output #$output))
(let ((%install (assoc-ref %standard-phases 'install)))
(with-directory-excursion source
(%install #:outputs `(("out" . ,output))))))
(define (scan-directory name)
(scandir name (lambda (file)
(not (member file '("." ".." "LICENSE"))))))
(define (install-font-variant variant)
"Given font variant VARIANT, install one of its formats,
variable TTF or OTF or TTF."
(with-directory-excursion variant
(let ((formats (scan-directory ".")))
(cond
((member "variable-ttf" formats)
(install "variable-ttf"))
((member "otf" formats)
(install "otf"))
((member "ttf" formats)
(install "ttf"))))))
(define (install-font font)
"Given FONT, install one of its variants, either full or
unhinted, and install its hinted variant into 'ttf' output. According to the
source, unhinted and hinted variants are always available."
(with-directory-excursion font
(if (member "full" (scan-directory "."))
(install-font-variant "full")
(install-font-variant "unhinted"))
(install "hinted" #$output:ttf)))
(with-directory-excursion "fonts"
(for-each install-font (scan-directory "."))))))))
(outputs '("out" "ttf"))
(home-page "https://www.google.com/get/noto/")
(synopsis "Fonts to cover all languages")
(description "Google Noto Fonts is a family of fonts designed to support