Merge branch 'master' into staging
[jackhill/guix/guix.git] / gnu / packages / fonts.scm
CommitLineData
86f1537d 1;;; GNU Guix --- Functional package management for GNU
4c89dc35 2;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
b18e5945 3;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org>
822efdff 4;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
16191117 5;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
692784dd 6;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
e93b88f7 7;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
d28fa5cc 8;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
df320991 9;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
3c986a7d 10;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
b6ecac93 11;;; Copyright © 2016 Jookia <166291@gmail.com>
f85cafde 12;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
73c8d39c 13;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
30acf2f9 14;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
4affa918 15;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
c3e2a247 16;;; Copyright © 2016 Toni Reina <areina@riseup.net>
5dc8a3ad 17;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
83421fc7 18;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
446e1d51 19;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
d5b09129 20;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
dcfa0acd 21;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
ed248424 22;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
42ecb96e 23;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
270750d4 24;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
3c5e1364 25;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
62246843 26;;; Copyright © 2019, 2020 Jens Mølgaard <jens@zete.tk>
1a6482d4 27;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
50867421 28;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
93b3ef19 29;;; Copyright © 2019 Alva <alva@skogen.is>
600f680d 30;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
5d94702e 31;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
c2cf286c 32;;; Copyright © 2020 Amin Bandali <bandali@gnu.org>
3bf45ff4 33;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
0161862d 34;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
5483a2d0 35;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
3c102716 36;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
a8c7d4b0 37;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
f3396e78 38;;; Copyright © 2020 Simen Endsjø <simendsjo@gmail.com>
5abed7ca 39;;; Copyright © 2020 Tim Van den Langenbergh <tmt_vdl@gmx.com>
ce574004 40;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
86f1537d
AE
41;;;
42;;; This file is part of GNU Guix.
43;;;
44;;; GNU Guix is free software; you can redistribute it and/or modify it
45;;; under the terms of the GNU General Public License as published by
46;;; the Free Software Foundation; either version 3 of the License, or (at
47;;; your option) any later version.
48;;;
49;;; GNU Guix is distributed in the hope that it will be useful, but
50;;; WITHOUT ANY WARRANTY; without even the implied warranty of
51;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
52;;; GNU General Public License for more details.
53;;;
54;;; You should have received a copy of the GNU General Public License
55;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
56
57(define-module (gnu packages fonts)
6e1d7aa9 58 #:use-module (ice-9 regex)
71be99b8 59 #:use-module (guix utils)
b5b73a82 60 #:use-module ((guix licenses) #:prefix license:)
86f1537d
AE
61 #:use-module (guix packages)
62 #:use-module (guix download)
49dbae54 63 #:use-module (guix git-download)
b2f89c19 64 #:use-module (guix build-system font)
d41bb065 65 #:use-module (guix build-system gnu)
bd15da3a 66 #:use-module (guix build-system meson)
86f1537d 67 #:use-module (guix build-system trivial)
56b7a338 68 #:use-module (gnu packages base)
5dca64fc 69 #:use-module (gnu packages bash)
d41bb065 70 #:use-module (gnu packages compression)
47268eec 71 #:use-module (gnu packages fontutils)
bd15da3a
KK
72 #:use-module (gnu packages gettext)
73 #:use-module (gnu packages glib)
ed248424 74 #:use-module (gnu packages gtk)
d41bb065 75 #:use-module (gnu packages perl)
47268eec
AE
76 #:use-module (gnu packages pkg-config)
77 #:use-module (gnu packages python)
ed248424 78 #:use-module (gnu packages python-xyz)
148585c2 79 #:use-module (gnu packages xorg))
86f1537d 80
270750d4
CR
81(define-public font-ibm-plex
82 (package
83 (name "font-ibm-plex")
57680360 84 (version "4.0.2")
270750d4
CR
85 (source (origin
86 (method url-fetch)
87 (uri (string-append
88 "https://github.com/IBM/plex/releases/download/"
89 "v" version "/OpenType.zip"))
90 (sha256
91 (base32
57680360 92 "17bd84ic7z9hkcjy4bwnh4z51bnkh2vrjzwvs9g6lwzmxjswa5b6"))))
270750d4
CR
93 (build-system font-build-system)
94 (home-page "https://github.com/IBM/plex")
95 (synopsis "IBM Plex typeface")
96 (description "This package provides the Plex font family. It comes in a
97Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The
98fonts have been designed to work well in user interface (UI) environments as
99well as other mediums.")
100 (license license:silofl1.1)))
101
477ac94b 102(define-public font-inconsolata
dede51a1
ED
103 (package
104 (name "font-inconsolata")
901f2607
TGR
105 (version "3.000")
106 (source
107 (origin
108 (method url-fetch)
109 (uri (string-append "https://github.com/googlefonts/Inconsolata/"
110 "releases/download/v" version "/fonts_otf.zip"))
111 (sha256
112 (base32 "1wavvv86nwsqm5sbmnkv1bprj7l7zdrkxpvjy6w8yag93k6hrlx1"))))
b2f89c19 113 (build-system font-build-system)
fb7e50bd 114 (home-page "https://levien.com/type/myfonts/inconsolata.html")
dede51a1
ED
115 (synopsis "Monospace font")
116 (description "A monospace font, designed for code listings and the like,
117in print. With attention to detail for high resolution rendering.")
118 (license license:silofl1.1)))
119
e93b88f7
ED
120(define-public font-ubuntu
121 (package
122 (name "font-ubuntu")
29f9abb4 123 (version "0.83")
e93b88f7 124 (source (origin
96cae1b4
JN
125 (method git-fetch)
126 (uri (git-reference
127 (url "https://salsa.debian.org/fonts-team/fonts-ubuntu")
128 (commit (string-append "upstream/" version))))
129 (file-name (git-file-name name version))
e93b88f7
ED
130 (sha256
131 (base32
96cae1b4 132 "1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
59786588 133 (build-system font-build-system)
e93b88f7
ED
134 (home-page "http://font.ubuntu.com/")
135 (synopsis "The Ubuntu Font Family")
136 (description "The Ubuntu Font Family is a unique, custom designed font
137that has a very distinctive look and feel. This package provides the
138TrueType (TTF) files.")
139 (license
140 (license:non-copyleft
141 "http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt"
142 "Ubuntu Font License v1.0"))))
143
5e6bdf06 144(define-public font-dejavu
72f210ea 145 (package
5e6bdf06 146 (name "font-dejavu")
d7284b6a 147 (version "2.37")
72f210ea
MW
148 (source (origin
149 (method url-fetch)
de67e922 150 (uri (string-append "mirror://sourceforge/dejavu/dejavu/"
72f210ea
MW
151 version "/dejavu-fonts-ttf-"
152 version ".tar.bz2"))
153 (sha256
154 (base32
d7284b6a 155 "1mqpds24wfs5cmfhj57fsfs07mji2z8812i5c4pi5pbi738s977s"))))
2e884019 156 (build-system font-build-system)
72f210ea 157 (arguments
2e884019
AI
158 `(#:phases
159 (modify-phases %standard-phases
160 (add-after 'install 'install-conf
161 (lambda* (#:key outputs #:allow-other-keys)
162 (let ((conf-dir (string-append (assoc-ref outputs "out")
163 "/share/fontconfig/conf.avail")))
38ef437b
MW
164 (copy-recursively "fontconfig" conf-dir)
165 #t))))))
db369e91 166 (home-page "https://dejavu-fonts.github.io/")
72f210ea
MW
167 (synopsis "Vera font family derivate with additional characters")
168 (description "DejaVu provides an expanded version of the Vera font family
169aiming for quality and broader Unicode coverage while retaining the original
b4774d87 170Vera style. DejaVu currently works towards conformance to the Multilingual
72f210ea
MW
171European Standards (MES-1 and MES-2) for Unicode coverage. The DejaVu fonts
172provide serif, sans and monospaced variants.")
173 (license
174 (license:x11-style
175 "http://dejavu-fonts.org/"))))
176
5e6bdf06 177(define-public font-bitstream-vera
86f1537d 178 (package
5e6bdf06 179 (name "font-bitstream-vera")
86f1537d
AE
180 (version "1.10")
181 (source (origin
182 (method url-fetch)
183 (uri (string-append "mirror://gnome/sources/ttf-bitstream-vera/"
184 version "/ttf-bitstream-vera-"
185 version ".tar.bz2"))
186 (sha256
187 (base32
188 "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv"))))
e46e0de1 189 (build-system font-build-system)
f032d0be 190 (home-page "https://www.gnome.org/fonts/")
86f1537d
AE
191 (synopsis "Bitstream Vera sans-serif typeface")
192 (description "Vera is a sans-serif typeface from Bitstream, Inc. This
193package provides the TrueType (TTF) files.")
194 (license
d5b09129
CL
195 (license:fsdg-compatible
196 "https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"
197 "The Font Software may be sold as part of a larger software package but
198no copy of one or more of the Font Software typefaces may be sold by
199itself."))))
86f1537d 200
71be99b8
LC
201(define-public font-cantarell
202 (package
203 (name "font-abattis-cantarell")
1ce15831 204 (version "0.201")
71be99b8
LC
205 (source (origin
206 (method url-fetch)
207 (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
208 (version-major+minor version)
209 "/cantarell-fonts-" version ".tar.xz"))
210 (sha256
211 (base32
1ce15831 212 "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn"))))
bd15da3a
KK
213 (build-system meson-build-system)
214 (native-inputs
1ce15831 215 `(("gettext" ,gettext-minimal))) ; for msgfmt
71be99b8
LC
216 (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
217 (synopsis "Cantarell sans-serif typeface")
218 (description "The Cantarell font family is a contemporary Humanist
219sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
220 (license license:silofl1.1)))
221
4eb47420 222(define-public font-lato
223 (package
224 (name "font-lato")
5dc8a3ad 225 (version "2.015") ; also update description
4eb47420 226 (source (origin
803b9e8b 227 (method url-fetch/zipbomb)
253a4bb2 228 (uri (string-append "https://www.latofonts.com/download/Lato2OFL.zip"))
4eb47420 229 (sha256
230 (base32
231 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
803b9e8b 232 (build-system font-build-system)
253a4bb2 233 (home-page "https://www.latofonts.com/lato-free-fonts/")
4eb47420 234 (synopsis "Lato sans-serif typeface")
235 (description
236 "Lato is a sanserif typeface family. It covers over 3000 glyphs per style.
237The Lato 2.010 family supports more than 100 Latin-based languages, over
23850 Cyrillic-based languages as well as Greek and IPA phonetics.")
239 (license license:silofl1.1)))
240
5483a2d0 241(define-public font-gnu-freefont
86f1537d 242 (package
5483a2d0 243 (name "font-gnu-freefont")
4affa918
MB
244 ;; Note: Remove the special FontForge input and package once the 2020
245 ;; release is out.
47268eec 246 (version "20120503")
86f1537d
AE
247 (source (origin
248 (method url-fetch)
47268eec 249 (uri (string-append "mirror://gnu/freefont/freefont-src-"
86f1537d
AE
250 version ".tar.gz"))
251 (sha256
252 (base32
47268eec
AE
253 "0yk58blhcd4hm7nyincmqq4jrzjjk82wif2zmk1l3y2m4vif4qhd"))))
254 (build-system gnu-build-system)
86f1537d 255 (arguments
47268eec
AE
256 `(#:phases (modify-phases %standard-phases
257 (delete 'configure)
258 (replace 'install
259 (lambda _
260 (let ((doc-dir (string-append %output "/share/doc/"
261 ,name "-" ,version))
5483a2d0 262 (ttf-font-dir (string-append %output
7d426c5b 263 "/share/fonts/truetype"))
5483a2d0 264 (otf-font-dir (string-append %output
7d426c5b 265 "/share/fonts/opentype"))
5483a2d0 266 (woff-font-dir (string-append %output
bb3685e8 267 "/share/fonts/webfonts")))
47268eec
AE
268 (mkdir-p doc-dir)
269 (substitute* "Makefile"
270 (("\\$\\(TMPDIR\\)") doc-dir)
5483a2d0
RG
271 (("sfd/\\*.ttf") "")
272 (("sfd/\\*.otf") "")
273 (("sfd/\\*.woff") ""))
274 ;; XXX The FreeFont Makefile tries to use the current
275 ;; time and date as names for generated files, and fails
276 ;; silently. But the fonts are still installed, so we
277 ;; leave the issue alone for now.
278 ;; See <https://bugs.gnu.org/40783>
279 (system* "make" "ttftar" "otftar" "wofftar")
280 (mkdir-p ttf-font-dir)
281 (mkdir-p otf-font-dir)
282 (mkdir-p woff-font-dir)
47268eec 283 (for-each (lambda (file)
5483a2d0 284 (install-file file ttf-font-dir))
47268eec
AE
285 (filter
286 (lambda (file) (string-suffix? "ttf" file))
5483a2d0
RG
287 (find-files "." "")))
288 (for-each (lambda (file)
289 (install-file file otf-font-dir))
290 (filter
291 (lambda (file) (string-suffix? "otf" file))
292 (find-files "." "")))
293 (for-each (lambda (file)
294 (install-file file woff-font-dir))
295 (filter
296 (lambda (file) (string-suffix? "woff" file))
47268eec
AE
297 (find-files "." "")))))))
298 #:test-target "tests"))
4affa918
MB
299 ;; FreeFont anno 2012 requires a FontForge built with Python 2.
300 (native-inputs `(("fontforge" ,fontforge-20190801)))
6fd52309 301 (home-page "https://www.gnu.org/software/freefont/")
86f1537d
AE
302 (synopsis "Unicode-encoded outline fonts")
303 (description
304 "The GNU Freefont project aims to provide a set of free outline
305 (PostScript Type0, TrueType, OpenType...) fonts covering the ISO
30610646/Unicode UCS (Universal Character Set).")
63e8bb12
LC
307 (license license:gpl3+)
308 (properties '((upstream-name . "freefont")
309 (ftp-directory . "/gnu/freefont")))))
d41bb065 310
8e2a4238
LF
311(define-public font-gnu-freefont-ttf
312 (deprecated-package "font-gnu-freefont-ttf" font-gnu-freefont))
313
16191117
AK
314(define-public font-liberation
315 (package
316 (name "font-liberation")
1fd2c00e 317 (version "2.1.1")
0754f29a
TGR
318 (source
319 (origin
320 (method url-fetch)
321 (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
1fd2c00e 322 "files/4743886/liberation-fonts-ttf-" version ".tar.gz"))
0754f29a 323 (sha256
1fd2c00e 324 (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf"))))
45d32e24 325 (build-system font-build-system)
0754f29a
TGR
326 (home-page "https://github.com/liberationfonts")
327 (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
16191117
AK
328 (description
329 "The Liberation font family aims at metric compatibility with
330Arial, Times New Roman, and Courier New.
16191117
AK
331There are three sets:
332
0102fba2 333@enumerate
ec460a2a 334@item Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and
16191117 335Bitstream Vera Sans);
ec460a2a 336@item Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and
16191117 337Bitstream Vera Serif);
ec460a2a 338@item Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L,
16191117 339and Bitstream Vera Sans Mono).
0102fba2 340@end enumerate
16191117
AK
341
342The Liberation Fonts are sponsored by Red Hat.")
343 (license license:silofl1.1)))
344
d28fa5cc
RW
345(define-public font-linuxlibertine
346 (package
347 (name "font-linuxlibertine")
348 (version "5.3.0")
349 (source (origin
350 (method url-fetch/tarbomb)
351 (uri (string-append "mirror://sourceforge/linuxlibertine/"
352 "linuxlibertine/" version
353 "/LinLibertineSRC_" version "_2012_07_02.tgz"))
354 (sha256
355 (base32
356 "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"))))
15795e07 357 (build-system font-build-system)
d28fa5cc 358 (arguments
15795e07 359 `(#:phases
d28fa5cc 360 (modify-phases %standard-phases
15795e07 361 (add-before 'install 'build
d28fa5cc
RW
362 (lambda _
363 (let ((compile
364 (lambda (name ext)
15795e07
AI
365 (invoke
366 "fontforge" "-lang=ff"
367 "-c" (string-append "Open('" name "');"
368 "Generate('"
369 (basename name "sfd") ext
370 "')")))))
371 (for-each (lambda (name)
372 (and (compile name "ttf")
373 (compile name "otf")))
374 (find-files "." "\\.sfd$"))
d28fa5cc
RW
375 #t))))))
376 (native-inputs
377 `(("fontforge" ,fontforge)))
378 (home-page "http://www.linuxlibertine.org/")
379 (synopsis "Serif and sans serif typefaces")
380 (description "The Linux Libertine fonts is a set of typefaces containing
381both a Serif version (\"Linux Libertine\") and a Sans Serif (\"Linux
382Biolinum\") designed to be used together as an alternative for Times/Times New
383Roman and Helvetica/Arial. The Serif typeface comes in two shapes and two
384weights, and with a Small Capitals version of the regular typeface. Linux
385Biolinum is available in both Regular and Bold weights.")
386 ;; The fonts are released under either of these licenses.
387 (license (list license:gpl2+ license:silofl1.1))))
388
5abed7ca
TVL
389(define-public font-libertinus
390 (package
391 (name "font-libertinus")
392 (version "6.12")
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append "https://github.com/alerque/libertinus/releases"
397 "/download/v" version "/libertinus-" version
398 ".zip"))
399 (sha256
400 (base32 "06pcsd5pijjid7xjxak35jla089krm5hqnbglv8ldncq475q7kb2"))))
401 (build-system font-build-system)
402 (home-page "https://github.com/alerque/libertinus")
403 (synopsis "Font family based on Linux Libertine")
404 (description
405 "The Libertinus font family is a fork of Linux Libertine that addresses
406many bugs in the unmaintained original and adds a new mathematical companion
407font for use with OpenType math-capable applications like LuaTex or XeTeX.
408
409The unified Libertinus family consists of:
410@enumerate
411@item Libertinus Serif, forked from Linux Libertine;
412@item Libertinus Sans Serif, forked from Linux Biolinum;
413@item Libertinus Mono, forked from Linux Libertine Mono; and
414@item Libertinus Math, an original matching OpenType math font.
415@end enumerate\n")
416 (license license:silofl1.1)))
417
5e6bdf06 418(define-public font-terminus
d41bb065 419 (package
5e6bdf06 420 (name "font-terminus")
3fd67ec6 421 (version "4.48")
d41bb065 422 (source
73c5c482
TGR
423 (origin
424 (method url-fetch)
425 (uri (string-append "mirror://sourceforge/terminus-font/terminus-font-"
426 version "/terminus-font-" version ".tar.gz"))
427 (sha256
3fd67ec6 428 (base32 "1bwlkj39rqbyq57v5yssayav6hzv1n11b9ml2s0dpiyfsn6rqy9l"))))
d41bb065 429 (build-system gnu-build-system)
a431e213
TGR
430 (outputs (list "out" "pcf-8bit"))
431 (arguments
432 `(#:tests? #f ; no test target in tarball
433 #:phases
434 (modify-phases %standard-phases
435 (add-after 'build 'build-more-bits
436 ;; X11 8-bit code pages aren't installed by default (they were
437 ;; until version 4.46). Build and install them separately.
438 (lambda* (#:key make-flags #:allow-other-keys)
439 (apply invoke "make" "pcf-8bit" make-flags)))
440 (add-after 'install 'install-more-bits
441 (lambda* (#:key make-flags outputs #:allow-other-keys)
442 (let ((pcf-8bit (assoc-ref outputs "pcf-8bit")))
443 (apply invoke "make" "install-pcf-8bit" (string-append "prefix="
444 pcf-8bit)
445 make-flags)))))))
d41bb065 446 (native-inputs
73c5c482 447 `(("bdftopcf" ,bdftopcf)
b3546174 448 ("font-util" ,font-util)
73c5c482
TGR
449 ("mkfontdir" ,mkfontdir)
450 ("pkg-config" ,pkg-config)
451 ("python" ,python)))
d41bb065
JG
452 (home-page "http://terminus-font.sourceforge.net/")
453 (synopsis "Simple bitmap programming font")
b4774d87
TGR
454 (description "Terminus Font is a clean, fixed-width bitmap font, designed
455for long periods of working with computers (8 or more hours per day).")
380f2ab6 456 (license license:silofl1.1)))
692784dd
SB
457
458(define-public font-adobe-source-han-sans
459 (package
460 (name "font-adobe-source-han-sans")
2666a126 461 (version "1.004")
692784dd 462 (source (origin
8f4dccf7
EF
463 (method git-fetch)
464 (uri (git-reference
b0e7b699 465 (url "https://github.com/adobe-fonts/source-han-sans")
8f4dccf7
EF
466 (commit (string-append version "R"))))
467 (file-name (git-file-name name version))
692784dd
SB
468 (sha256
469 (base32
8f4dccf7 470 "0zm884d8fp5gvirq324050kqv7am9khyqhs9kk4r4rr3jzn61jpk"))))
2666a126 471 (outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
692784dd
SB
472 "cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
473 (build-system trivial-build-system)
474 (arguments
475 `(#:modules ((guix build utils))
476 #:builder
477 (begin
478 (use-modules (guix build utils))
8f4dccf7 479 (let ((install-opentype-fonts
692784dd
SB
480 (lambda (fonts-dir out)
481 (copy-recursively fonts-dir
482 (string-append (assoc-ref %outputs out)
483 "/share/fonts/opentype")))))
8f4dccf7 484 (chdir (assoc-ref %build-inputs "source"))
692784dd
SB
485 (install-opentype-fonts "OTC" "out")
486 (install-opentype-fonts "SubsetOTF/CN" "cn")
487 (install-opentype-fonts "SubsetOTF/JP" "jp")
488 (install-opentype-fonts "SubsetOTF/KR" "kr")
2666a126 489 (install-opentype-fonts "SubsetOTF/TW" "tw")
e3cfef22
MW
490 (for-each delete-file (find-files %output "\\.zip$"))
491 #t))))
692784dd
SB
492 (home-page "https://github.com/adobe-fonts/source-han-sans")
493 (synopsis "Pan-CJK fonts")
494 (description
495 "Source Han Sans is a sans serif Pan-CJK font family that is offered in
496seven weights: ExtraLight, Light, Normal, Regular, Medium, Bold, and Heavy.
497And in several OpenType/CFF-based deployment configurations to accommodate
498various system requirements or limitations. As the name suggests, Pan-CJK
499fonts are intended to support the characters necessary to render or display
e881752c 500text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
2666a126 501 (license license:silofl1.1)))
192b4802 502
840b7136 503(define-public font-cns11643
377fad00
BT
504 ;; Since upstream doesn't provide any version numbers, the date of the last
505 ;; edit is used, taken from https://data.gov.tw/dataset/5961
506 ;; XXX: The source is also updated in-place, so it may be desirable to mirror
507 ;; it elsewhere to avoid suddenly losing the current source file.
840b7136
BT
508 (package
509 (name "font-cns11643")
377fad00 510 (version "98.1.20180605")
840b7136
BT
511 (source (origin
512 (method url-fetch)
513 (uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
514 (sha256
515 (base32
377fad00 516 "000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw"))))
8c5ad448 517 (build-system font-build-system)
840b7136
BT
518 (home-page "http://www.cns11643.gov.tw/AIDB/welcome.do")
519 (synopsis "CJK TrueType fonts, TW-Kai and TW-Sung")
520 (description
521 "@code{CNS 11643} character set (Chinese National Standard, or Chinese
522Standard Interchange Code) is the standard character set of the Republic of
523China (Taiwan) for Chinese Characters and other Unicode symbols. Contained
524are six TrueType fonts based on two script styles, Regular script (Kai), and
525Sung/Ming script, each with three variants:
526
527@itemize
528@item @code{CNS 11643} (@code{TW-Kai} and @code{TW-Sung}): Tens of thousands
529of CJK characters from frequency tables published by the Taiwanese
530Ministry of Education. ISO 10646 and Unicode compatible encoding.
531@item @code{Big-5 Plus}: Several thousand frequently used CJK characters
532encoded in the user defined area of the Big-5 code.
533@item @code{Big-5 Extended}: A Big-5 character set based on the
534@code{Big-5 Plus} and @code{CNS 11643} character sets.
535@end itemize\n")
536 (license (license:non-copyleft
537 "http://data.gov.tw/license")))) ; CC-BY 4.0 compatible
538
f3744a01
BT
539(define-public font-cns11643-swjz
540 (package
541 (name "font-cns11643-swjz")
542 (version "1")
543 (source
544 (origin
545 (method url-fetch)
546 (uri "https://www.moedict.tw/fonts/truetype/cns11643/ebas927.ttf")
547 (sha256
548 (base32
549 "1qkljldbmb53zp1rcmpsb8rzy67rnsqcjxi549m9743ifk4isl78"))))
a5ce48c8 550 (build-system font-build-system)
f3744a01
BT
551 (home-page
552 (string-append "http://www.cns11643.gov.tw/AIDB/download.do"
553 "?name=%E5%AD%97%E5%9E%8B%E4%B8%8B%E8%BC%89"))
554 (synopsis "TrueType seal script font")
555 (description
556 "@code{Shuowen Jiezi} is a TrueType seal script font based on the ancient
557text of the same name published by the Executive Yuan of Taiwan. 6721 glyphs
558are included, at Unicode compatible code points corresponding to their modern
559variants.")
560 ;; Original text only available in Chinese. More info at
561 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26703#11
562 (license (license:non-copyleft
563 "http://www.cns11643.gov.tw/AIDB/copyright.do"))))
564
192b4802
RW
565(define-public font-wqy-zenhei
566 (package
567 (name "font-wqy-zenhei")
568 (version "0.9.45")
569 (source (origin
570 (method url-fetch)
571 (uri (string-append
de67e922
LF
572 "mirror://sourceforge/wqy/wqy-zenhei/" version
573 "%20%28Fighting-state%20RC1%29/wqy-zenhei-"
192b4802 574 version ".tar.gz"))
192b4802
RW
575 (sha256
576 (base32
577 "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"))))
371ca85f 578 (build-system font-build-system)
332cc03b 579 (home-page "http://wenq.org/wqy2/")
192b4802
RW
580 (synopsis "CJK font")
581 (description
582 "WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline
583font. It is designed for general purpose text formatting and on-screen
584display of Chinese characters and symbols from many other languages.
b4774d87 585WenQuanYi Zen Hei provides a rather complete coverage of Chinese Hanzi glyphs,
192b4802
RW
586including both simplified and traditional forms. The total glyph number in
587this font is over 35,000, including over 21,000 Chinese Hanzi. This font has
b4774d87
TGR
588full coverage of the GBK (CP936) charset, CJK Unified Ideographs, as well as
589the code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
590ko (Korean) locales for @code{fontconfig}.")
78cda0bc 591 ;; GPLv2 with font embedding exception.
192b4802 592 (license license:gpl2)))
3f88152d 593
12b8f6b4
FS
594(define-public font-wqy-microhei
595 (package
596 (name "font-wqy-microhei")
597 (version "0.2.0-beta")
598 (source (origin
599 (method url-fetch)
600 (uri (string-append "mirror://sourceforge/wqy/wqy-microhei/"
601 version "/wqy-microhei-" version ".tar.gz"))
602 (sha256
603 (base32
604 "0gi1yxqph8xx869ichpzzxvx6y50wda5hi77lrpacdma4f0aq0i8"))))
7fc6ce46 605 (build-system font-build-system)
12b8f6b4
FS
606 (home-page "http://wenq.org/wqy2/")
607 (synopsis "CJK font")
608 (description
609 "WenQuanYi Micro Hei is a Sans-Serif style (also known as Hei, Gothic or
610Dotum among the Chinese/Japanese/Korean users) high quality CJK outline font.
611It was derived from \"Droid Sans Fallback\" and \"Droid Sans\" released by
612Google Inc. This font contains all the unified CJK Han glyphs in the range of
613U+4E00-U+9FC3 defined in Unicode Standard 5.1, together with many other
614languages unicode blocks, including Latins, Extended Latins, Hanguls and
615Kanas. The font file is extremely compact (~4M) compared with most known CJK
616fonts.")
617 ;; This font is licensed under Apache2.0 or GPLv3 with font embedding
618 ;; exceptions.
619 (license license:gpl3)))
620
42ecb96e
MS
621(define-public font-rachana
622 (package
623 (name "font-rachana")
0736d973 624 (version "7.0.3")
42ecb96e
MS
625 (source
626 (origin
61e079d6
TGR
627 (method git-fetch)
628 (uri (git-reference
629 (url "https://gitlab.com/smc/fonts/rachana")
630 (commit (string-append "Version" version))))
42ecb96e 631 (sha256
61e079d6
TGR
632 (base32 "0r100pvk56y1s38nbv24d78s8nd7dkblgasbn8s887dzj6dps23d"))
633 (file-name (git-file-name name version))))
42ecb96e
MS
634 (build-system font-build-system)
635 (home-page "https://smc.org.in")
636 (synopsis "Malayalam font")
637 (description
638 "Rachana is a Malayalam font designed by Hussain K H. The project was
639part of Rachana Aksharavedi for the original script of Malayalam in computing.
640Rachana has about 1,200+ glyphs for Malayalam and contains glyphs required for
641printing old Malayalam books without compromising the writing style.")
642 ;; This font is licensed under SIL 1.1 or GPLv3+ with font embedding
643 ;; exceptions.
644 (license (list license:silofl1.1 license:gpl3+))))
645
3f88152d
RW
646(define-public font-tex-gyre
647 (package
648 (name "font-tex-gyre")
649 (version "2.005")
650 (source
651 (origin
c226f06c 652 (method url-fetch/zipbomb)
3f88152d
RW
653 (uri (string-append "http://www.gust.org.pl/projects/e-foundry/"
654 "tex-gyre/whole/tg-" version "otf.zip"))
655 (sha256
656 (base32
657 "0kph9l3g7jb2bpmxdbdg5zl56wacmnvdvsdn7is1gc750sqvsn31"))))
c226f06c 658 (build-system font-build-system)
3f88152d
RW
659 (home-page "http://www.gust.org.pl/projects/e-foundry/tex-gyre/")
660 (synopsis "Remake of Ghostscript fonts")
661 (description "The TeX Gyre collection of fonts is the result of an
662extensive remake and extension of the freely available base PostScript fonts
663distributed with Ghostscript version 4.00. The collection contains the
664following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor,
665Heros, Pagella, Schola, Termes.")
666 (license license:gfl1.0)))
761b3d44
LF
667
668(define-public font-anonymous-pro
669 (package
670 (name "font-anonymous-pro")
671 (version "1.002")
672 (source (origin
673 (method url-fetch)
674 (uri (string-append
bba5bb30 675 "https://www.marksimonson.com/assets/content/fonts/"
761b3d44
LF
676 "AnonymousPro-" version ".zip"))
677 (sha256
678 (base32
679 "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6"))))
bbb1a1d2 680 (build-system font-build-system)
bba5bb30 681 (home-page "https://www.marksimonson.com/fonts/view/anonymous-pro")
761b3d44
LF
682 (synopsis "Fixed-width fonts designed with coding in mind")
683 (description "Anonymous Pro is a family of four fixed-width fonts designed
684with coding in mind. Anonymous Pro features an international, Unicode-based
685character set, with support for most Western and Central European Latin-based
686languages, plus Greek and Cyrillic.")
687 (license license:silofl1.1)))
d032d965 688
4fce1ff1
TGR
689(define-public font-anonymous-pro-minus
690 (package
691 (inherit font-anonymous-pro)
692 (name "font-anonymous-pro-minus")
693 ;; The -Minus variant doesn't necessarily track the regular version above.
694 (version "1.003")
695 (source
696 (origin
697 (method url-fetch)
698 (uri (string-append "https://www.marksimonson.com/assets/content/fonts/"
699 "AnonymousProMinus-" version ".zip"))
700 (sha256
701 (base32 "1p2n91jja37d2cshp5pjwld9lq0v7gnpk7ywwn2blq7k46q6vq38"))))
702 (synopsis "Fixed-width fonts designed with coding in mind, without bitmaps")
703 (description "Anonymous Pro is a family of four fixed-width fonts designed
704with coding in mind. Anonymous Pro features an international, Unicode-based
705character set, with support for most Western and Central European Latin-based
706languages, plus Greek and Cyrillic.
707
708Anonymous Pro Minus is identical to Anonymous Pro, minus its embedded bitmaps
709for use at smaller text sizes")))
710
d032d965
SB
711(define-public font-gnu-unifont
712 (package
713 (name "font-gnu-unifont")
980028d0 714 (version "13.0.04")
f990bda4
TGR
715 (source
716 (origin
717 (method url-fetch)
718 (uri (list
ef8222a9 719 (string-append "https://unifoundry.com/pub/unifont/unifont-"
f990bda4
TGR
720 version "/unifont-" version ".tar.gz")
721 (string-append "mirror://gnu/unifont/unifont-"
722 version "/unifont-" version ".tar.gz")))
723 (sha256
980028d0 724 (base32 "064ilpbnz62cwmpajszs2b08x2zg7yh9whlaiqhjzi7bir3im94j"))))
d032d965 725 (build-system gnu-build-system)
f21058dc
EF
726 (outputs '("out" ; TrueType version
727 "pcf" ; PCF (bitmap) version
728 "psf" ; PSF (console) version
729 "bin")) ; Utilities to manipulate '.hex' format
d032d965 730 (arguments
f21058dc 731 '(#:tests? #f ; no check target
d032d965
SB
732 #:phases
733 (modify-phases %standard-phases
c88bee0a
EF
734 (replace
735 'configure
736 (lambda _ (setenv "CC" "gcc") #t))
d032d965
SB
737 (replace
738 'install
739 (lambda* (#:key outputs #:allow-other-keys)
740 (let* ((ttf (string-append (assoc-ref outputs "out")
741 "/share/fonts/truetype"))
742 (pcf (string-append (assoc-ref outputs "pcf")
743 "/share/fonts/misc"))
744 (psf (string-append (assoc-ref outputs "psf")
745 "/share/consolefonts"))
746 (bin (assoc-ref outputs "bin")))
5b47ea94
EF
747 (invoke "make"
748 (string-append "PREFIX=" bin)
749 (string-append "TTFDEST=" ttf)
750 (string-append "PCFDEST=" pcf)
751 (string-append "CONSOLEDEST=" psf)
752 "install")
d032d965
SB
753 ;; Move Texinfo file to the right place.
754 (mkdir (string-append bin "/share/info"))
c1352b4b
LC
755 (invoke "gzip" "-9n" "doc/unifont.info")
756 (install-file "doc/unifont.info.gz"
757 (string-append bin "/share/info"))
d032d965
SB
758 #t))))))
759 (inputs
760 `(("perl" ,perl))) ; for utilities
761 (synopsis
762 "Large bitmap font covering Unicode's Basic Multilingual Plane")
763 (description
764 "GNU Unifont is a bitmap font covering essentially all of
765Unicode's Basic Multilingual Plane. The package also includes
766utilities to ease adding new glyphs to the font.")
dbb58f28 767 (home-page "http://unifoundry.com/unifont/index.html")
fc19cee1 768 (properties '((upstream-name . "unifont")))
d032d965 769 (license license:gpl2+)))
b6ecac93
J
770
771(define-public font-google-noto
772 (package
773 (name "font-google-noto")
66d6b7c3
TGR
774 (version "20171025")
775 (source
776 (origin
777 (method url-fetch/zipbomb)
778 (uri (string-append "https://noto-website-2.storage.googleapis.com/"
779 "pkgs/Noto-hinted.zip"))
780 (file-name (string-append name "-" version ".zip"))
781 (sha256
782 (base32 "1bp42whyin7xcgmrbnfvz3rvd98xmxaz3ywqybbjmqzwaa9llyw3"))))
2f7966c8 783 (build-system font-build-system)
b6ecac93 784 (home-page "https://www.google.com/get/noto/")
b4774d87
TGR
785 (synopsis "Fonts to cover all languages")
786 (description "Google Noto Fonts is a family of fonts designed to support
787all languages with a consistent look and aesthetic. Its goal is to properly
788display all Unicode symbols.")
b6ecac93 789 (license license:silofl1.1)))
aae6b4b9 790
bb0756c7 791(define-public font-google-roboto
792 (package
793 (name "font-google-roboto")
794 (version "2.136")
795 (source
796 (origin
797 (method url-fetch)
798 (uri (string-append "https://github.com/google/roboto/releases/download/"
799 "v" version "/roboto-hinted.zip"))
800 (file-name (string-append name "-" version ".zip"))
801 (sha256
802 (base32
803 "0spscx08fad7i8qs7icns96iwcapniq8lwwqqvbf7bamvs8qfln4"))))
9713b31e 804 (build-system font-build-system)
bb0756c7 805 (home-page "https://github.com/google/roboto")
806 (synopsis "The Roboto family of fonts")
807 (description
808 "Roboto is Google’s signature family of fonts, the default font on Android
809and Chrome OS, and the recommended font for the
810visual language \"Material Design\".")
811 (license license:asl2.0)))
812
aae6b4b9 813(define-public font-un
814 (package
815 (name "font-un")
816 (version "1.0.2-080608")
aae6b4b9 817 (source (origin
818 (method url-fetch)
99a61dad 819 (uri (string-append
820 "https://kldp.net/unfonts/release/2607-"
821 "un-fonts-core-" version ".tar.gz"))
aae6b4b9 822 (file-name (string-append name "-" version ".tar.gz"))
823 (sha256
824 (base32
825 "13liaz2pmww3aqabm55la5npd08m1skh334ky7qfidxaz5s742iv"))))
6084d9b4 826 (build-system font-build-system)
aae6b4b9 827 (home-page "https://kldp.net/projects/unfonts/")
828 (synopsis "Collection of Korean fonts")
829 (description
830 "Un-fonts is a family of mainly Korean fonts.
831It contains the following fonts and styles:
832
833@enumerate
834@item UnBatang, UnBatangBold: serif;
835@item UnDotum, UnDotumBold: sans-serif;
836@item UnGraphic, UnGraphicBold: sans-serif style;
837@item UnDinaru, UnDinaruBold, UnDinaruLight;
838@item UnPilgi, UnPilgiBold: script;
839@item UnGungseo: cursive, brush-stroke.
840@end enumerate\n")
841 (license license:gpl2+)))
f85cafde
EB
842
843(define-public font-fantasque-sans
844 (package
845 (name "font-fantasque-sans")
0d197a63 846 (version "1.8.0")
f85cafde
EB
847 (source
848 (origin
5882078e
EB
849 (method git-fetch)
850 (uri (git-reference
b0e7b699 851 (url "https://github.com/belluzj/fantasque-sans")
5882078e
EB
852 (commit (string-append "v" version))))
853 (file-name (git-file-name name version))
f85cafde 854 (sha256
0d197a63 855 (base32 "17l18488qyl9gdj80r8pcym3gp3jkgsdikwalnrp5rgvwidqx507"))))
f85cafde
EB
856 (build-system gnu-build-system)
857 (native-inputs
858 `(("ttfautohint" ,ttfautohint)
859 ("woff-tools" ,woff-tools)
860 ("fontforge" ,fontforge)
861 ("woff2" ,woff2)
9765e2de 862 ("woff2:bin" ,woff2 "bin")
5882078e 863 ("zip" ,zip)))
f85cafde
EB
864 (arguments
865 `(#:tests? #f ;test target intended for visual inspection
866 #:phases (modify-phases %standard-phases
867 (delete 'configure) ;no configuration
0d197a63
TGR
868 (add-before 'build 'support-python@3
869 ;; Rather than use a Python 2 fontforge, replace Python-2-
870 ;; specific code with a passable Python 3 equivalent.
5882078e
EB
871 (lambda _
872 (substitute* "Scripts/fontbuilder.py"
873 (("xrange") "range"))
0d197a63
TGR
874 (substitute* "Scripts/features.py"
875 (("f\\.write\\(fea_code\\)")
876 "f.write(str.encode(fea_code))"))
5882078e 877 #t))
f85cafde
EB
878 (replace 'install
879 ;; 'make install' wants to install to ~/.fonts, install to
5882078e 880 ;; output instead. Install only the "Normal" variant.
f85cafde
EB
881 (lambda* (#:key outputs #:allow-other-keys)
882 (let* ((out (assoc-ref outputs "out"))
883 (font-dir (string-append out "/share/fonts"))
884 (truetype-dir (string-append font-dir "/truetype"))
885 (opentype-dir (string-append font-dir "/opentype"))
886 (webfonts-dir (string-append font-dir "/webfonts")))
5882078e
EB
887 (with-directory-excursion "Variants/Normal"
888 (copy-recursively "OTF" opentype-dir)
889 (for-each (lambda (f) (install-file f truetype-dir))
890 (find-files "." "\\.ttf$"))
891 (copy-recursively "Webfonts" webfonts-dir)
892 #t)))))))
f85cafde
EB
893 (synopsis "Font family with a monospaced variant for programmers")
894 (description
895 "Fantasque Sans Mono is a programming font designed with functionality in
896mind. The font includes a bold version and a good italic version with new
897glyph designs, not just an added slant.")
898 (home-page "https://fontlibrary.org/en/font/fantasque-sans-mono")
899 (license license:silofl1.1)))
73c8d39c 900
901(define-public font-hack
902 (package
903 (name "font-hack")
9296d4b6 904 (version "3.003")
73c8d39c 905 (source (origin
8069f889 906 (method url-fetch/zipbomb)
73c8d39c 907 (uri (string-append
77aa706a
TGR
908 "https://github.com/source-foundry/Hack/releases/download/v"
909 version "/Hack-v" version "-ttf.zip"))
73c8d39c 910 (sha256
911 (base32
9296d4b6 912 "1b4hh8zkrx92m2v2vfkja1napb0192p0j3laqr0m018z3dih89hc"))))
8069f889 913 (build-system font-build-system)
73c8d39c 914 (home-page "https://sourcefoundry.org/hack/")
b4774d87 915 (synopsis "Typeface designed for source code")
73c8d39c 916 (description
b4774d87 917 "Hack is designed to be a workhorse typeface for code. It expands upon
d083a823 918the Bitstream Vera & DejaVu projects, provides over 1,500 glyphs, and includes
b4774d87 919Powerline support.")
77aa706a
TGR
920 (license
921 ;; See https://github.com/source-foundry/Hack/issues/271 for details.
922 (list license:expat ; the Hack modifications to...
923 license:public-domain ; ...the DejaVu modifications to...
924 (license:x11-style ; ...the Bitstream Vera typeface
925 "file://LICENSE.md" "Bitstream Vera License")))))
6e1d7aa9
MB
926
927(define-public font-adobe-source-code-pro
928 (package
929 (name "font-adobe-source-code-pro")
930 (version "2.030R-ro-1.050R-it")
9aee5c45
TGR
931 (source
932 (origin
933 (method git-fetch)
934 (uri (git-reference
b0e7b699 935 (url "https://github.com/adobe-fonts/source-code-pro")
9aee5c45
TGR
936 (commit (regexp-substitute/global
937 ;; The upstream tag uses "/" between the roman and italic
938 ;; versions, so substitute our "-" separator here.
939 #f "R-ro-" version 'pre "R-ro/" 'post))))
940 (file-name (git-file-name name version))
941 (sha256
942 (base32 "0hc5kflr8xzqgdm0c3gbgb1paygznxmnivkylid69ipc7wnicx1n"))))
b41704cd 943 (build-system font-build-system)
6e1d7aa9
MB
944 (home-page "https://github.com/adobe-fonts/source-code-pro")
945 (synopsis
946 "Monospaced font family for user interface and coding environments")
947 (description
948 "Source Code Pro is a set of monospaced OpenType fonts that have been
949designed to work well in user interface environments.")
950 (license license:silofl1.1)))
c3e2a247 951
27e65afc
J
952(define-public font-adobe-source-sans-pro
953 (package
954 (name "font-adobe-source-sans-pro")
62246843 955 (version "3.028R")
ed08e4ec
TGR
956 (source
957 (origin
958 (method git-fetch)
959 (uri (git-reference
b0e7b699 960 (url "https://github.com/adobe-fonts/source-sans-pro")
62246843 961 (commit version)))
ed08e4ec
TGR
962 (file-name (git-file-name name version))
963 (sha256
62246843 964 (base32 "0lgjqi4d5p1q1z00ad807v5qy4z54gmp7jpdaypc0rxk8czv6zq7"))))
27e65afc
J
965 (build-system font-build-system)
966 (home-page "https://github.com/adobe-fonts/source-sans-pro")
967 (synopsis
968 "Sans serif font family for user interface environments")
969 (description
970 "Source Sans Pro is a set of OpenType fonts that have been designed to
971work well in user interface (UI) environments.")
972 (license license:silofl1.1)))
973
3cdd2e95
J
974(define-public font-adobe-source-serif-pro
975 (package
976 (name "font-adobe-source-serif-pro")
4423cadc 977 (version "3.001R")
31f41dbc
TGR
978 (source
979 (origin
980 (method git-fetch)
981 (uri (git-reference
b0e7b699 982 (url "https://github.com/adobe-fonts/source-serif-pro")
4423cadc 983 (commit version)))
31f41dbc
TGR
984 (file-name (git-file-name name version))
985 (sha256
4423cadc 986 (base32 "1z0pjvx0jpjwb8vzvc6l5gzlg0mqax4v9pizqcxx82l0ydlfh5bj"))))
3cdd2e95
J
987 (build-system font-build-system)
988 (home-page "https://github.com/adobe-fonts/source-serif-pro")
989 (synopsis
990 "Serif typeface to complement Source Sans Pro for setting text")
991 (description
992 "Source Serif Pro is a set of OpenType fonts to complement the Source
993Sans Pro family.")
994 (license license:silofl1.1)))
995
c3e2a247
TR
996(define-public font-fira-mono
997 (package
998 (name "font-fira-mono")
999 (version "3.206")
1000 (source (origin
1001 (method url-fetch)
1002 (uri (string-append "https://carrois.com/downloads/fira_mono_3_2/"
1003 "FiraMonoFonts"
1004 (string-replace-substring version "." "")
1005 ".zip"))
1006 (sha256
1007 (base32
1008 "1z65x0dw5dq6rs6p9wyfrir50rlh95vgzsxr8jcd40nqazw4jhpi"))))
3a722dde 1009 (build-system font-build-system)
b253e7b9 1010 (home-page "https://mozilla.github.io/Fira/")
c3e2a247
TR
1011 (synopsis "Mozilla's monospace font")
1012 (description "This is the typeface used by Mozilla in Firefox OS.")
1013 (license license:silofl1.1)))
83421fc7 1014
0ee27df0 1015(define-public font-fira-sans
1016 (package
1017 (name "font-fira-sans")
1018 (version "4.202")
1019 (source (origin
c2426dbd
EF
1020 (method git-fetch)
1021 (uri (git-reference
b0e7b699 1022 (url "https://github.com/mozilla/Fira")
c2426dbd
EF
1023 (commit version)))
1024 (file-name (git-file-name name version))
0ee27df0 1025 (sha256
1026 (base32
c2426dbd 1027 "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
0ee27df0 1028 (build-system font-build-system)
b253e7b9 1029 (home-page "https://mozilla.github.io/Fira/")
0ee27df0 1030 (synopsis "Mozilla's Fira Sans Font")
1031 (description "This is the typeface used by Mozilla in Firefox OS.")
1032 (license license:silofl1.1)))
1033
760e34b2 1034(define-public font-fira-code
1035 (package
1036 (name "font-fira-code")
76498783 1037 (version "1.206")
760e34b2 1038 (source (origin
1039 (method url-fetch/zipbomb)
1040 (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
1041 "download/" version
1042 "/FiraCode_" version ".zip"))
1043 (sha256
1044 (base32
76498783 1045 "02r1lcp0c9135ps71v66wdvbsrcxwirrp0blqsa1xbjkkq2rwgj3"))))
760e34b2 1046 (build-system font-build-system)
1047 (home-page "https://mozilla.github.io/Fira/")
1048 (synopsis "Monospaced font with programming ligatures")
1049 (description
1050 "Fira Code is an extension of the Fira Mono font containing a set of ligatures
1051for common programming multi-character combinations. This is just a font rendering
1052feature: underlying code remains ASCII-compatible. This helps to read and understand
1053code faster. For some frequent sequences like .. or //, ligatures allow us to
1054correct spacing.")
1055 (license license:silofl1.1)))
1056
83421fc7
JMSG
1057(define-public font-awesome
1058 (package
1059 (name "font-awesome")
848b3749
LF
1060 ;; XXX The build scripts of version 5 are not freely licensed and
1061 ;; so we have to stick with version 4 for now:
1062 ;; <https://bugs.gnu.org/32916>
1063 (version "4.7.0")
83421fc7 1064 (source (origin
6fc9c6f7
EF
1065 (method git-fetch)
1066 (uri (git-reference
b0e7b699 1067 (url "https://github.com/FortAwesome/Font-Awesome")
6fc9c6f7
EF
1068 (commit (string-append "v" version))))
1069 (file-name (git-file-name name version))
83421fc7
JMSG
1070 (sha256
1071 (base32
6fc9c6f7 1072 "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
278c608a 1073 (build-system font-build-system)
6fc9c6f7
EF
1074 (arguments
1075 '(#:phases
1076 (modify-phases %standard-phases
1077 (replace 'install
1078 (lambda* (#:key outputs #:allow-other-keys)
1079 (let* ((out (assoc-ref outputs "out"))
1080 (source (string-append (getcwd) "/fonts"))
1081 (fonts (string-append out "/share/fonts")))
1082 (for-each (lambda (file)
1083 (install-file file (string-append fonts "/truetype")))
1084 (find-files source "\\.(ttf|ttc)$"))
1085 (for-each (lambda (file)
1086 (install-file file (string-append fonts "/opentype")))
1087 (find-files source "\\.(otf|otc)$"))
1088 #t))))))
1089 (home-page "https://fontawesome.com/")
83421fc7
JMSG
1090 (synopsis "Font that contains a rich iconset")
1091 (description
1092 "Font Awesome is a full suite of pictographic icons for easy scalable
1093vector graphics.")
1094 (license license:silofl1.1)))
446e1d51 1095
f2a7ce50 1096(define-public font-tamzen
1097 (package
1098 (name "font-tamzen")
eaf98d92 1099 (version "1.11.5")
f2a7ce50 1100 (source
1101 (origin
1f07550c
EF
1102 (method git-fetch)
1103 (uri (git-reference
b0e7b699 1104 (url "https://github.com/sunaku/tamzen-font")
1f07550c
EF
1105 (commit (string-append "Tamzen-" version))))
1106 (file-name (git-file-name name version))
f2a7ce50 1107 (sha256
eaf98d92 1108 (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s"))))
f2a7ce50 1109 (build-system trivial-build-system)
1110 (arguments
1111 `(#:modules ((guix build utils))
1112 #:builder
1113 (begin
1114 (use-modules (guix build utils))
1115
1f07550c
EF
1116 (let* ((out (assoc-ref %outputs "out"))
1117 (font-dir (string-append out "/share/fonts/misc"))
1118 (psf-dir (string-append out "/share/kbd/consolefonts")))
1119 (chdir (assoc-ref %build-inputs "source"))
f2a7ce50 1120 (mkdir-p font-dir)
1121 (mkdir-p psf-dir)
f2a7ce50 1122 (for-each (lambda (pcf)
1123 (install-file pcf font-dir))
1f07550c 1124 (find-files "pcf" "\\.pcf$"))
f2a7ce50 1125 (for-each (lambda (psf)
1126 (install-file psf psf-dir))
1f07550c 1127 (find-files "psf" "\\.psf$"))
f2a7ce50 1128 #t))))
f2a7ce50 1129 (home-page "https://github.com/sunaku/tamzen-font")
1130 (synopsis "Monospaced bitmap font for console and X11")
1131 (description
e16b44a2 1132 "Tamzen is a fork of the @code{Tamsyn} font. It is programmatically forked
f2a7ce50 1133from @code{Tamsyn} version 1.11, backporting glyphs from older versions while
1134deleting deliberately empty glyphs (which are marked as unimplemented) to
1135allow secondary/fallback fonts to provide real glyphs at those codepoints.
1136
1137The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols,
e16b44a2 1138which are programmatically injected with @code{bitmap-font-patcher} and
f2a7ce50 1139later hand-tweaked with the gbdfed(1) editor:
1140
1141@enumerate
1142@item all icons are expanded to occupy the maximum available space
1143@item the branch of the fork icon ( U+E0A0) was made larger than the trunk
1144@item for the newline icon ( U+E0A1), the @emph{N} was made larger at the bottom
1145@item the keyhole in the padlock icon ( U+E0A2) was replaced with @emph{//} lines.
1146@end enumerate\n")
1147 (license (license:non-copyleft "file://LICENSE"))))
1148
446e1d51
AG
1149(define-public font-comic-neue
1150 (package
b963d8c2 1151 (name "font-comic-neue")
381828bb 1152 (version "2.51")
b963d8c2
AG
1153 (source (origin
1154 (method url-fetch/zipbomb)
1155 (uri (string-append
1156 "http://www.comicneue.com/comic-neue-" version ".zip"))
1157 (sha256
1158 (base32
381828bb 1159 "0883542v915crz98v1ij6smgy40dg6gxwsid3j5nbmmqjf69kpal"))))
b963d8c2
AG
1160 (build-system font-build-system)
1161 (arguments
1162 `(#:phases
1163 (modify-phases %standard-phases
44636f57
AI
1164 ;; Delete Mac OS X specific files. If not deleted, these cause
1165 ;; several hidden files to be installed.
1166 (add-before 'install 'delete-macosx-files
1167 (lambda _
1168 (delete-file-recursively "__MACOSX")
1169 #t))
532f09df
AG
1170 (add-after 'install 'install-conf
1171 (lambda* (#:key outputs #:allow-other-keys)
1172 (let ((conf-dir (string-append (assoc-ref outputs "out")
1173 "/share/fontconfig/conf.avail")))
1174 (mkdir-p conf-dir)
1175 (call-with-output-file
1176 (string-append conf-dir "/30-comic-neue.conf")
1177 (lambda (port)
1178 (format port "<?xml version=\"1.0\"?>
1179<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">
1180<fontconfig>
1181 <!-- If Comic Sans is missing, use Comic Neue instead. -->
1182 <alias>
1183 <family>Comic Sans MS</family>
1184 <prefer>
1185 <family>Comic Neue</family>
1186 </prefer>
1187 </alias>
1188</fontconfig>\n"))))
b963d8c2
AG
1189 #t)))))
1190 (home-page "http://www.comicneue.com/")
1191 (synopsis "Font that fixes the shortcomings of Comic Sans")
1192 (description
1193 "Comic Neue is a font that attempts to create a respectable casual
446e1d51 1194typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
b963d8c2 1195 (license license:silofl1.1)))
de191caf
AG
1196
1197(define-public font-iosevka
1198 (package
208abeca 1199 (name "font-iosevka")
a4893b38 1200 ;; When updating, also update the hash of the Iosevka variant(s) below.
2cf19cac 1201 (version "3.4.7")
785747a9
TGR
1202 (source
1203 (origin
1204 (method url-fetch/zipbomb)
1205 (uri (string-append "https://github.com/be5invis/Iosevka"
1206 "/releases/download/v" version
1207 "/ttc-iosevka-" version ".zip"))
1208 (sha256
2cf19cac 1209 (base32 "178xyxz57ncigv715db0898d5arcx1l7qi73a8prb2fdlb7x2yx6"))))
4a9140b1 1210 (build-system font-build-system)
208abeca
AG
1211 (home-page "https://be5invis.github.io/Iosevka/")
1212 (synopsis "Coders' typeface, built from code")
1213 (description
1214 "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
de191caf
AG
1215by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
1216programming. Iosevka is completely generated from its source code.")
208abeca
AG
1217 (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
1218 license:bsd-3)))) ; supporting code
49dbae54 1219
c948cf90
TGR
1220(define-public font-iosevka-slab
1221 (package
1222 (inherit font-iosevka)
1223 (name "font-iosevka-slab")
1224 (version (package-version font-iosevka))
1225 (source
1226 (origin
1227 (method url-fetch/zipbomb)
1228 (uri (string-append "https://github.com/be5invis/Iosevka"
1229 "/releases/download/v" version
1230 "/ttc-iosevka-slab-" version ".zip"))
1231 (sha256
2cf19cac 1232 (base32 "1zqgly4ymmmz3ckfsc2vdxw6d62axcyl79fq3gi630c4951nfikz"))))))
c948cf90 1233
0673d55d
JS
1234(define-public font-iosevka-term
1235 (package
1236 (inherit font-iosevka)
1237 (name "font-iosevka-term")
1238 (version (package-version font-iosevka))
1239 (source
1240 (origin
1241 (method url-fetch/zipbomb)
1242 (uri (string-append "https://github.com/be5invis/Iosevka"
1243 "/releases/download/v" version
f3396e78 1244 "/ttf-iosevka-term-" version ".zip"))
0673d55d
JS
1245 (sha256
1246 (base32
2cf19cac 1247 "0nfwxhxgrgz3hhhrvr759263bm88zbh0zsavpnmphxwg9kykjq39"))))
0673d55d
JS
1248 (arguments
1249 `(#:phases
1250 (modify-phases %standard-phases
1251 (add-before 'install 'make-files-writable
1252 (lambda _
1253 (for-each make-file-writable (find-files "." ".*"))
1254 #t)))))))
1255
0161862d
JS
1256(define-public font-iosevka-term-slab
1257 (package
1258 (inherit font-iosevka)
1259 (name "font-iosevka-term-slab")
1260 (version (package-version font-iosevka))
1261 (source
1262 (origin
1263 (method url-fetch/zipbomb)
1264 (uri (string-append "https://github.com/be5invis/Iosevka"
1265 "/releases/download/v" version
f3396e78 1266 "/ttf-iosevka-term-slab-" version ".zip"))
0161862d
JS
1267 (sha256
1268 (base32
2cf19cac 1269 "01ynnwlfq3294p8v0656xw6wcfmqklf0yqwkqh3sh2wmj7rrs7wi"))))
0161862d
JS
1270 (arguments
1271 `(#:phases
1272 (modify-phases %standard-phases
1273 (add-before 'install 'make-files-writable
1274 (lambda _
1275 (for-each make-file-writable (find-files "." ".*"))
1276 #t)))))))
1277
7fd5f901
SE
1278(define-public font-iosevka-aile
1279 (package
1280 (inherit font-iosevka)
1281 (name "font-iosevka-aile")
1282 (version (package-version font-iosevka))
1283 (source
1284 (origin
1285 (method url-fetch/zipbomb)
1286 (uri (string-append "https://github.com/be5invis/Iosevka"
1287 "/releases/download/v" version
1288 "/ttc-iosevka-aile-" version ".zip"))
1289 (sha256
2cf19cac 1290 (base32 "0h4wzjyw3h5zbxzfb71z7aj5xwp8r1hd93qim6zicxfk9dgczgw5"))))))
7fd5f901
SE
1291
1292(define-public font-iosevka-etoile
1293 (package
1294 (inherit font-iosevka)
1295 (name "font-iosevka-etoile")
1296 (version (package-version font-iosevka))
1297 (source
1298 (origin
1299 (method url-fetch/zipbomb)
1300 (uri (string-append "https://github.com/be5invis/Iosevka"
1301 "/releases/download/v" version
1302 "/ttc-iosevka-etoile-" version ".zip"))
1303 (sha256
2cf19cac 1304 (base32 "1n1jy7g0q0kd4ihsyka1v02s7xgpg80rf9sml1yhxkqw5pq62972"))))))
7fd5f901
SE
1305
1306(define-public font-iosevka-sparkle
1307 (package
1308 (inherit font-iosevka)
1309 (name "font-iosevka-sparkle")
1310 (version (package-version font-iosevka))
1311 (source
1312 (origin
1313 (method url-fetch/zipbomb)
1314 (uri (string-append "https://github.com/be5invis/Iosevka"
1315 "/releases/download/v" version
1316 "/ttc-iosevka-sparkle-" version ".zip"))
1317 (sha256
2cf19cac 1318 (base32 "0chl6x3xy6alq64sax71psvpq6f6fgw6pbn04f5j5skgrbqkk292"))))))
7fd5f901 1319
839dba3a
ZZ
1320(define-public font-sarasa-gothic
1321 (package
1322 (name "font-sarasa-gothic")
94e72b75 1323 (version "0.12.7")
839dba3a
ZZ
1324 (source
1325 (origin
1326 (method url-fetch)
1327 (uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
1328 "/releases/download/v" version
1329 "/sarasa-gothic-ttc-" version ".7z"))
1330 (sha256
94e72b75 1331 (base32 "09v65k00g8m953s6riz9xjzb2jgr6v5pdhcllalzzl7c1cn2xl3k"))))
839dba3a
ZZ
1332 (build-system font-build-system)
1333 (arguments
1334 `(#:phases (modify-phases %standard-phases
1335 (replace 'unpack
1336 (lambda* (#:key source #:allow-other-keys)
1337 (mkdir "source")
1338 (chdir "source")
1339 (invoke "7z" "x" source))))))
1340 (native-inputs `(("p7zip" ,p7zip)))
1341 (home-page "https://github.com/be5invis/Sarasa-Gothic")
1342 (license license:silofl1.1)
1343 (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
1344 (description
1345 "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
1346most CJK characters are same height, and double width as ASCII characters.")))
1347
49dbae54 1348(define-public font-go
406c46e2 1349 (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
49dbae54
AG
1350 (revision "1"))
1351 (package
b6726480
AG
1352 (name "font-go")
1353 (version (string-append "20170330-" revision "." (string-take commit 7)))
1354 (source (origin
1355 (file-name (string-append "go-image-" version "-checkout"))
1356 (method git-fetch)
1357 (uri (git-reference
1358 (url "https://go.googlesource.com/image")
1359 (commit commit)))
1360 (sha256
1361 (base32
1362 "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d"))))
1363 (build-system font-build-system)
1364 (arguments
1365 `(#:phases
1366 (modify-phases %standard-phases
1367 (add-before 'install 'chdir
1368 (lambda _
1369 (chdir "font/gofont/ttfs")
1370 #t)))))
1371 (home-page "https://blog.golang.org/go-fonts")
1372 (synopsis "The Go font family")
1373 (description
1374 "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
49dbae54
AG
1375Holmes type foundry, released under the same license as the Go programming
1376language. It includes a set of proportional, sans-serif fonts, and a set of
1377monospace, slab-serif fonts.")
87f057c4 1378 (license license:bsd-3))))
824e5fe6
JMSG
1379
1380(define-public font-google-material-design-icons
1381 (package
99e9d598
AI
1382 (name "font-google-material-design-icons")
1383 (version "3.0.1")
1384 (source (origin
1e90e4b0
EF
1385 (method git-fetch)
1386 (uri (git-reference
b0e7b699 1387 (url "https://github.com/google/material-design-icons")
1e90e4b0
EF
1388 (commit version)))
1389 (file-name (git-file-name name version))
99e9d598
AI
1390 (sha256
1391 (base32
1e90e4b0 1392 "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
99e9d598 1393 (build-system font-build-system)
4fed9452 1394 (home-page "https://google.github.io/material-design-icons")
99e9d598
AI
1395 (synopsis "Icon font of Google Material Design icons")
1396 (description
1397 "Material design system icons are simple, modern, friendly, and sometimes
824e5fe6
JMSG
1398quirky. Each icon is created using our design guidelines to depict in simple
1399and minimal forms the universal concepts used commonly throughout a UI.
1400Ensuring readability and clarity at both large and small sizes, these icons
1401have been optimized for beautiful display on all common platforms and display
1402resolutions.")
99e9d598 1403 (license license:asl2.0)))
6bce5955 1404
30acf2f9 1405(define-public font-opendyslexic
abd8825f 1406 (package
30acf2f9
EF
1407 (name "font-opendyslexic")
1408 (version "0.91.12")
abd8825f 1409 (source
30acf2f9
EF
1410 (origin
1411 (method url-fetch/zipbomb)
1412 (uri (string-append "https://github.com/antijingoist/opendyslexic/"
1413 "releases/download/v" version
1414 "/opendyslexic-0.910.12-rc2-2019.10.17.zip"))
1415 (sha256
1416 (base32
1417 "11ml7v4iyf3hr0fbnkwz8afb8vi58wbcfnmn4gyvrwh9jk5pybdr"))))
abd8825f 1418 (build-system font-build-system)
30acf2f9
EF
1419 (native-inputs `(("unzip" ,unzip)))
1420 (home-page "https://opendyslexic.org/")
abd8825f 1421 (synopsis "Font for dyslexics and high readability")
1422 (description "OpenDyslexic is a font designed to help readability for some
1423of the symptoms of dyslexia. Letters have heavy weighted bottoms to provide
1424an indication of orientation to make it more difficult to confuse with other
1425similar letters. Consistently weighted bottoms can also help reinforce the
1426line of text. The unique shapes of each letter can help prevent flipping and
1427swapping. The italic style for OpenDyslexic has been crafted to be used for
1428emphasis while still being readable.")
30acf2f9
EF
1429 (license license:silofl1.1)))
1430
1431(define-public font-open-dyslexic
1432 (deprecated-package "font-open-dyslexic" font-opendyslexic))
27a10775 1433
ce574004 1434(define-public font-openmoji
1435 (package
1436 (name "font-openmoji")
1437 (version "12.4.0")
1438 (source
1439 (origin
1440 (method url-fetch/zipbomb)
1441 (uri
1442 (string-append "https://github.com/hfg-gmuend/openmoji/"
1443 "releases/download/" version
1444 "/openmoji-font.zip"))
1445 (sha256
1446 (base32
1447 "0wvvg5vnc950h8v23wfgjyi7rv89mgm5hqq6viqv0bxcc3azglxb"))))
1448 (build-system font-build-system)
1449 (native-inputs
1450 `(("unzip" ,unzip)))
1451 (home-page "https://openmoji.org")
1452 (synopsis "Font for rendering emoji characters")
1453 (description
1454 "This package provides the OpenMoji font in both color and black
1455variants.")
1456 (license license:cc-by-sa4.0)))
1457
27a10775 1458(define-public font-dosis
1459 (package
1460 (name "font-dosis")
1461 (version "1.7")
1462 (source
1463 (origin
6aa4f09e 1464 (method url-fetch/zipbomb)
e48ae0bc
TGR
1465 (uri (string-append "https://web.archive.org/web/20180228233737/"
1466 "https://www.impallari.com/media/releases/dosis-"
27a10775 1467 "v" version ".zip"))
1468 (sha256
e48ae0bc 1469 (base32 "1qhci68f68mf87jd69vjf9qjq3wydgw1q7ivn3amjb65ls1s0c4s"))))
6aa4f09e 1470 (build-system font-build-system)
e48ae0bc
TGR
1471 (home-page (string-append "https://web.archive.org/web/20180228233737/"
1472 "https://www.impallari.com/dosis"))
27a10775 1473 (synopsis "Very simple, rounded, sans serif family")
1474 (description
1475 "Dosis is a very simple, rounded, sans serif family.
1476The lighter weights are minimalist. The bolder weights have more personality.
1477The medium weight is nice and balanced. The overall result is a family
1478that's clean and modern, and can express a wide range of voices & feelings.
1479It comes in 7 incremental weights:
1480ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
1481 (license license:silofl1.1)))
f8602046 1482
733d66a5 1483(define-public font-culmus
f8602046 1484 (package
733d66a5 1485 (name "font-culmus")
cebec8bd 1486 (version "0.133")
f8602046 1487 (source
733d66a5
AI
1488 (origin
1489 (method url-fetch)
1490 (uri (string-append "https://sourceforge.net/projects/"
1491 "culmus/files/culmus/" version "/culmus-src-"
1492 version ".tar.gz"))
1493 (sha256
1494 (base32
cebec8bd 1495 "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
0328c514 1496 (build-system font-build-system)
f8602046 1497 (arguments
0328c514 1498 `(#:phases
f8602046 1499 (modify-phases %standard-phases
0328c514 1500 (add-before 'install 'build
f8602046
EF
1501 (lambda _
1502 (let ((compile
1503 (lambda (name ext)
0328c514
AI
1504 (invoke
1505 "fontforge" "-lang=ff"
1506 "-c" (string-append "Open('" name "');"
1507 "Generate('"
1508 (basename name "sfd") ext
1509 "')")))))
f8602046 1510 ;; This part based on the fonts shipped in the non-source package.
0328c514
AI
1511 (for-each (lambda (name)
1512 (compile name "ttf"))
1513 (find-files "." "^[^Nachlieli].*\\.sfd$"))
1514 (for-each (lambda (name)
1515 (compile name "otf"))
1516 (find-files "." "^Nachlieli.*\\.sfd$"))
f8602046
EF
1517 #t))))))
1518 (native-inputs
1519 `(("fontforge" ,fontforge)))
1520 (home-page "http://culmus.sourceforge.net/")
1521 (synopsis "TrueType Hebrew Fonts for X11")
1522 (description "14 Hebrew trivial families. Contain ASCII glyphs from various
1523sources. Those families provide a basic set of a serif (Frank Ruehl), sans
1524serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam,
1525Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is
1526available in Keter YG.")
1527 (license license:gpl2))) ; consult the LICENSE file included
4769ef00
AI
1528
1529(define-public font-lohit
1530 (package
1531 (name "font-lohit")
1532 (version "20140220")
1533 (source
1534 (origin
1535 (method url-fetch)
1536 (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-"
1537 version ".tar.gz"))
1538 (sha256
1539 (base32
1540 "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"))))
1541 (build-system font-build-system)
1542 (home-page "https://pagure.io/lohit")
1543 (synopsis "Lohit TrueType Indic fonts")
1544 (description "Lohit is a font family designed to cover Indic scripts.
1545Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
1546Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
1547Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
1548 (license license:silofl1.1)))
f00d66b1
LC
1549
1550(define-public font-blackfoundry-inria
1551 (package
1552 (name "font-blackfoundry-inria")
1553 (version "1.200")
1554 (home-page "https://github.com/BlackFoundry/InriaFonts")
1555 (source (origin
1556 (method git-fetch)
1557 (uri (git-reference
1558 (url home-page)
1559 (commit (string-append "v" version))))
1560 (sha256
1561 (base32
1562 "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8"))
1563 (file-name (string-append name "-" version "-checkout"))))
1564 ;; XXX: There are .ufo directories (the "source") so in theory we should
1565 ;; be able to rebuild TTF and OTF files with FontForge. Unfortunately a
1566 ;; command like:
1567 ;;
1568 ;; fontforge -lang=ff -c "Open('InriaSans-Regular.ufo'); Generate('foo.ttf');"
1569 ;;
1570 ;; segfaults in '_UFOLoadGlyph', which calls out to libpython. :-/
1571 ;; In the meantime we ship the precompiled OTF and TTF files.
1572 (build-system font-build-system)
1573 (synopsis "Inria Sans and Inria Serif type family")
1574 (description
1575 "Inria Sans and Inria Serif are the two members of a type family designed
1576for Inria, a public research institute in computer science and mathematics.")
1577 (license license:silofl1.1)))
1d641734
LC
1578
1579(define-public font-sil-gentium
1580 (package
1581 (name "font-sil-gentium")
1582 (version "5.000")
1583 (source (origin
1584 (method url-fetch)
1585 (uri (string-append
1586 "https://software.sil.org/downloads/r/gentium/GentiumPlus-"
1587 version ".zip"))
1588 (sha256
1589 (base32
1590 "0m7189870hha217n1vgpmf89mwggrxkh679ffi1lxpnjggqi2n9k"))))
1591 ;; Note: The zip file provides TTF files only, but the developer release,
1592 ;; which contains additional files, has a 'SOURCES.txt' file that says
1593 ;; that "the primary source files for the fonts are the fonts themselves".
1594 ;; Thus it looks like the TTF can be considered source.
1595 (build-system font-build-system)
1596 (synopsis "Serif font for the Cyrillic, Greek, and Latin alphabets")
1597 (description
1598 "Gentium is a typeface family designed to enable the diverse ethnic
1599groups around the world who use the Latin, Cyrillic and Greek scripts to
1600produce readable, high-quality publications. The font comes with regular and
1601italics shapes. This package provides only TrueType files (TTF).")
1602 (home-page "https://software.sil.org/gentium/")
1603 (license license:silofl1.1)))
46e78707 1604
4b360985
NG
1605(define-public font-sil-andika
1606 (package
1607 (name "font-sil-andika")
1608 (version "5.000")
1609 (source (origin
1610 (method url-fetch)
1611 (uri (string-append
1612 "https://software.sil.org/downloads/r/andika/Andika-"
1613 version ".zip"))
1614 (sha256
1615 (base32
1616 "01zm7p32gxfwmv7h3cfj2vx59846w2y6rxqy67grn2dyjh8pljv0"))))
1617 ;; As for Gentium (see above), the TTF files are considered source.
1618 (build-system font-build-system)
1619 (synopsis "Sans serif font designed especially for literacy use")
1620 (description
1621 "Andika SIL is a sans serif, Unicode-compliant font designed especially
1622for literacy use, taking into account the needs of beginning readers. The
1623focus is on clear, easy-to-perceive letterforms that will not be readily
1624confused with one another. This package provides only TrueType files (TTF).")
1625 (home-page "https://software.sil.org/andika/")
1626 (license license:silofl1.1)))
1627
46e78707
LC
1628(define-public font-sil-charis
1629 (package
1630 (name "font-sil-charis")
1631 (version "5.000")
1632 (source (origin
1633 (method url-fetch)
1634 (uri (string-append
1635 "https://software.sil.org/downloads/r/charis/CharisSIL-"
1636 version ".zip"))
1637 (sha256
1638 (base32
1639 "1zcvw37f1a7gkml3yfm6hxh93844llm7xj4w52600qq3ndrm8gjy"))))
1640 ;; As for Gentium (see above), the TTF files are considered source.
1641 (build-system font-build-system)
1642 (synopsis "Serif font for the Cyrillic and Latin alphabets")
1643 (description
1644 "Charis SIL is a Unicode-based font family that supports the wide range
1645of languages that use the Latin and Cyrillic scripts. It is specially
1646designed to make long texts pleasant and easy to read, even in less than ideal
1647reproduction and display environments. This package provides only TrueType
1648files (TTF).")
1649 (home-page "https://software.sil.org/charis/")
1650 (license license:silofl1.1)))
3c5e1364
GH
1651
1652(define-public font-mononoki
1653 (package
1654 (name "font-mononoki")
1655 (version "1.2")
1656 (source (origin
1657 (method git-fetch)
1658 (uri (git-reference
1659 (url "https://github.com/madmalik/mononoki/")
1660 (commit version)))
1661 (sha256
1662 (base32
1663 "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
1664 (file-name (git-file-name name version))))
1665 (build-system font-build-system)
1666 (synopsis "Font for programming and code review")
1667 (description
1668 "Mononoki is a typeface by Matthias Tellen, created to enhance code
1669formatting.")
1670 (home-page "https://madmalik.github.io/mononoki/")
1671 (license license:silofl1.1)))
245aa0e3
J
1672
1673(define-public font-public-sans
1674 (package
1675 (name "font-public-sans")
6677f33d
TGR
1676 (version "1.008")
1677 (source
1678 (origin
1679 (method git-fetch)
1680 (uri (git-reference
b0e7b699 1681 (url "https://github.com/uswds/public-sans")
6677f33d
TGR
1682 (commit (string-append "v" version))))
1683 (file-name (git-file-name name version))
1684 (sha256
1685 (base32 "1qhyxbjv1rnydfpqzd18fbiyz75p4sabphy8yj07hyq0hidp5xsf"))))
245aa0e3
J
1686 (build-system font-build-system)
1687 (home-page "https://public-sans.digital.gov/")
4c89dc35 1688 (synopsis "Neutral typeface for interfaces, text, and headings")
245aa0e3 1689 (description
4c89dc35
LC
1690 "Public Sans is a strong, neutral, sans-serif typeface for text or
1691display based on Libre Franklin.")
245aa0e3 1692 (license license:silofl1.1)))
50867421
Z
1693
1694(define-public font-hermit
1695 (package
1696 (name "font-hermit")
1697 (version "2.0")
1698 (source (origin
1731b297 1699 (method url-fetch/tarbomb)
50867421
Z
1700 (uri (string-append "https://pcaro.es/d/otf-hermit-" version
1701 ".tar.gz"))
1702 (sha256
1703 (base32
1704 "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0"))))
1705 (build-system font-build-system)
1706 (arguments
1731b297 1707 `(#:tests? #f))
50867421
Z
1708 (home-page "https://pcaro.es/p/hermit/")
1709 (synopsis "Monospace font")
1710 (description
1711 "Hermit is a monospace font designed to be clear, pragmatic and very
1712readable. Its creation has been focused on programming. Every glyph was
1713carefully planned and calculated, according to defined principles and rules.
1714For this reason, Hermit is coherent and regular.
1715
1716Symbols stand out from common text. Dots and commas are easily seen, and
1717operators are clear even when not surrounded by spaces. Similar characters
1718have been designed to be very distinguishable from each other.")
1719 (license license:silofl1.1)))
600f680d
AT
1720
1721(define-public font-dseg
1722 (package
1723 (name "font-dseg")
1724 (version "0.45")
1725 (source
1726 (origin
1727 (method url-fetch/zipbomb)
1728 (uri
1729 (string-append "https://github.com/keshikan/DSEG/"
1730 "releases/download/v" version
1731 "/fonts-DSEG_v"
1732 (string-concatenate (string-split version #\.))
1733 ".zip"))
1734 (sha256
1735 (base32
1736 "0v8sghh4vl286faf8pvi74znz07pyf0qii8z4wjllisqwc35sx72"))))
1737 (build-system font-build-system)
1738 (arguments
1739 `(#:phases
1740 (modify-phases %standard-phases
1741 (replace 'install
1742 (lambda* (#:key outputs #:allow-other-keys)
1743 (let* ((out (assoc-ref outputs "out"))
1744 (font-dir (string-append out "/share/fonts"))
1745 (truetype-dir (string-append font-dir "/truetype")))
1746 (with-directory-excursion
1747 (string-append "fonts-DSEG_v"
1748 (apply string-append (string-split ,version
1749 #\.)))
1750 (for-each (lambda (f) (install-file f truetype-dir))
1751 (find-files "." "\\.ttf$"))
1752 #t)))))))
1753 (home-page "https://www.keshikan.net/fonts-e.html")
1754 (synopsis "DSEG: 7-segment and 14-segment fonts")
1755 (description
1756 "DSEG is a font family that imitates seven- and fourteen-segment LCD
1757displays (7SEG, 14SEG). DSEG includes the roman alphabet and symbol glyphs.
1758This package provides the TrueType fonts.")
1759 (license license:silofl1.1)))
200514cd
DC
1760
1761(define-public font-jetbrains-mono
1762 (package
1763 (name "font-jetbrains-mono")
1d17a07e 1764 (version "2.210")
200514cd
DC
1765 (source
1766 (origin
1767 (method url-fetch)
1768 (uri
1d17a07e
TGR
1769 (string-append "https://github.com/JetBrains/JetBrainsMono/releases/"
1770 "download/v" version "/JetBrainsMono-" version ".zip"))
200514cd 1771 (sha256
1d17a07e 1772 (base32 "19wbggnmqs3k1wdqy7l7imnx23g7hh159pl32nz3mzz8s8sqfdix"))))
200514cd 1773 (build-system font-build-system)
dc4adbf6
MR
1774 (arguments
1775 `(#:phases
1776 (modify-phases %standard-phases
48a61e45 1777 (add-before 'install-license-files 'change-directory-to-archive-root
1d17a07e 1778 ;; Find the license file outside of the default subdirectory.
48a61e45
TGR
1779 (lambda _
1780 (chdir "..")
1d17a07e
TGR
1781 #t))
1782 (replace 'install-license-files
1783 (lambda* (#:key outputs #:allow-other-keys)
1784 (let* ((out (assoc-ref outputs "out"))
1785 (doc (string-append out "/share/doc/" ,name "-" ,version)))
1786 (install-file "OFL.txt" doc)
1787 #t))))))
200514cd
DC
1788 (home-page "https://www.jetbrains.com/lp/mono/")
1789 (synopsis "Mono typeface for developers")
1790 (description
1791 "JetBrains Mono is a font family dedicated to developers. JetBrains
1792Mono’s typeface forms are simple and free from unnecessary details. Rendered
1793in small sizes, the text looks crisper.")
1794 (license license:asl2.0)))
76a8dc3e 1795
0e744361 1796(define-public font-juliamono
1797 (package
1798 (name "font-juliamono")
1799 (version "0.025")
1800 (source
1801 (origin
1802 (method git-fetch)
1803 (uri (git-reference
1804 (url "https://github.com/cormullion/juliamono")
1805 (commit (string-append "v" version))))
1806 (file-name (git-file-name name version))
1807 (sha256
1808 (base32 "1w8mpl9zc1y4j1f26ikbz5g9dqsszhikp4r9p1d3ch3b5ayb5c3m"))))
1809 (build-system font-build-system)
1810 (arguments
1811 `(#:phases
1812 (modify-phases %standard-phases
1813 (add-after 'unpack 'delete-website-folder
1814 ;; This folder contains other unrelated fonts.
1815 (lambda _
1816 (delete-file-recursively "website")
1817 #t)))))
1818 (home-page "https://github.com/cormullion/juliamono")
1819 (synopsis "Monospaced font for programming")
1820 (description
1821 "JuliaMono is a monospaced font for scientific and technical computing,
1822designed to work for programming in the Julia Programming Language and other
1823text environments.")
1824 (license license:silofl1.1)))
1825
76a8dc3e
AB
1826(define-public font-vazir
1827 (package
1828 (name "font-vazir")
1829 (version "22.1.0")
1830 (source
1831 (origin
1832 (method url-fetch/zipbomb)
1833 (uri
1834 (string-append "https://github.com/rastikerdar/vazir-font/"
1835 "releases/download/v" version
1836 "/vazir-font-v" version ".zip"))
1837 (sha256
1838 (base32
1839 "0w3gwb5q33x5llw7cfs8qhaxr4ssg6rsx4b9day3993zn24xq031"))))
1840 (build-system font-build-system)
1841 (home-page "https://rastikerdar.github.io/vazir-font/")
1842 (synopsis "Vazir Persian typeface")
1843 (description
1844 "Vazir is a beautiful and elegant Persian typeface originally based on
1845DejaVu, and comes in six variants: Thin, Light, Normal, Medium, Bold, and
1846Black. This package provides four versions of Vazir:
1847
1848@itemize
1849@item @code{Vazir}: The main version; includes Latin glyphs from Roboto.
1850@item @code{Vazir-FD}: Like @code{Vazir}, but (always) uses Farsi digit glyphs
1851instead of Latin ones.
1852@item @code{Vazir-WOL}: Like @code{Vazir}, but without Roboto's Latin glyphs.
1853@item @code{Vazir-FD-WOL}: Combination of @code{Vazir-FD} and @code{Vazir-WOL}:
1854always uses Farsi digits, and does not include Latin glyphs from Roboto.
1855@end itemize\n")
1856 (license
1857 ;; See https://github.com/rastikerdar/vazir-font/blob/master/LICENSE for
1858 ;; details.
1859 (list license:public-domain ; the Vazir modifications to DejaVu
1860 ; and the DejaVu modifications to...
1861 (license:x11-style ; ...the Bitstream Vera typeface
1862 "file://LICENSE" "Bitstream Vera License")
1863 license:asl2.0)))) ; Latin glyphs from Roboto
ed248424
AI
1864
1865(define-public font-meera-inimai
1866 (package
1867 (name "font-meera-inimai")
1868 (version "2.0")
1869 (source
1870 (origin
1871 (method git-fetch)
1872 (uri (git-reference
1873 (url "https://gitlab.com/smc/meera-inimai")
1874 (commit "0f39cdd7dbf1b6d1bed7df85834d33789dce20a7")))
1875 (file-name (git-file-name name version))
1876 (sha256
1877 (base32
1878 "1x5mhrpx24imh0r4l83mkaiszxgwi1q4ppyyvq63h3ddwk20cwdg"))))
1879 (build-system gnu-build-system)
1880 (native-inputs
1881 `(("fontforge" ,fontforge)
1882 ("harfbuzz" ,harfbuzz "bin")
1883 ("python" ,python-minimal)
1884 ("python-fonttools" ,python-fonttools)
1885 ("python-google-brotli" ,python-google-brotli)))
1886 (arguments
1887 `(#:make-flags (list "PY=python3"
1888 (string-append "DESTDIR=" %output)
1889 "fontpath=/share/fonts/truetype")
1890 #:test-target "test"
1891 #:phases
1892 (modify-phases %standard-phases
1893 (delete 'configure))))
1894 (home-page "https://gitlab.com/smc/meera-inimai")
1895 (synopsis "Meera Inimai Tamil font")
1896 (description "Meera Inimai is a Unicode font for the Tamil Script. Meera
1897Inimai is a san-serif typeface. It is best used as a screen font for body
1898text. It is also useful for body text of printed pamphlets or single page
1899designs. Meera Inimai can be thought of as similar to Helvetica and its
1900variation Arial. Tamil characters are inherently vertically-elliptical. The
1901orthography of Roman glyphs of Meera Inimai are also based on this
1902characteristic so that they sit smoothly with the Tamil glyphs.")
1903 (license license:silofl1.1)))
3c102716
JL
1904
1905(define-public font-ipa-mj-mincho
1906 (package
1907 (name "font-ipa-mj-mincho")
1908 (version "006.01")
1909 (source (origin
1910 (method url-fetch/zipbomb)
1911 (uri (string-append "https://mojikiban.ipa.go.jp/OSCDL/IPAmjMincho"
1912 "/ipamjm" (string-join (string-split version #\.) "")
1913 ".zip"))
1914 (sha256
1915 (base32
1916 "0s2vs9p7vd7ajnn6c2icli069sjwi4d45a39fczqpwwn507lwj9m"))))
1917 (build-system font-build-system)
1918 (arguments
1919 `(#:phases
1920 (modify-phases %standard-phases
1921 (add-after 'install 'install-doc
1922 (lambda* (#:key outputs #:allow-other-keys)
1923 (let ((doc-dir (string-append (assoc-ref outputs "out")
1924 "/share/doc/font-ipa-mj-mincho")))
1925 (mkdir-p doc-dir)
1926 (copy-file "Readme.txt" (string-append doc-dir "/README"))
1927 (copy-file "IPA_Font_License_Agreement_v1.0.txt"
1928 (string-append doc-dir "/LICENSE"))
1929 #t))))))
1930 (home-page "https://mojikiban.ipa.go.jp/1300.html")
1931 (synopsis "Japanese font from the Information-technology Promotion Agency")
1932 (description "MJM Mincho is a font that aims at, for example, allowing you
1933to write people's name, or for formal business situations where it is necessary
1934to have a detailed and proper character style.")
1935 (license license:ipa)))
5dca64fc
JL
1936
1937(define-public font-fontna-yasashisa-antique
1938 (package
1939 (name "font-fontna-yasashisa-antique")
1940 (version "0")
1941 (source (origin
1942 (method url-fetch)
1943 (uri (string-append "http://flop.sakura.ne.jp/font/fontna-op/"
1944 "YasashisaAntiqueFont.zip"))
1945 (sha256
1946 (base32
1947 "1hl2qk3lzmh9h2vv5647vhlslkn3vqbq9rqgp4wzybajafx8c6nj"))))
1948 (build-system font-build-system)
1949 (arguments
1950 `(#:phases
1951 (modify-phases %standard-phases
1952 ;; encoding issues cause many phases to fail
1953 (add-after 'unpack 'fix-encoding
1954 (lambda _
1955 ;; This directory, TrueType(サポート外), is not properly encoded,
1956 ;; which makes rename-file fail. Instead, use shell globbing to
1957 ;; select and rename the directory.
1958 (invoke "sh" "-c" "mv TrueType* TrueType")
1959 #t)))))
1960 (native-inputs
1961 `(("bash" ,bash-minimal)
1962 ("coreutils" ,coreutils)))
1963 (home-page "http://www.fontna.com/blog/1122/")
1964 (synopsis "Mix font of gothic kanji and minchou kana")
1965 (description "Antique is a font that is popular to write manga bubbles,
1966dictionary headwords and picture books. This font reduces the thickness
1967differences in characters compared to other antique fonts.")
1968 (license (list license:ipa
1969 (license:non-copyleft "mplus-TESTFLIGHT-057/LICENSE_E")))))
3f3c61b8
JL
1970
1971(define-public font-mplus-testflight
1972 (package
1973 (name "font-mplus-testflight")
1974 (version "063a")
1975 (source (origin
1976 (method url-fetch)
1977 (uri (string-append "https://osdn.net/frs/redir.php?"
1978 "m=gigenet&f=mplus-fonts%2F62344%2Fmplus-TESTFLIGHT-"
1979 version ".tar.xz"))
1980 (file-name (string-append name "-" version ".tar.xz"))
1981 (sha256
1982 (base32
1983 "0yfx9i77638yrgclnwwl4af79ri3vifi1nslwi6mgzva9cxrgss4"))))
1984 (build-system font-build-system)
1985 (home-page "https://mplus-fonts.osdn.jp/index.html")
1986 (synopsis "Japanese font collection")
1987 (description "M+ is a collection of Japanese fonts with all Latin glyph
1988sets, with Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA
1989Extensions. In addition to European letters used in many Western European
1990languages, it contains Japanese characters, including Kana glyphs and more
1991than 5,300 Kanji glyphs, as well major international phonetic symbols,
1992operators and special symbols.")
1993 (license (license:non-copyleft "file:///LICENSE_E"))))
eb404f30
AI
1994
1995(define-public font-catamaran
1996 (let ((commit "7559b4906f9c9148fb22c6f89508c3053a78a296")
1997 (revision "1"))
1998 (package
1999 (name "font-catamaran")
2000 (version (git-version "0.0.0" revision commit))
2001 (source
2002 (origin
2003 (method git-fetch)
2004 (uri (git-reference
2005 (url "https://github.com/VanillaandCream/Catamaran-Tamil")
2006 (commit commit)))
2007 (file-name (git-file-name name version))
2008 (sha256
2009 (base32
2010 "1wpp41l7j2kpgnyavhgxcc5wp852a4wqsnwravn39gp980s84yxw"))))
2011 (build-system font-build-system)
2012 (home-page "https://github.com/VanillaandCream/Catamaran-Tamil")
2013 (synopsis "9 weight Tamil and Latin type")
2014 (description "Catamaran is a 9 weight Tamil and Latin type. Catamaran
2015is a stylish type with a polished yet relaxed feel. Its versatility makes it
2016suitable for a wide range of uses.")
2017 (license license:silofl1.1))))