Merge branch 'master' into staging
[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 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, 2018, 2019, 2020 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 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 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 ;;;
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)
58 #:use-module (ice-9 regex)
59 #:use-module (guix utils)
60 #:use-module ((guix licenses) #:prefix license:)
61 #:use-module (guix packages)
62 #:use-module (guix download)
63 #:use-module (guix git-download)
64 #:use-module (guix build-system font)
65 #:use-module (guix build-system gnu)
66 #:use-module (guix build-system meson)
67 #:use-module (guix build-system trivial)
68 #:use-module (gnu packages base)
69 #:use-module (gnu packages bash)
70 #:use-module (gnu packages compression)
71 #:use-module (gnu packages fontutils)
72 #:use-module (gnu packages gettext)
73 #:use-module (gnu packages glib)
74 #:use-module (gnu packages gtk)
75 #:use-module (gnu packages perl)
76 #:use-module (gnu packages pkg-config)
77 #:use-module (gnu packages python)
78 #:use-module (gnu packages python-xyz)
79 #:use-module (gnu packages xorg))
80
81 (define-public font-ibm-plex
82 (package
83 (name "font-ibm-plex")
84 (version "4.0.2")
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
92 "17bd84ic7z9hkcjy4bwnh4z51bnkh2vrjzwvs9g6lwzmxjswa5b6"))))
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
97 Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The
98 fonts have been designed to work well in user interface (UI) environments as
99 well as other mediums.")
100 (license license:silofl1.1)))
101
102 (define-public font-inconsolata
103 (package
104 (name "font-inconsolata")
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"))))
113 (build-system font-build-system)
114 (home-page "https://levien.com/type/myfonts/inconsolata.html")
115 (synopsis "Monospace font")
116 (description "A monospace font, designed for code listings and the like,
117 in print. With attention to detail for high resolution rendering.")
118 (license license:silofl1.1)))
119
120 (define-public font-ubuntu
121 (package
122 (name "font-ubuntu")
123 (version "0.83")
124 (source (origin
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))
130 (sha256
131 (base32
132 "1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
133 (build-system font-build-system)
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
137 that has a very distinctive look and feel. This package provides the
138 TrueType (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
144 (define-public font-dejavu
145 (package
146 (name "font-dejavu")
147 (version "2.37")
148 (source (origin
149 (method url-fetch)
150 (uri (string-append "mirror://sourceforge/dejavu/dejavu/"
151 version "/dejavu-fonts-ttf-"
152 version ".tar.bz2"))
153 (sha256
154 (base32
155 "1mqpds24wfs5cmfhj57fsfs07mji2z8812i5c4pi5pbi738s977s"))))
156 (build-system font-build-system)
157 (arguments
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")))
164 (copy-recursively "fontconfig" conf-dir)
165 #t))))))
166 (home-page "https://dejavu-fonts.github.io/")
167 (synopsis "Vera font family derivate with additional characters")
168 (description "DejaVu provides an expanded version of the Vera font family
169 aiming for quality and broader Unicode coverage while retaining the original
170 Vera style. DejaVu currently works towards conformance to the Multilingual
171 European Standards (MES-1 and MES-2) for Unicode coverage. The DejaVu fonts
172 provide serif, sans and monospaced variants.")
173 (license
174 (license:x11-style
175 "http://dejavu-fonts.org/"))))
176
177 (define-public font-bitstream-vera
178 (package
179 (name "font-bitstream-vera")
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"))))
189 (build-system font-build-system)
190 (home-page "https://www.gnome.org/fonts/")
191 (synopsis "Bitstream Vera sans-serif typeface")
192 (description "Vera is a sans-serif typeface from Bitstream, Inc. This
193 package provides the TrueType (TTF) files.")
194 (license
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
198 no copy of one or more of the Font Software typefaces may be sold by
199 itself."))))
200
201 (define-public font-cantarell
202 (package
203 (name "font-abattis-cantarell")
204 (version "0.201")
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
212 "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn"))))
213 (build-system meson-build-system)
214 (native-inputs
215 `(("gettext" ,gettext-minimal))) ; for msgfmt
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
219 sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
220 (license license:silofl1.1)))
221
222 (define-public font-lato
223 (package
224 (name "font-lato")
225 (version "2.015") ; also update description
226 (source (origin
227 (method url-fetch/zipbomb)
228 (uri (string-append "https://www.latofonts.com/download/Lato2OFL.zip"))
229 (sha256
230 (base32
231 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
232 (build-system font-build-system)
233 (home-page "https://www.latofonts.com/lato-free-fonts/")
234 (synopsis "Lato sans-serif typeface")
235 (description
236 "Lato is a sanserif typeface family. It covers over 3000 glyphs per style.
237 The Lato 2.010 family supports more than 100 Latin-based languages, over
238 50 Cyrillic-based languages as well as Greek and IPA phonetics.")
239 (license license:silofl1.1)))
240
241 (define-public font-gnu-freefont
242 (package
243 (name "font-gnu-freefont")
244 ;; Note: Remove the special FontForge input and package once the 2020
245 ;; release is out.
246 (version "20120503")
247 (source (origin
248 (method url-fetch)
249 (uri (string-append "mirror://gnu/freefont/freefont-src-"
250 version ".tar.gz"))
251 (sha256
252 (base32
253 "0yk58blhcd4hm7nyincmqq4jrzjjk82wif2zmk1l3y2m4vif4qhd"))))
254 (build-system gnu-build-system)
255 (arguments
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))
262 (ttf-font-dir (string-append %output
263 "/share/fonts/truetype"))
264 (otf-font-dir (string-append %output
265 "/share/fonts/opentype"))
266 (woff-font-dir (string-append %output
267 "/share/fonts/webfonts")))
268 (mkdir-p doc-dir)
269 (substitute* "Makefile"
270 (("\\$\\(TMPDIR\\)") doc-dir)
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)
283 (for-each (lambda (file)
284 (install-file file ttf-font-dir))
285 (filter
286 (lambda (file) (string-suffix? "ttf" file))
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))
297 (find-files "." "")))))))
298 #:test-target "tests"))
299 ;; FreeFont anno 2012 requires a FontForge built with Python 2.
300 (native-inputs `(("fontforge" ,fontforge-20190801)))
301 (home-page "https://www.gnu.org/software/freefont/")
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
306 10646/Unicode UCS (Universal Character Set).")
307 (license license:gpl3+)
308 (properties '((upstream-name . "freefont")
309 (ftp-directory . "/gnu/freefont")))))
310
311 (define-public font-gnu-freefont-ttf
312 (deprecated-package "font-gnu-freefont-ttf" font-gnu-freefont))
313
314 (define-public font-liberation
315 (package
316 (name "font-liberation")
317 (version "2.1.1")
318 (source
319 (origin
320 (method url-fetch)
321 (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
322 "files/4743886/liberation-fonts-ttf-" version ".tar.gz"))
323 (sha256
324 (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf"))))
325 (build-system font-build-system)
326 (home-page "https://github.com/liberationfonts")
327 (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
328 (description
329 "The Liberation font family aims at metric compatibility with
330 Arial, Times New Roman, and Courier New.
331 There are three sets:
332
333 @enumerate
334 @item Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and
335 Bitstream Vera Sans);
336 @item Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and
337 Bitstream Vera Serif);
338 @item Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L,
339 and Bitstream Vera Sans Mono).
340 @end enumerate
341
342 The Liberation Fonts are sponsored by Red Hat.")
343 (license license:silofl1.1)))
344
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"))))
357 (build-system font-build-system)
358 (arguments
359 `(#:phases
360 (modify-phases %standard-phases
361 (add-before 'install 'build
362 (lambda _
363 (let ((compile
364 (lambda (name ext)
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$"))
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
381 both a Serif version (\"Linux Libertine\") and a Sans Serif (\"Linux
382 Biolinum\") designed to be used together as an alternative for Times/Times New
383 Roman and Helvetica/Arial. The Serif typeface comes in two shapes and two
384 weights, and with a Small Capitals version of the regular typeface. Linux
385 Biolinum 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
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
406 many bugs in the unmaintained original and adds a new mathematical companion
407 font for use with OpenType math-capable applications like LuaTex or XeTeX.
408
409 The 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
418 (define-public font-terminus
419 (package
420 (name "font-terminus")
421 (version "4.48")
422 (source
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
428 (base32 "1bwlkj39rqbyq57v5yssayav6hzv1n11b9ml2s0dpiyfsn6rqy9l"))))
429 (build-system gnu-build-system)
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)))))))
446 (native-inputs
447 `(("bdftopcf" ,bdftopcf)
448 ("font-util" ,font-util)
449 ("mkfontdir" ,mkfontdir)
450 ("pkg-config" ,pkg-config)
451 ("python" ,python)))
452 (home-page "http://terminus-font.sourceforge.net/")
453 (synopsis "Simple bitmap programming font")
454 (description "Terminus Font is a clean, fixed-width bitmap font, designed
455 for long periods of working with computers (8 or more hours per day).")
456 (license license:silofl1.1)))
457
458 (define-public font-adobe-source-han-sans
459 (package
460 (name "font-adobe-source-han-sans")
461 (version "1.004")
462 (source (origin
463 (method git-fetch)
464 (uri (git-reference
465 (url "https://github.com/adobe-fonts/source-han-sans")
466 (commit (string-append version "R"))))
467 (file-name (git-file-name name version))
468 (sha256
469 (base32
470 "0zm884d8fp5gvirq324050kqv7am9khyqhs9kk4r4rr3jzn61jpk"))))
471 (outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
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))
479 (let ((install-opentype-fonts
480 (lambda (fonts-dir out)
481 (copy-recursively fonts-dir
482 (string-append (assoc-ref %outputs out)
483 "/share/fonts/opentype")))))
484 (chdir (assoc-ref %build-inputs "source"))
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")
489 (install-opentype-fonts "SubsetOTF/TW" "tw")
490 (for-each delete-file (find-files %output "\\.zip$"))
491 #t))))
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
496 seven weights: ExtraLight, Light, Normal, Regular, Medium, Bold, and Heavy.
497 And in several OpenType/CFF-based deployment configurations to accommodate
498 various system requirements or limitations. As the name suggests, Pan-CJK
499 fonts are intended to support the characters necessary to render or display
500 text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
501 (license license:silofl1.1)))
502
503 (define-public font-cns11643
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.
508 (package
509 (name "font-cns11643")
510 (version "98.1.20180605")
511 (source (origin
512 (method url-fetch)
513 (uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
514 (sha256
515 (base32
516 "000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw"))))
517 (build-system font-build-system)
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
522 Standard Interchange Code) is the standard character set of the Republic of
523 China (Taiwan) for Chinese Characters and other Unicode symbols. Contained
524 are six TrueType fonts based on two script styles, Regular script (Kai), and
525 Sung/Ming script, each with three variants:
526
527 @itemize
528 @item @code{CNS 11643} (@code{TW-Kai} and @code{TW-Sung}): Tens of thousands
529 of CJK characters from frequency tables published by the Taiwanese
530 Ministry of Education. ISO 10646 and Unicode compatible encoding.
531 @item @code{Big-5 Plus}: Several thousand frequently used CJK characters
532 encoded 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
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"))))
550 (build-system font-build-system)
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
557 text of the same name published by the Executive Yuan of Taiwan. 6721 glyphs
558 are included, at Unicode compatible code points corresponding to their modern
559 variants.")
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
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
572 "mirror://sourceforge/wqy/wqy-zenhei/" version
573 "%20%28Fighting-state%20RC1%29/wqy-zenhei-"
574 version ".tar.gz"))
575 (sha256
576 (base32
577 "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"))))
578 (build-system font-build-system)
579 (home-page "http://wenq.org/wqy2/")
580 (synopsis "CJK font")
581 (description
582 "WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline
583 font. It is designed for general purpose text formatting and on-screen
584 display of Chinese characters and symbols from many other languages.
585 WenQuanYi Zen Hei provides a rather complete coverage of Chinese Hanzi glyphs,
586 including both simplified and traditional forms. The total glyph number in
587 this font is over 35,000, including over 21,000 Chinese Hanzi. This font has
588 full coverage of the GBK (CP936) charset, CJK Unified Ideographs, as well as
589 the code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
590 ko (Korean) locales for @code{fontconfig}.")
591 ;; GPLv2 with font embedding exception.
592 (license license:gpl2)))
593
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"))))
605 (build-system font-build-system)
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
610 Dotum among the Chinese/Japanese/Korean users) high quality CJK outline font.
611 It was derived from \"Droid Sans Fallback\" and \"Droid Sans\" released by
612 Google Inc. This font contains all the unified CJK Han glyphs in the range of
613 U+4E00-U+9FC3 defined in Unicode Standard 5.1, together with many other
614 languages unicode blocks, including Latins, Extended Latins, Hanguls and
615 Kanas. The font file is extremely compact (~4M) compared with most known CJK
616 fonts.")
617 ;; This font is licensed under Apache2.0 or GPLv3 with font embedding
618 ;; exceptions.
619 (license license:gpl3)))
620
621 (define-public font-rachana
622 (package
623 (name "font-rachana")
624 (version "7.0.3")
625 (source
626 (origin
627 (method git-fetch)
628 (uri (git-reference
629 (url "https://gitlab.com/smc/fonts/rachana")
630 (commit (string-append "Version" version))))
631 (sha256
632 (base32 "0r100pvk56y1s38nbv24d78s8nd7dkblgasbn8s887dzj6dps23d"))
633 (file-name (git-file-name name version))))
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
639 part of Rachana Aksharavedi for the original script of Malayalam in computing.
640 Rachana has about 1,200+ glyphs for Malayalam and contains glyphs required for
641 printing 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
646 (define-public font-tex-gyre
647 (package
648 (name "font-tex-gyre")
649 (version "2.005")
650 (source
651 (origin
652 (method url-fetch/zipbomb)
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"))))
658 (build-system font-build-system)
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
662 extensive remake and extension of the freely available base PostScript fonts
663 distributed with Ghostscript version 4.00. The collection contains the
664 following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor,
665 Heros, Pagella, Schola, Termes.")
666 (license license:gfl1.0)))
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
675 "https://www.marksimonson.com/assets/content/fonts/"
676 "AnonymousPro-" version ".zip"))
677 (sha256
678 (base32
679 "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6"))))
680 (build-system font-build-system)
681 (home-page "https://www.marksimonson.com/fonts/view/anonymous-pro")
682 (synopsis "Fixed-width fonts designed with coding in mind")
683 (description "Anonymous Pro is a family of four fixed-width fonts designed
684 with coding in mind. Anonymous Pro features an international, Unicode-based
685 character set, with support for most Western and Central European Latin-based
686 languages, plus Greek and Cyrillic.")
687 (license license:silofl1.1)))
688
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
704 with coding in mind. Anonymous Pro features an international, Unicode-based
705 character set, with support for most Western and Central European Latin-based
706 languages, plus Greek and Cyrillic.
707
708 Anonymous Pro Minus is identical to Anonymous Pro, minus its embedded bitmaps
709 for use at smaller text sizes")))
710
711 (define-public font-gnu-unifont
712 (package
713 (name "font-gnu-unifont")
714 (version "13.0.04")
715 (source
716 (origin
717 (method url-fetch)
718 (uri (list
719 (string-append "https://unifoundry.com/pub/unifont/unifont-"
720 version "/unifont-" version ".tar.gz")
721 (string-append "mirror://gnu/unifont/unifont-"
722 version "/unifont-" version ".tar.gz")))
723 (sha256
724 (base32 "064ilpbnz62cwmpajszs2b08x2zg7yh9whlaiqhjzi7bir3im94j"))))
725 (build-system gnu-build-system)
726 (outputs '("out" ; TrueType version
727 "pcf" ; PCF (bitmap) version
728 "psf" ; PSF (console) version
729 "bin")) ; Utilities to manipulate '.hex' format
730 (arguments
731 '(#:tests? #f ; no check target
732 #:phases
733 (modify-phases %standard-phases
734 (replace
735 'configure
736 (lambda _ (setenv "CC" "gcc") #t))
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")))
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")
753 ;; Move Texinfo file to the right place.
754 (mkdir (string-append bin "/share/info"))
755 (invoke "gzip" "-9n" "doc/unifont.info")
756 (install-file "doc/unifont.info.gz"
757 (string-append bin "/share/info"))
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
765 Unicode's Basic Multilingual Plane. The package also includes
766 utilities to ease adding new glyphs to the font.")
767 (home-page "http://unifoundry.com/unifont/index.html")
768 (properties '((upstream-name . "unifont")))
769 (license license:gpl2+)))
770
771 (define-public font-google-noto
772 (package
773 (name "font-google-noto")
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"))))
783 (build-system font-build-system)
784 (home-page "https://www.google.com/get/noto/")
785 (synopsis "Fonts to cover all languages")
786 (description "Google Noto Fonts is a family of fonts designed to support
787 all languages with a consistent look and aesthetic. Its goal is to properly
788 display all Unicode symbols.")
789 (license license:silofl1.1)))
790
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"))))
804 (build-system font-build-system)
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
809 and Chrome OS, and the recommended font for the
810 visual language \"Material Design\".")
811 (license license:asl2.0)))
812
813 (define-public font-un
814 (package
815 (name "font-un")
816 (version "1.0.2-080608")
817 (source (origin
818 (method url-fetch)
819 (uri (string-append
820 "https://kldp.net/unfonts/release/2607-"
821 "un-fonts-core-" version ".tar.gz"))
822 (file-name (string-append name "-" version ".tar.gz"))
823 (sha256
824 (base32
825 "13liaz2pmww3aqabm55la5npd08m1skh334ky7qfidxaz5s742iv"))))
826 (build-system font-build-system)
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.
831 It 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+)))
842
843 (define-public font-fantasque-sans
844 (package
845 (name "font-fantasque-sans")
846 (version "1.8.0")
847 (source
848 (origin
849 (method git-fetch)
850 (uri (git-reference
851 (url "https://github.com/belluzj/fantasque-sans")
852 (commit (string-append "v" version))))
853 (file-name (git-file-name name version))
854 (sha256
855 (base32 "17l18488qyl9gdj80r8pcym3gp3jkgsdikwalnrp5rgvwidqx507"))))
856 (build-system gnu-build-system)
857 (native-inputs
858 `(("ttfautohint" ,ttfautohint)
859 ("woff-tools" ,woff-tools)
860 ("fontforge" ,fontforge)
861 ("woff2" ,woff2)
862 ("woff2:bin" ,woff2 "bin")
863 ("zip" ,zip)))
864 (arguments
865 `(#:tests? #f ;test target intended for visual inspection
866 #:phases (modify-phases %standard-phases
867 (delete 'configure) ;no configuration
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.
871 (lambda _
872 (substitute* "Scripts/fontbuilder.py"
873 (("xrange") "range"))
874 (substitute* "Scripts/features.py"
875 (("f\\.write\\(fea_code\\)")
876 "f.write(str.encode(fea_code))"))
877 #t))
878 (replace 'install
879 ;; 'make install' wants to install to ~/.fonts, install to
880 ;; output instead. Install only the "Normal" variant.
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")))
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)))))))
893 (synopsis "Font family with a monospaced variant for programmers")
894 (description
895 "Fantasque Sans Mono is a programming font designed with functionality in
896 mind. The font includes a bold version and a good italic version with new
897 glyph designs, not just an added slant.")
898 (home-page "https://fontlibrary.org/en/font/fantasque-sans-mono")
899 (license license:silofl1.1)))
900
901 (define-public font-hack
902 (package
903 (name "font-hack")
904 (version "3.003")
905 (source (origin
906 (method url-fetch/zipbomb)
907 (uri (string-append
908 "https://github.com/source-foundry/Hack/releases/download/v"
909 version "/Hack-v" version "-ttf.zip"))
910 (sha256
911 (base32
912 "1b4hh8zkrx92m2v2vfkja1napb0192p0j3laqr0m018z3dih89hc"))))
913 (build-system font-build-system)
914 (home-page "https://sourcefoundry.org/hack/")
915 (synopsis "Typeface designed for source code")
916 (description
917 "Hack is designed to be a workhorse typeface for code. It expands upon
918 the Bitstream Vera & DejaVu projects, provides over 1,500 glyphs, and includes
919 Powerline support.")
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")))))
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")
931 (source
932 (origin
933 (method git-fetch)
934 (uri (git-reference
935 (url "https://github.com/adobe-fonts/source-code-pro")
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"))))
943 (build-system font-build-system)
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
949 designed to work well in user interface environments.")
950 (license license:silofl1.1)))
951
952 (define-public font-adobe-source-sans-pro
953 (package
954 (name "font-adobe-source-sans-pro")
955 (version "3.028R")
956 (source
957 (origin
958 (method git-fetch)
959 (uri (git-reference
960 (url "https://github.com/adobe-fonts/source-sans-pro")
961 (commit version)))
962 (file-name (git-file-name name version))
963 (sha256
964 (base32 "0lgjqi4d5p1q1z00ad807v5qy4z54gmp7jpdaypc0rxk8czv6zq7"))))
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
971 work well in user interface (UI) environments.")
972 (license license:silofl1.1)))
973
974 (define-public font-adobe-source-serif-pro
975 (package
976 (name "font-adobe-source-serif-pro")
977 (version "3.001R")
978 (source
979 (origin
980 (method git-fetch)
981 (uri (git-reference
982 (url "https://github.com/adobe-fonts/source-serif-pro")
983 (commit version)))
984 (file-name (git-file-name name version))
985 (sha256
986 (base32 "1z0pjvx0jpjwb8vzvc6l5gzlg0mqax4v9pizqcxx82l0ydlfh5bj"))))
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
993 Sans Pro family.")
994 (license license:silofl1.1)))
995
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"))))
1009 (build-system font-build-system)
1010 (home-page "https://mozilla.github.io/Fira/")
1011 (synopsis "Mozilla's monospace font")
1012 (description "This is the typeface used by Mozilla in Firefox OS.")
1013 (license license:silofl1.1)))
1014
1015 (define-public font-fira-sans
1016 (package
1017 (name "font-fira-sans")
1018 (version "4.202")
1019 (source (origin
1020 (method git-fetch)
1021 (uri (git-reference
1022 (url "https://github.com/mozilla/Fira")
1023 (commit version)))
1024 (file-name (git-file-name name version))
1025 (sha256
1026 (base32
1027 "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
1028 (build-system font-build-system)
1029 (home-page "https://mozilla.github.io/Fira/")
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
1034 (define-public font-fira-code
1035 (package
1036 (name "font-fira-code")
1037 (version "1.206")
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
1045 "02r1lcp0c9135ps71v66wdvbsrcxwirrp0blqsa1xbjkkq2rwgj3"))))
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
1051 for common programming multi-character combinations. This is just a font rendering
1052 feature: underlying code remains ASCII-compatible. This helps to read and understand
1053 code faster. For some frequent sequences like .. or //, ligatures allow us to
1054 correct spacing.")
1055 (license license:silofl1.1)))
1056
1057 (define-public font-awesome
1058 (package
1059 (name "font-awesome")
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")
1064 (source (origin
1065 (method git-fetch)
1066 (uri (git-reference
1067 (url "https://github.com/FortAwesome/Font-Awesome")
1068 (commit (string-append "v" version))))
1069 (file-name (git-file-name name version))
1070 (sha256
1071 (base32
1072 "0w30y26jp8nvxa3iiw7ayl6rkza1rz62msl9xw3srvxya1c77grc"))))
1073 (build-system font-build-system)
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/")
1090 (synopsis "Font that contains a rich iconset")
1091 (description
1092 "Font Awesome is a full suite of pictographic icons for easy scalable
1093 vector graphics.")
1094 (license license:silofl1.1)))
1095
1096 (define-public font-tamzen
1097 (package
1098 (name "font-tamzen")
1099 (version "1.11.5")
1100 (source
1101 (origin
1102 (method git-fetch)
1103 (uri (git-reference
1104 (url "https://github.com/sunaku/tamzen-font")
1105 (commit (string-append "Tamzen-" version))))
1106 (file-name (git-file-name name version))
1107 (sha256
1108 (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s"))))
1109 (build-system trivial-build-system)
1110 (arguments
1111 `(#:modules ((guix build utils))
1112 #:builder
1113 (begin
1114 (use-modules (guix build utils))
1115
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"))
1120 (mkdir-p font-dir)
1121 (mkdir-p psf-dir)
1122 (for-each (lambda (pcf)
1123 (install-file pcf font-dir))
1124 (find-files "pcf" "\\.pcf$"))
1125 (for-each (lambda (psf)
1126 (install-file psf psf-dir))
1127 (find-files "psf" "\\.psf$"))
1128 #t))))
1129 (home-page "https://github.com/sunaku/tamzen-font")
1130 (synopsis "Monospaced bitmap font for console and X11")
1131 (description
1132 "Tamzen is a fork of the @code{Tamsyn} font. It is programmatically forked
1133 from @code{Tamsyn} version 1.11, backporting glyphs from older versions while
1134 deleting deliberately empty glyphs (which are marked as unimplemented) to
1135 allow secondary/fallback fonts to provide real glyphs at those codepoints.
1136
1137 The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols,
1138 which are programmatically injected with @code{bitmap-font-patcher} and
1139 later 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
1149 (define-public font-comic-neue
1150 (package
1151 (name "font-comic-neue")
1152 (version "2.51")
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
1159 "0883542v915crz98v1ij6smgy40dg6gxwsid3j5nbmmqjf69kpal"))))
1160 (build-system font-build-system)
1161 (arguments
1162 `(#:phases
1163 (modify-phases %standard-phases
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))
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"))))
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
1194 typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
1195 (license license:silofl1.1)))
1196
1197 (define-public font-iosevka
1198 (package
1199 (name "font-iosevka")
1200 ;; When updating, also update the hash of the Iosevka variant(s) below.
1201 (version "3.4.7")
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
1209 (base32 "178xyxz57ncigv715db0898d5arcx1l7qi73a8prb2fdlb7x2yx6"))))
1210 (build-system font-build-system)
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
1215 by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
1216 programming. Iosevka is completely generated from its source code.")
1217 (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
1218 license:bsd-3)))) ; supporting code
1219
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
1232 (base32 "1zqgly4ymmmz3ckfsc2vdxw6d62axcyl79fq3gi630c4951nfikz"))))))
1233
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
1244 "/ttf-iosevka-term-" version ".zip"))
1245 (sha256
1246 (base32
1247 "0nfwxhxgrgz3hhhrvr759263bm88zbh0zsavpnmphxwg9kykjq39"))))
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
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
1266 "/ttf-iosevka-term-slab-" version ".zip"))
1267 (sha256
1268 (base32
1269 "01ynnwlfq3294p8v0656xw6wcfmqklf0yqwkqh3sh2wmj7rrs7wi"))))
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
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
1290 (base32 "0h4wzjyw3h5zbxzfb71z7aj5xwp8r1hd93qim6zicxfk9dgczgw5"))))))
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
1304 (base32 "1n1jy7g0q0kd4ihsyka1v02s7xgpg80rf9sml1yhxkqw5pq62972"))))))
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
1318 (base32 "0chl6x3xy6alq64sax71psvpq6f6fgw6pbn04f5j5skgrbqkk292"))))))
1319
1320 (define-public font-sarasa-gothic
1321 (package
1322 (name "font-sarasa-gothic")
1323 (version "0.12.7")
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
1331 (base32 "09v65k00g8m953s6riz9xjzb2jgr6v5pdhcllalzzl7c1cn2xl3k"))))
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,
1346 most CJK characters are same height, and double width as ASCII characters.")))
1347
1348 (define-public font-go
1349 (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
1350 (revision "1"))
1351 (package
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 &
1375 Holmes type foundry, released under the same license as the Go programming
1376 language. It includes a set of proportional, sans-serif fonts, and a set of
1377 monospace, slab-serif fonts.")
1378 (license license:bsd-3))))
1379
1380 (define-public font-google-material-design-icons
1381 (package
1382 (name "font-google-material-design-icons")
1383 (version "3.0.1")
1384 (source (origin
1385 (method git-fetch)
1386 (uri (git-reference
1387 (url "https://github.com/google/material-design-icons")
1388 (commit version)))
1389 (file-name (git-file-name name version))
1390 (sha256
1391 (base32
1392 "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
1393 (build-system font-build-system)
1394 (home-page "https://google.github.io/material-design-icons")
1395 (synopsis "Icon font of Google Material Design icons")
1396 (description
1397 "Material design system icons are simple, modern, friendly, and sometimes
1398 quirky. Each icon is created using our design guidelines to depict in simple
1399 and minimal forms the universal concepts used commonly throughout a UI.
1400 Ensuring readability and clarity at both large and small sizes, these icons
1401 have been optimized for beautiful display on all common platforms and display
1402 resolutions.")
1403 (license license:asl2.0)))
1404
1405 (define-public font-opendyslexic
1406 (package
1407 (name "font-opendyslexic")
1408 (version "0.91.12")
1409 (source
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"))))
1418 (build-system font-build-system)
1419 (native-inputs `(("unzip" ,unzip)))
1420 (home-page "https://opendyslexic.org/")
1421 (synopsis "Font for dyslexics and high readability")
1422 (description "OpenDyslexic is a font designed to help readability for some
1423 of the symptoms of dyslexia. Letters have heavy weighted bottoms to provide
1424 an indication of orientation to make it more difficult to confuse with other
1425 similar letters. Consistently weighted bottoms can also help reinforce the
1426 line of text. The unique shapes of each letter can help prevent flipping and
1427 swapping. The italic style for OpenDyslexic has been crafted to be used for
1428 emphasis while still being readable.")
1429 (license license:silofl1.1)))
1430
1431 (define-public font-open-dyslexic
1432 (deprecated-package "font-open-dyslexic" font-opendyslexic))
1433
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
1455 variants.")
1456 (license license:cc-by-sa4.0)))
1457
1458 (define-public font-dosis
1459 (package
1460 (name "font-dosis")
1461 (version "1.7")
1462 (source
1463 (origin
1464 (method url-fetch/zipbomb)
1465 (uri (string-append "https://web.archive.org/web/20180228233737/"
1466 "https://www.impallari.com/media/releases/dosis-"
1467 "v" version ".zip"))
1468 (sha256
1469 (base32 "1qhci68f68mf87jd69vjf9qjq3wydgw1q7ivn3amjb65ls1s0c4s"))))
1470 (build-system font-build-system)
1471 (home-page (string-append "https://web.archive.org/web/20180228233737/"
1472 "https://www.impallari.com/dosis"))
1473 (synopsis "Very simple, rounded, sans serif family")
1474 (description
1475 "Dosis is a very simple, rounded, sans serif family.
1476 The lighter weights are minimalist. The bolder weights have more personality.
1477 The medium weight is nice and balanced. The overall result is a family
1478 that's clean and modern, and can express a wide range of voices & feelings.
1479 It comes in 7 incremental weights:
1480 ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
1481 (license license:silofl1.1)))
1482
1483 (define-public font-culmus
1484 (package
1485 (name "font-culmus")
1486 (version "0.133")
1487 (source
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
1495 "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
1496 (build-system font-build-system)
1497 (arguments
1498 `(#:phases
1499 (modify-phases %standard-phases
1500 (add-before 'install 'build
1501 (lambda _
1502 (let ((compile
1503 (lambda (name ext)
1504 (invoke
1505 "fontforge" "-lang=ff"
1506 "-c" (string-append "Open('" name "');"
1507 "Generate('"
1508 (basename name "sfd") ext
1509 "')")))))
1510 ;; This part based on the fonts shipped in the non-source package.
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$"))
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
1523 sources. Those families provide a basic set of a serif (Frank Ruehl), sans
1524 serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam,
1525 Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is
1526 available in Keter YG.")
1527 (license license:gpl2))) ; consult the LICENSE file included
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.
1545 Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
1546 Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
1547 Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
1548 (license license:silofl1.1)))
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
1576 for Inria, a public research institute in computer science and mathematics.")
1577 (license license:silofl1.1)))
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
1599 groups around the world who use the Latin, Cyrillic and Greek scripts to
1600 produce readable, high-quality publications. The font comes with regular and
1601 italics shapes. This package provides only TrueType files (TTF).")
1602 (home-page "https://software.sil.org/gentium/")
1603 (license license:silofl1.1)))
1604
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
1622 for literacy use, taking into account the needs of beginning readers. The
1623 focus is on clear, easy-to-perceive letterforms that will not be readily
1624 confused with one another. This package provides only TrueType files (TTF).")
1625 (home-page "https://software.sil.org/andika/")
1626 (license license:silofl1.1)))
1627
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
1645 of languages that use the Latin and Cyrillic scripts. It is specially
1646 designed to make long texts pleasant and easy to read, even in less than ideal
1647 reproduction and display environments. This package provides only TrueType
1648 files (TTF).")
1649 (home-page "https://software.sil.org/charis/")
1650 (license license:silofl1.1)))
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
1669 formatting.")
1670 (home-page "https://madmalik.github.io/mononoki/")
1671 (license license:silofl1.1)))
1672
1673 (define-public font-public-sans
1674 (package
1675 (name "font-public-sans")
1676 (version "1.008")
1677 (source
1678 (origin
1679 (method git-fetch)
1680 (uri (git-reference
1681 (url "https://github.com/uswds/public-sans")
1682 (commit (string-append "v" version))))
1683 (file-name (git-file-name name version))
1684 (sha256
1685 (base32 "1qhyxbjv1rnydfpqzd18fbiyz75p4sabphy8yj07hyq0hidp5xsf"))))
1686 (build-system font-build-system)
1687 (home-page "https://public-sans.digital.gov/")
1688 (synopsis "Neutral typeface for interfaces, text, and headings")
1689 (description
1690 "Public Sans is a strong, neutral, sans-serif typeface for text or
1691 display based on Libre Franklin.")
1692 (license license:silofl1.1)))
1693
1694 (define-public font-hermit
1695 (package
1696 (name "font-hermit")
1697 (version "2.0")
1698 (source (origin
1699 (method url-fetch/tarbomb)
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
1707 `(#:tests? #f))
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
1712 readable. Its creation has been focused on programming. Every glyph was
1713 carefully planned and calculated, according to defined principles and rules.
1714 For this reason, Hermit is coherent and regular.
1715
1716 Symbols stand out from common text. Dots and commas are easily seen, and
1717 operators are clear even when not surrounded by spaces. Similar characters
1718 have been designed to be very distinguishable from each other.")
1719 (license license:silofl1.1)))
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
1757 displays (7SEG, 14SEG). DSEG includes the roman alphabet and symbol glyphs.
1758 This package provides the TrueType fonts.")
1759 (license license:silofl1.1)))
1760
1761 (define-public font-jetbrains-mono
1762 (package
1763 (name "font-jetbrains-mono")
1764 (version "2.210")
1765 (source
1766 (origin
1767 (method url-fetch)
1768 (uri
1769 (string-append "https://github.com/JetBrains/JetBrainsMono/releases/"
1770 "download/v" version "/JetBrainsMono-" version ".zip"))
1771 (sha256
1772 (base32 "19wbggnmqs3k1wdqy7l7imnx23g7hh159pl32nz3mzz8s8sqfdix"))))
1773 (build-system font-build-system)
1774 (arguments
1775 `(#:phases
1776 (modify-phases %standard-phases
1777 (add-before 'install-license-files 'change-directory-to-archive-root
1778 ;; Find the license file outside of the default subdirectory.
1779 (lambda _
1780 (chdir "..")
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))))))
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
1792 Mono’s typeface forms are simple and free from unnecessary details. Rendered
1793 in small sizes, the text looks crisper.")
1794 (license license:asl2.0)))
1795
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,
1822 designed to work for programming in the Julia Programming Language and other
1823 text environments.")
1824 (license license:silofl1.1)))
1825
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
1845 DejaVu, and comes in six variants: Thin, Light, Normal, Medium, Bold, and
1846 Black. 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
1851 instead 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}:
1854 always 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
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
1897 Inimai is a san-serif typeface. It is best used as a screen font for body
1898 text. It is also useful for body text of printed pamphlets or single page
1899 designs. Meera Inimai can be thought of as similar to Helvetica and its
1900 variation Arial. Tamil characters are inherently vertically-elliptical. The
1901 orthography of Roman glyphs of Meera Inimai are also based on this
1902 characteristic so that they sit smoothly with the Tamil glyphs.")
1903 (license license:silofl1.1)))
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
1933 to write people's name, or for formal business situations where it is necessary
1934 to have a detailed and proper character style.")
1935 (license license:ipa)))
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,
1966 dictionary headwords and picture books. This font reduces the thickness
1967 differences in characters compared to other antique fonts.")
1968 (license (list license:ipa
1969 (license:non-copyleft "mplus-TESTFLIGHT-057/LICENSE_E")))))
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
1988 sets, with Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA
1989 Extensions. In addition to European letters used in many Western European
1990 languages, it contains Japanese characters, including Kana glyphs and more
1991 than 5,300 Kanji glyphs, as well major international phonetic symbols,
1992 operators and special symbols.")
1993 (license (license:non-copyleft "file:///LICENSE_E"))))
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
2015 is a stylish type with a polished yet relaxed feel. Its versatility makes it
2016 suitable for a wide range of uses.")
2017 (license license:silofl1.1))))