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