Merge branch 'master' into ungrafting
[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, 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 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 "5.2")
1038 (source
1039 (origin
1040 (method url-fetch/zipbomb)
1041 (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
1042 "download/" version
1043 "/Fira_Code_v" version ".zip"))
1044 (sha256
1045 (base32 "1zayrb6k0gd7xdvx7yx44dpip767q0bzhqwf4j6nf8nx02z746jj"))))
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 "4.0.3")
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 "1xc45rs09aj899wz9ghyizq6ddbgxpkqq5bl1jc89hls5laf7qjb"))))
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 "0qpfzyi050zca0bwhb460nvcaarij4srhify0rb8sf9ygpzyvnjh"))))))
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 "092ygzv24wbi8cjjsmq0jkxdf4cm7wqlfj7jkn0cip7nlbyskl3h"))))
1247 (arguments
1248 `(#:phases
1249 (modify-phases %standard-phases
1250 (add-before 'install 'make-files-writable
1251 (lambda _
1252 (for-each make-file-writable (find-files "." ".*"))
1253 #t)))))))
1254
1255 (define-public font-iosevka-term-slab
1256 (package
1257 (inherit font-iosevka)
1258 (name "font-iosevka-term-slab")
1259 (version (package-version font-iosevka))
1260 (source
1261 (origin
1262 (method url-fetch/zipbomb)
1263 (uri (string-append "https://github.com/be5invis/Iosevka/"
1264 "releases/download/v" version "/"
1265 "ttf-iosevka-term-slab-" version ".zip"))
1266 (sha256
1267 (base32 "157kdxrxz981ympd2iww66v50vm2cxd7z98vvb36rii94hf30k7x"))))
1268 (arguments
1269 `(#:phases
1270 (modify-phases %standard-phases
1271 (add-before 'install 'make-files-writable
1272 (lambda _
1273 (for-each make-file-writable (find-files "." ".*"))
1274 #t)))))))
1275
1276 (define-public font-iosevka-aile
1277 (package
1278 (inherit font-iosevka)
1279 (name "font-iosevka-aile")
1280 (version (package-version font-iosevka))
1281 (source
1282 (origin
1283 (method url-fetch/zipbomb)
1284 (uri (string-append "https://github.com/be5invis/Iosevka"
1285 "/releases/download/v" version
1286 "/ttc-iosevka-aile-" version ".zip"))
1287 (sha256
1288 (base32 "0n52lfn7awc28a4f5yh4my8q4ikzza705kp69chfw9jm2xx79npc"))))))
1289
1290 (define-public font-iosevka-curly
1291 (package
1292 (inherit font-iosevka)
1293 (name "font-iosevka-curly")
1294 (version (package-version font-iosevka))
1295 (source
1296 (origin
1297 (method url-fetch/zipbomb)
1298 (uri (string-append "https://github.com/be5invis/Iosevka/"
1299 "releases/download/v" version "/"
1300 "ttc-iosevka-curly-" version ".zip"))
1301 (sha256
1302 (base32 "0m51r0bc25khllq8nsfgsldhwfs7kzl8kqasivjlm14mpv5080fn"))))))
1303
1304 (define-public font-iosevka-curly-slab
1305 (package
1306 (inherit font-iosevka)
1307 (name "font-iosevka-curly-slab")
1308 (version (package-version font-iosevka))
1309 (source
1310 (origin
1311 (method url-fetch/zipbomb)
1312 (uri (string-append "https://github.com/be5invis/Iosevka/"
1313 "releases/download/v" version "/"
1314 "ttc-iosevka-curly-slab-" version ".zip"))
1315 (sha256
1316 (base32 "0ffiz2kg43kc2dxv48sjji33ra3kc6sy8vlard93c601fqjmrjws"))))))
1317
1318 (define-public font-iosevka-etoile
1319 (package
1320 (inherit font-iosevka)
1321 (name "font-iosevka-etoile")
1322 (version (package-version font-iosevka))
1323 (source
1324 (origin
1325 (method url-fetch/zipbomb)
1326 (uri (string-append "https://github.com/be5invis/Iosevka"
1327 "/releases/download/v" version
1328 "/ttc-iosevka-etoile-" version ".zip"))
1329 (sha256
1330 (base32 "1fj8g7sjp9idjh14iqk4wsz3rdarlmq7amcdsr0dznwyivx8a9wx"))))))
1331
1332 (define-public font-iosevka-sparkle
1333 (package
1334 (inherit font-iosevka)
1335 (name "font-iosevka-sparkle")
1336 (version (package-version font-iosevka))
1337 (source
1338 (origin
1339 (method url-fetch/zipbomb)
1340 (uri (string-append "https://github.com/be5invis/Iosevka"
1341 "/releases/download/v" version
1342 "/ttc-iosevka-sparkle-" version ".zip"))
1343 (sha256
1344 (base32 "00dw894930xdikai8bcaimp0a3720diwi0r7ii52jwl4d70w53dx"))))))
1345
1346 (define-public font-sarasa-gothic
1347 (package
1348 (name "font-sarasa-gothic")
1349 (version "0.12.7")
1350 (source
1351 (origin
1352 (method url-fetch)
1353 (uri (string-append "https://github.com/be5invis/Sarasa-Gothic"
1354 "/releases/download/v" version
1355 "/sarasa-gothic-ttc-" version ".7z"))
1356 (sha256
1357 (base32 "09v65k00g8m953s6riz9xjzb2jgr6v5pdhcllalzzl7c1cn2xl3k"))))
1358 (build-system font-build-system)
1359 (arguments
1360 `(#:phases (modify-phases %standard-phases
1361 (replace 'unpack
1362 (lambda* (#:key source #:allow-other-keys)
1363 (mkdir "source")
1364 (chdir "source")
1365 (invoke "7z" "x" source))))))
1366 (native-inputs `(("p7zip" ,p7zip)))
1367 (home-page "https://github.com/be5invis/Sarasa-Gothic")
1368 (license license:silofl1.1)
1369 (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕")
1370 (description
1371 "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans,
1372 most CJK characters are same height, and double width as ASCII characters.")))
1373
1374 (define-public font-go
1375 (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
1376 (revision "1"))
1377 (package
1378 (name "font-go")
1379 (version (string-append "20170330-" revision "." (string-take commit 7)))
1380 (source (origin
1381 (file-name (string-append "go-image-" version "-checkout"))
1382 (method git-fetch)
1383 (uri (git-reference
1384 (url "https://go.googlesource.com/image")
1385 (commit commit)))
1386 (sha256
1387 (base32
1388 "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d"))))
1389 (build-system font-build-system)
1390 (arguments
1391 `(#:phases
1392 (modify-phases %standard-phases
1393 (add-before 'install 'chdir
1394 (lambda _
1395 (chdir "font/gofont/ttfs")
1396 #t)))))
1397 (home-page "https://blog.golang.org/go-fonts")
1398 (synopsis "The Go font family")
1399 (description
1400 "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
1401 Holmes type foundry, released under the same license as the Go programming
1402 language. It includes a set of proportional, sans-serif fonts, and a set of
1403 monospace, slab-serif fonts.")
1404 (license license:bsd-3))))
1405
1406 (define-public font-google-material-design-icons
1407 (package
1408 (name "font-google-material-design-icons")
1409 (version "3.0.1")
1410 (source (origin
1411 (method git-fetch)
1412 (uri (git-reference
1413 (url "https://github.com/google/material-design-icons")
1414 (commit version)))
1415 (file-name (git-file-name name version))
1416 (sha256
1417 (base32
1418 "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
1419 (build-system font-build-system)
1420 (home-page "https://google.github.io/material-design-icons")
1421 (synopsis "Icon font of Google Material Design icons")
1422 (description
1423 "Material design system icons are simple, modern, friendly, and sometimes
1424 quirky. Each icon is created using our design guidelines to depict in simple
1425 and minimal forms the universal concepts used commonly throughout a UI.
1426 Ensuring readability and clarity at both large and small sizes, these icons
1427 have been optimized for beautiful display on all common platforms and display
1428 resolutions.")
1429 (license license:asl2.0)))
1430
1431 (define-public font-opendyslexic
1432 (package
1433 (name "font-opendyslexic")
1434 (version "0.91.12")
1435 (source
1436 (origin
1437 (method url-fetch/zipbomb)
1438 (uri (string-append "https://github.com/antijingoist/opendyslexic/"
1439 "releases/download/v" version
1440 "/opendyslexic-0.910.12-rc2-2019.10.17.zip"))
1441 (sha256
1442 (base32
1443 "11ml7v4iyf3hr0fbnkwz8afb8vi58wbcfnmn4gyvrwh9jk5pybdr"))))
1444 (build-system font-build-system)
1445 (native-inputs `(("unzip" ,unzip)))
1446 (home-page "https://opendyslexic.org/")
1447 (synopsis "Font for dyslexics and high readability")
1448 (description "OpenDyslexic is a font designed to help readability for some
1449 of the symptoms of dyslexia. Letters have heavy weighted bottoms to provide
1450 an indication of orientation to make it more difficult to confuse with other
1451 similar letters. Consistently weighted bottoms can also help reinforce the
1452 line of text. The unique shapes of each letter can help prevent flipping and
1453 swapping. The italic style for OpenDyslexic has been crafted to be used for
1454 emphasis while still being readable.")
1455 (license license:silofl1.1)))
1456
1457 (define-public font-open-dyslexic
1458 (deprecated-package "font-open-dyslexic" font-opendyslexic))
1459
1460 (define-public font-openmoji
1461 (package
1462 (name "font-openmoji")
1463 (version "12.4.0")
1464 (source
1465 (origin
1466 (method url-fetch/zipbomb)
1467 (uri
1468 (string-append "https://github.com/hfg-gmuend/openmoji/"
1469 "releases/download/" version
1470 "/openmoji-font.zip"))
1471 (sha256
1472 (base32
1473 "0wvvg5vnc950h8v23wfgjyi7rv89mgm5hqq6viqv0bxcc3azglxb"))))
1474 (build-system font-build-system)
1475 (native-inputs
1476 `(("unzip" ,unzip)))
1477 (home-page "https://openmoji.org")
1478 (synopsis "Font for rendering emoji characters")
1479 (description
1480 "This package provides the OpenMoji font in both color and black
1481 variants.")
1482 (license license:cc-by-sa4.0)))
1483
1484 (define-public font-dosis
1485 (package
1486 (name "font-dosis")
1487 (version "1.7")
1488 (source
1489 (origin
1490 (method url-fetch/zipbomb)
1491 (uri (string-append "https://web.archive.org/web/20180228233737/"
1492 "https://www.impallari.com/media/releases/dosis-"
1493 "v" version ".zip"))
1494 (sha256
1495 (base32 "1qhci68f68mf87jd69vjf9qjq3wydgw1q7ivn3amjb65ls1s0c4s"))))
1496 (build-system font-build-system)
1497 (home-page (string-append "https://web.archive.org/web/20180228233737/"
1498 "https://www.impallari.com/dosis"))
1499 (synopsis "Very simple, rounded, sans serif family")
1500 (description
1501 "Dosis is a very simple, rounded, sans serif family.
1502 The lighter weights are minimalist. The bolder weights have more personality.
1503 The medium weight is nice and balanced. The overall result is a family
1504 that's clean and modern, and can express a wide range of voices & feelings.
1505 It comes in 7 incremental weights:
1506 ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
1507 (license license:silofl1.1)))
1508
1509 (define-public font-culmus
1510 (package
1511 (name "font-culmus")
1512 (version "0.133")
1513 (source
1514 (origin
1515 (method url-fetch)
1516 (uri (string-append "https://sourceforge.net/projects/"
1517 "culmus/files/culmus/" version "/culmus-src-"
1518 version ".tar.gz"))
1519 (sha256
1520 (base32
1521 "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
1522 (build-system font-build-system)
1523 (arguments
1524 `(#:phases
1525 (modify-phases %standard-phases
1526 (add-before 'install 'build
1527 (lambda _
1528 (let ((compile
1529 (lambda (name ext)
1530 (invoke
1531 "fontforge" "-lang=ff"
1532 "-c" (string-append "Open('" name "');"
1533 "Generate('"
1534 (basename name "sfd") ext
1535 "')")))))
1536 ;; This part based on the fonts shipped in the non-source package.
1537 (for-each (lambda (name)
1538 (compile name "ttf"))
1539 (find-files "." "^[^Nachlieli].*\\.sfd$"))
1540 (for-each (lambda (name)
1541 (compile name "otf"))
1542 (find-files "." "^Nachlieli.*\\.sfd$"))
1543 #t))))))
1544 (native-inputs
1545 `(("fontforge" ,fontforge)))
1546 (home-page "http://culmus.sourceforge.net/")
1547 (synopsis "TrueType Hebrew Fonts for X11")
1548 (description "14 Hebrew trivial families. Contain ASCII glyphs from various
1549 sources. Those families provide a basic set of a serif (Frank Ruehl), sans
1550 serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam,
1551 Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is
1552 available in Keter YG.")
1553 (license license:gpl2))) ; consult the LICENSE file included
1554
1555 (define-public font-lohit
1556 (package
1557 (name "font-lohit")
1558 (version "20140220")
1559 (source
1560 (origin
1561 (method url-fetch)
1562 (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-"
1563 version ".tar.gz"))
1564 (sha256
1565 (base32
1566 "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"))))
1567 (build-system font-build-system)
1568 (home-page "https://pagure.io/lohit")
1569 (synopsis "Lohit TrueType Indic fonts")
1570 (description "Lohit is a font family designed to cover Indic scripts.
1571 Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
1572 Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
1573 Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
1574 (license license:silofl1.1)))
1575
1576 (define-public font-blackfoundry-inria
1577 (package
1578 (name "font-blackfoundry-inria")
1579 (version "1.200")
1580 (home-page "https://github.com/BlackFoundry/InriaFonts")
1581 (source (origin
1582 (method git-fetch)
1583 (uri (git-reference
1584 (url home-page)
1585 (commit (string-append "v" version))))
1586 (sha256
1587 (base32
1588 "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8"))
1589 (file-name (string-append name "-" version "-checkout"))))
1590 ;; XXX: There are .ufo directories (the "source") so in theory we should
1591 ;; be able to rebuild TTF and OTF files with FontForge. Unfortunately a
1592 ;; command like:
1593 ;;
1594 ;; fontforge -lang=ff -c "Open('InriaSans-Regular.ufo'); Generate('foo.ttf');"
1595 ;;
1596 ;; segfaults in '_UFOLoadGlyph', which calls out to libpython. :-/
1597 ;; In the meantime we ship the precompiled OTF and TTF files.
1598 (build-system font-build-system)
1599 (synopsis "Inria Sans and Inria Serif type family")
1600 (description
1601 "Inria Sans and Inria Serif are the two members of a type family designed
1602 for Inria, a public research institute in computer science and mathematics.")
1603 (license license:silofl1.1)))
1604
1605 (define-public font-sil-gentium
1606 (package
1607 (name "font-sil-gentium")
1608 (version "5.000")
1609 (source (origin
1610 (method url-fetch)
1611 (uri (string-append
1612 "https://software.sil.org/downloads/r/gentium/GentiumPlus-"
1613 version ".zip"))
1614 (sha256
1615 (base32
1616 "0m7189870hha217n1vgpmf89mwggrxkh679ffi1lxpnjggqi2n9k"))))
1617 ;; Note: The zip file provides TTF files only, but the developer release,
1618 ;; which contains additional files, has a 'SOURCES.txt' file that says
1619 ;; that "the primary source files for the fonts are the fonts themselves".
1620 ;; Thus it looks like the TTF can be considered source.
1621 (build-system font-build-system)
1622 (synopsis "Serif font for the Cyrillic, Greek, and Latin alphabets")
1623 (description
1624 "Gentium is a typeface family designed to enable the diverse ethnic
1625 groups around the world who use the Latin, Cyrillic and Greek scripts to
1626 produce readable, high-quality publications. The font comes with regular and
1627 italics shapes. This package provides only TrueType files (TTF).")
1628 (home-page "https://software.sil.org/gentium/")
1629 (license license:silofl1.1)))
1630
1631 (define-public font-sil-andika
1632 (package
1633 (name "font-sil-andika")
1634 (version "5.000")
1635 (source (origin
1636 (method url-fetch)
1637 (uri (string-append
1638 "https://software.sil.org/downloads/r/andika/Andika-"
1639 version ".zip"))
1640 (sha256
1641 (base32
1642 "01zm7p32gxfwmv7h3cfj2vx59846w2y6rxqy67grn2dyjh8pljv0"))))
1643 ;; As for Gentium (see above), the TTF files are considered source.
1644 (build-system font-build-system)
1645 (synopsis "Sans serif font designed especially for literacy use")
1646 (description
1647 "Andika SIL is a sans serif, Unicode-compliant font designed especially
1648 for literacy use, taking into account the needs of beginning readers. The
1649 focus is on clear, easy-to-perceive letterforms that will not be readily
1650 confused with one another. This package provides only TrueType files (TTF).")
1651 (home-page "https://software.sil.org/andika/")
1652 (license license:silofl1.1)))
1653
1654 (define-public font-sil-charis
1655 (package
1656 (name "font-sil-charis")
1657 (version "5.000")
1658 (source (origin
1659 (method url-fetch)
1660 (uri (string-append
1661 "https://software.sil.org/downloads/r/charis/CharisSIL-"
1662 version ".zip"))
1663 (sha256
1664 (base32
1665 "1zcvw37f1a7gkml3yfm6hxh93844llm7xj4w52600qq3ndrm8gjy"))))
1666 ;; As for Gentium (see above), the TTF files are considered source.
1667 (build-system font-build-system)
1668 (synopsis "Serif font for the Cyrillic and Latin alphabets")
1669 (description
1670 "Charis SIL is a Unicode-based font family that supports the wide range
1671 of languages that use the Latin and Cyrillic scripts. It is specially
1672 designed to make long texts pleasant and easy to read, even in less than ideal
1673 reproduction and display environments. This package provides only TrueType
1674 files (TTF).")
1675 (home-page "https://software.sil.org/charis/")
1676 (license license:silofl1.1)))
1677
1678 (define-public font-mononoki
1679 (package
1680 (name "font-mononoki")
1681 (version "1.2")
1682 (source (origin
1683 (method git-fetch)
1684 (uri (git-reference
1685 (url "https://github.com/madmalik/mononoki/")
1686 (commit version)))
1687 (sha256
1688 (base32
1689 "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
1690 (file-name (git-file-name name version))))
1691 (build-system font-build-system)
1692 (synopsis "Font for programming and code review")
1693 (description
1694 "Mononoki is a typeface by Matthias Tellen, created to enhance code
1695 formatting.")
1696 (home-page "https://madmalik.github.io/mononoki/")
1697 (license license:silofl1.1)))
1698
1699 (define-public font-public-sans
1700 (package
1701 (name "font-public-sans")
1702 (version "1.008")
1703 (source
1704 (origin
1705 (method git-fetch)
1706 (uri (git-reference
1707 (url "https://github.com/uswds/public-sans")
1708 (commit (string-append "v" version))))
1709 (file-name (git-file-name name version))
1710 (sha256
1711 (base32 "1qhyxbjv1rnydfpqzd18fbiyz75p4sabphy8yj07hyq0hidp5xsf"))))
1712 (build-system font-build-system)
1713 (home-page "https://public-sans.digital.gov/")
1714 (synopsis "Neutral typeface for interfaces, text, and headings")
1715 (description
1716 "Public Sans is a strong, neutral, sans-serif typeface for text or
1717 display based on Libre Franklin.")
1718 (license license:silofl1.1)))
1719
1720 (define-public font-hermit
1721 (package
1722 (name "font-hermit")
1723 (version "2.0")
1724 (source (origin
1725 (method url-fetch/tarbomb)
1726 (uri (string-append "https://pcaro.es/d/otf-hermit-" version
1727 ".tar.gz"))
1728 (sha256
1729 (base32
1730 "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0"))))
1731 (build-system font-build-system)
1732 (arguments
1733 `(#:tests? #f))
1734 (home-page "https://pcaro.es/p/hermit/")
1735 (synopsis "Monospace font")
1736 (description
1737 "Hermit is a monospace font designed to be clear, pragmatic and very
1738 readable. Its creation has been focused on programming. Every glyph was
1739 carefully planned and calculated, according to defined principles and rules.
1740 For this reason, Hermit is coherent and regular.
1741
1742 Symbols stand out from common text. Dots and commas are easily seen, and
1743 operators are clear even when not surrounded by spaces. Similar characters
1744 have been designed to be very distinguishable from each other.")
1745 (license license:silofl1.1)))
1746
1747 (define-public font-dseg
1748 (package
1749 (name "font-dseg")
1750 (version "0.45")
1751 (source
1752 (origin
1753 (method url-fetch/zipbomb)
1754 (uri
1755 (string-append "https://github.com/keshikan/DSEG/"
1756 "releases/download/v" version
1757 "/fonts-DSEG_v"
1758 (string-concatenate (string-split version #\.))
1759 ".zip"))
1760 (sha256
1761 (base32
1762 "0v8sghh4vl286faf8pvi74znz07pyf0qii8z4wjllisqwc35sx72"))))
1763 (build-system font-build-system)
1764 (arguments
1765 `(#:phases
1766 (modify-phases %standard-phases
1767 (replace 'install
1768 (lambda* (#:key outputs #:allow-other-keys)
1769 (let* ((out (assoc-ref outputs "out"))
1770 (font-dir (string-append out "/share/fonts"))
1771 (truetype-dir (string-append font-dir "/truetype")))
1772 (with-directory-excursion
1773 (string-append "fonts-DSEG_v"
1774 (apply string-append (string-split ,version
1775 #\.)))
1776 (for-each (lambda (f) (install-file f truetype-dir))
1777 (find-files "." "\\.ttf$"))
1778 #t)))))))
1779 (home-page "https://www.keshikan.net/fonts-e.html")
1780 (synopsis "DSEG: 7-segment and 14-segment fonts")
1781 (description
1782 "DSEG is a font family that imitates seven- and fourteen-segment LCD
1783 displays (7SEG, 14SEG). DSEG includes the roman alphabet and symbol glyphs.
1784 This package provides the TrueType fonts.")
1785 (license license:silofl1.1)))
1786
1787 (define-public font-jetbrains-mono
1788 (package
1789 (name "font-jetbrains-mono")
1790 (version "2.210")
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri
1795 (string-append "https://github.com/JetBrains/JetBrainsMono/releases/"
1796 "download/v" version "/JetBrainsMono-" version ".zip"))
1797 (sha256
1798 (base32 "19wbggnmqs3k1wdqy7l7imnx23g7hh159pl32nz3mzz8s8sqfdix"))))
1799 (build-system font-build-system)
1800 (arguments
1801 `(#:phases
1802 (modify-phases %standard-phases
1803 (add-before 'install-license-files 'change-directory-to-archive-root
1804 ;; Find the license file outside of the default subdirectory.
1805 (lambda _
1806 (chdir "..")
1807 #t))
1808 (replace 'install-license-files
1809 (lambda* (#:key outputs #:allow-other-keys)
1810 (let* ((out (assoc-ref outputs "out"))
1811 (doc (string-append out "/share/doc/" ,name "-" ,version)))
1812 (install-file "OFL.txt" doc)
1813 #t))))))
1814 (home-page "https://www.jetbrains.com/lp/mono/")
1815 (synopsis "Mono typeface for developers")
1816 (description
1817 "JetBrains Mono is a font family dedicated to developers. JetBrains
1818 Mono’s typeface forms are simple and free from unnecessary details. Rendered
1819 in small sizes, the text looks crisper.")
1820 (license license:asl2.0)))
1821
1822 (define-public font-juliamono
1823 (package
1824 (name "font-juliamono")
1825 (version "0.025")
1826 (source
1827 (origin
1828 (method git-fetch)
1829 (uri (git-reference
1830 (url "https://github.com/cormullion/juliamono")
1831 (commit (string-append "v" version))))
1832 (file-name (git-file-name name version))
1833 (sha256
1834 (base32 "1w8mpl9zc1y4j1f26ikbz5g9dqsszhikp4r9p1d3ch3b5ayb5c3m"))))
1835 (build-system font-build-system)
1836 (arguments
1837 `(#:phases
1838 (modify-phases %standard-phases
1839 (add-after 'unpack 'delete-website-folder
1840 ;; This folder contains other unrelated fonts.
1841 (lambda _
1842 (delete-file-recursively "website")
1843 #t)))))
1844 (home-page "https://github.com/cormullion/juliamono")
1845 (synopsis "Monospaced font for programming")
1846 (description
1847 "JuliaMono is a monospaced font for scientific and technical computing,
1848 designed to work for programming in the Julia Programming Language and other
1849 text environments.")
1850 (license license:silofl1.1)))
1851
1852 (define-public font-vazir
1853 (package
1854 (name "font-vazir")
1855 (version "22.1.0")
1856 (source
1857 (origin
1858 (method url-fetch/zipbomb)
1859 (uri
1860 (string-append "https://github.com/rastikerdar/vazir-font/"
1861 "releases/download/v" version
1862 "/vazir-font-v" version ".zip"))
1863 (sha256
1864 (base32
1865 "0w3gwb5q33x5llw7cfs8qhaxr4ssg6rsx4b9day3993zn24xq031"))))
1866 (build-system font-build-system)
1867 (home-page "https://rastikerdar.github.io/vazir-font/")
1868 (synopsis "Vazir Persian typeface")
1869 (description
1870 "Vazir is a beautiful and elegant Persian typeface originally based on
1871 DejaVu, and comes in six variants: Thin, Light, Normal, Medium, Bold, and
1872 Black. This package provides four versions of Vazir:
1873
1874 @itemize
1875 @item @code{Vazir}: The main version; includes Latin glyphs from Roboto.
1876 @item @code{Vazir-FD}: Like @code{Vazir}, but (always) uses Farsi digit glyphs
1877 instead of Latin ones.
1878 @item @code{Vazir-WOL}: Like @code{Vazir}, but without Roboto's Latin glyphs.
1879 @item @code{Vazir-FD-WOL}: Combination of @code{Vazir-FD} and @code{Vazir-WOL}:
1880 always uses Farsi digits, and does not include Latin glyphs from Roboto.
1881 @end itemize\n")
1882 (license
1883 ;; See https://github.com/rastikerdar/vazir-font/blob/master/LICENSE for
1884 ;; details.
1885 (list license:public-domain ; the Vazir modifications to DejaVu
1886 ; and the DejaVu modifications to...
1887 (license:x11-style ; ...the Bitstream Vera typeface
1888 "file://LICENSE" "Bitstream Vera License")
1889 license:asl2.0)))) ; Latin glyphs from Roboto
1890
1891 (define-public font-meera-inimai
1892 (package
1893 (name "font-meera-inimai")
1894 (version "2.0")
1895 (source
1896 (origin
1897 (method git-fetch)
1898 (uri (git-reference
1899 (url "https://gitlab.com/smc/meera-inimai")
1900 (commit "0f39cdd7dbf1b6d1bed7df85834d33789dce20a7")))
1901 (file-name (git-file-name name version))
1902 (sha256
1903 (base32
1904 "1x5mhrpx24imh0r4l83mkaiszxgwi1q4ppyyvq63h3ddwk20cwdg"))))
1905 (build-system gnu-build-system)
1906 (native-inputs
1907 `(("fontforge" ,fontforge)
1908 ("harfbuzz" ,harfbuzz "bin")
1909 ("python" ,python-minimal)
1910 ("python-fonttools" ,python-fonttools)
1911 ("python-google-brotli" ,python-google-brotli)))
1912 (arguments
1913 `(#:make-flags (list "PY=python3"
1914 (string-append "DESTDIR=" %output)
1915 "fontpath=/share/fonts/truetype")
1916 #:test-target "test"
1917 #:phases
1918 (modify-phases %standard-phases
1919 (delete 'configure))))
1920 (home-page "https://gitlab.com/smc/meera-inimai")
1921 (synopsis "Meera Inimai Tamil font")
1922 (description "Meera Inimai is a Unicode font for the Tamil Script. Meera
1923 Inimai is a san-serif typeface. It is best used as a screen font for body
1924 text. It is also useful for body text of printed pamphlets or single page
1925 designs. Meera Inimai can be thought of as similar to Helvetica and its
1926 variation Arial. Tamil characters are inherently vertically-elliptical. The
1927 orthography of Roman glyphs of Meera Inimai are also based on this
1928 characteristic so that they sit smoothly with the Tamil glyphs.")
1929 (license license:silofl1.1)))
1930
1931 (define-public font-ipa-mj-mincho
1932 (package
1933 (name "font-ipa-mj-mincho")
1934 (version "006.01")
1935 (source (origin
1936 (method url-fetch/zipbomb)
1937 (uri (string-append "https://mojikiban.ipa.go.jp/OSCDL/IPAmjMincho"
1938 "/ipamjm" (string-join (string-split version #\.) "")
1939 ".zip"))
1940 (sha256
1941 (base32
1942 "0s2vs9p7vd7ajnn6c2icli069sjwi4d45a39fczqpwwn507lwj9m"))))
1943 (build-system font-build-system)
1944 (arguments
1945 `(#:phases
1946 (modify-phases %standard-phases
1947 (add-after 'install 'install-doc
1948 (lambda* (#:key outputs #:allow-other-keys)
1949 (let ((doc-dir (string-append (assoc-ref outputs "out")
1950 "/share/doc/font-ipa-mj-mincho")))
1951 (mkdir-p doc-dir)
1952 (copy-file "Readme.txt" (string-append doc-dir "/README"))
1953 (copy-file "IPA_Font_License_Agreement_v1.0.txt"
1954 (string-append doc-dir "/LICENSE"))
1955 #t))))))
1956 (home-page "https://mojikiban.ipa.go.jp/1300.html")
1957 (synopsis "Japanese font from the Information-technology Promotion Agency")
1958 (description "MJM Mincho is a font that aims at, for example, allowing you
1959 to write people's name, or for formal business situations where it is necessary
1960 to have a detailed and proper character style.")
1961 (license license:ipa)))
1962
1963 (define-public font-fontna-yasashisa-antique
1964 (package
1965 (name "font-fontna-yasashisa-antique")
1966 (version "0")
1967 (source (origin
1968 (method url-fetch)
1969 (uri (string-append "http://flop.sakura.ne.jp/font/fontna-op/"
1970 "YasashisaAntiqueFont.zip"))
1971 (sha256
1972 (base32
1973 "1hl2qk3lzmh9h2vv5647vhlslkn3vqbq9rqgp4wzybajafx8c6nj"))))
1974 (build-system font-build-system)
1975 (arguments
1976 `(#:phases
1977 (modify-phases %standard-phases
1978 ;; encoding issues cause many phases to fail
1979 (add-after 'unpack 'fix-encoding
1980 (lambda _
1981 ;; This directory, TrueType(サポート外), is not properly encoded,
1982 ;; which makes rename-file fail. Instead, use shell globbing to
1983 ;; select and rename the directory.
1984 (invoke "sh" "-c" "mv TrueType* TrueType")
1985 #t)))))
1986 (native-inputs
1987 `(("bash" ,bash-minimal)
1988 ("coreutils" ,coreutils)))
1989 (home-page "http://www.fontna.com/blog/1122/")
1990 (synopsis "Mix font of gothic kanji and minchou kana")
1991 (description "Antique is a font that is popular to write manga bubbles,
1992 dictionary headwords and picture books. This font reduces the thickness
1993 differences in characters compared to other antique fonts.")
1994 (license (list license:ipa
1995 (license:non-copyleft "mplus-TESTFLIGHT-057/LICENSE_E")))))
1996
1997 (define-public font-mplus-testflight
1998 (package
1999 (name "font-mplus-testflight")
2000 (version "063a")
2001 (source (origin
2002 (method url-fetch)
2003 (uri (string-append "https://osdn.net/frs/redir.php?"
2004 "m=gigenet&f=mplus-fonts%2F62344%2Fmplus-TESTFLIGHT-"
2005 version ".tar.xz"))
2006 (file-name (string-append name "-" version ".tar.xz"))
2007 (sha256
2008 (base32
2009 "0yfx9i77638yrgclnwwl4af79ri3vifi1nslwi6mgzva9cxrgss4"))))
2010 (build-system font-build-system)
2011 (home-page "https://mplus-fonts.osdn.jp/index.html")
2012 (synopsis "Japanese font collection")
2013 (description "M+ is a collection of Japanese fonts with all Latin glyph
2014 sets, with Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA
2015 Extensions. In addition to European letters used in many Western European
2016 languages, it contains Japanese characters, including Kana glyphs and more
2017 than 5,300 Kanji glyphs, as well major international phonetic symbols,
2018 operators and special symbols.")
2019 (license (license:non-copyleft "file:///LICENSE_E"))))
2020
2021 (define-public font-catamaran
2022 (let ((commit "7559b4906f9c9148fb22c6f89508c3053a78a296")
2023 (revision "1"))
2024 (package
2025 (name "font-catamaran")
2026 (version (git-version "0.0.0" revision commit))
2027 (source
2028 (origin
2029 (method git-fetch)
2030 (uri (git-reference
2031 (url "https://github.com/VanillaandCream/Catamaran-Tamil")
2032 (commit commit)))
2033 (file-name (git-file-name name version))
2034 (sha256
2035 (base32
2036 "1wpp41l7j2kpgnyavhgxcc5wp852a4wqsnwravn39gp980s84yxw"))))
2037 (build-system font-build-system)
2038 (home-page "https://github.com/VanillaandCream/Catamaran-Tamil")
2039 (synopsis "9 weight Tamil and Latin type")
2040 (description "Catamaran is a 9 weight Tamil and Latin type. Catamaran
2041 is a stylish type with a polished yet relaxed feel. Its versatility makes it
2042 suitable for a wide range of uses.")
2043 (license license:silofl1.1))))