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