gnu: Add r-yamss.
[jackhill/guix/guix.git] / gnu / packages / fonts.scm
CommitLineData
86f1537d 1;;; GNU Guix --- Functional package management for GNU
f00d66b1 2;;; Copyright © 2013, 2014, 2015, 2016, 2018 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>
47956fa0 10;;; Copyright © 2016, 2017, 2018 ng0 <ng0@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>
d2b38df6 14;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
6e1d7aa9 15;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
c3e2a247 16;;; Copyright © 2016 Toni Reina <areina@riseup.net>
9296d4b6 17;;; Copyright © 2017, 2018, 2019 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>
840b7136 21;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
6aa4f09e 22;;; Copyright © 2017, 2018, 2019 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>
27e65afc 26;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
86f1537d
AE
27;;;
28;;; This file is part of GNU Guix.
29;;;
30;;; GNU Guix is free software; you can redistribute it and/or modify it
31;;; under the terms of the GNU General Public License as published by
32;;; the Free Software Foundation; either version 3 of the License, or (at
33;;; your option) any later version.
34;;;
35;;; GNU Guix is distributed in the hope that it will be useful, but
36;;; WITHOUT ANY WARRANTY; without even the implied warranty of
37;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38;;; GNU General Public License for more details.
39;;;
40;;; You should have received a copy of the GNU General Public License
41;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
42
43(define-module (gnu packages fonts)
6e1d7aa9 44 #:use-module (ice-9 regex)
71be99b8 45 #:use-module (guix utils)
b5b73a82 46 #:use-module ((guix licenses) #:prefix license:)
86f1537d
AE
47 #:use-module (guix packages)
48 #:use-module (guix download)
49dbae54 49 #:use-module (guix git-download)
b2f89c19 50 #:use-module (guix build-system font)
d41bb065 51 #:use-module (guix build-system gnu)
86f1537d 52 #:use-module (guix build-system trivial)
56b7a338 53 #:use-module (gnu packages base)
d41bb065 54 #:use-module (gnu packages compression)
47268eec 55 #:use-module (gnu packages fontutils)
d41bb065 56 #:use-module (gnu packages perl)
47268eec
AE
57 #:use-module (gnu packages pkg-config)
58 #:use-module (gnu packages python)
148585c2 59 #:use-module (gnu packages xorg))
86f1537d 60
270750d4
CR
61(define-public font-ibm-plex
62 (package
63 (name "font-ibm-plex")
64 (version "1.0.1")
65 (source (origin
66 (method url-fetch)
67 (uri (string-append
68 "https://github.com/IBM/plex/releases/download/"
69 "v" version "/OpenType.zip"))
70 (sha256
71 (base32
72 "0nzxw9z6waixslam248yr26ci3fbk83c7jf6m90hncnaj6zxx795"))))
73 (build-system font-build-system)
74 (home-page "https://github.com/IBM/plex")
75 (synopsis "IBM Plex typeface")
76 (description "This package provides the Plex font family. It comes in a
77Sans, Serif, Mono and Sans Condensed, all with roman and true italics. The
78fonts have been designed to work well in user interface (UI) environments as
79well as other mediums.")
80 (license license:silofl1.1)))
81
477ac94b 82(define-public font-inconsolata
dede51a1
ED
83 (package
84 (name "font-inconsolata")
85 (version "0.80")
86 (source (origin
87 (method url-fetch)
88 (uri "http://www.levien.com/type/myfonts/Inconsolata.otf")
89 (sha256
90 (base32
91 "06js6znbcf7swn8y3b8ki416bz96ay7d3yvddqnvi88lqhbfcq8m"))))
b2f89c19 92 (build-system font-build-system)
dede51a1
ED
93 (home-page "http://levien.com/type/myfonts/inconsolata.html")
94 (synopsis "Monospace font")
95 (description "A monospace font, designed for code listings and the like,
96in print. With attention to detail for high resolution rendering.")
97 (license license:silofl1.1)))
98
e93b88f7
ED
99(define-public font-ubuntu
100 (package
101 (name "font-ubuntu")
29f9abb4 102 (version "0.83")
e93b88f7 103 (source (origin
96cae1b4
JN
104 (method git-fetch)
105 (uri (git-reference
106 (url "https://salsa.debian.org/fonts-team/fonts-ubuntu")
107 (commit (string-append "upstream/" version))))
108 (file-name (git-file-name name version))
e93b88f7
ED
109 (sha256
110 (base32
96cae1b4 111 "1d2xrjpxy70f3nsgqiggwv6pj06qglf5vj2847pqx60w3ygi903g"))))
59786588 112 (build-system font-build-system)
e93b88f7
ED
113 (home-page "http://font.ubuntu.com/")
114 (synopsis "The Ubuntu Font Family")
115 (description "The Ubuntu Font Family is a unique, custom designed font
116that has a very distinctive look and feel. This package provides the
117TrueType (TTF) files.")
118 (license
119 (license:non-copyleft
120 "http://font.ubuntu.com/ufl/ubuntu-font-licence-1.0.txt"
121 "Ubuntu Font License v1.0"))))
122
5e6bdf06 123(define-public font-dejavu
72f210ea 124 (package
5e6bdf06 125 (name "font-dejavu")
d7284b6a 126 (version "2.37")
72f210ea
MW
127 (source (origin
128 (method url-fetch)
de67e922 129 (uri (string-append "mirror://sourceforge/dejavu/dejavu/"
72f210ea
MW
130 version "/dejavu-fonts-ttf-"
131 version ".tar.bz2"))
132 (sha256
133 (base32
d7284b6a 134 "1mqpds24wfs5cmfhj57fsfs07mji2z8812i5c4pi5pbi738s977s"))))
2e884019 135 (build-system font-build-system)
72f210ea 136 (arguments
2e884019
AI
137 `(#:phases
138 (modify-phases %standard-phases
139 (add-after 'install 'install-conf
140 (lambda* (#:key outputs #:allow-other-keys)
141 (let ((conf-dir (string-append (assoc-ref outputs "out")
142 "/share/fontconfig/conf.avail")))
38ef437b
MW
143 (copy-recursively "fontconfig" conf-dir)
144 #t))))))
db369e91 145 (home-page "https://dejavu-fonts.github.io/")
72f210ea
MW
146 (synopsis "Vera font family derivate with additional characters")
147 (description "DejaVu provides an expanded version of the Vera font family
148aiming for quality and broader Unicode coverage while retaining the original
b4774d87 149Vera style. DejaVu currently works towards conformance to the Multilingual
72f210ea
MW
150European Standards (MES-1 and MES-2) for Unicode coverage. The DejaVu fonts
151provide serif, sans and monospaced variants.")
152 (license
153 (license:x11-style
154 "http://dejavu-fonts.org/"))))
155
5e6bdf06 156(define-public font-bitstream-vera
86f1537d 157 (package
5e6bdf06 158 (name "font-bitstream-vera")
86f1537d
AE
159 (version "1.10")
160 (source (origin
161 (method url-fetch)
162 (uri (string-append "mirror://gnome/sources/ttf-bitstream-vera/"
163 version "/ttf-bitstream-vera-"
164 version ".tar.bz2"))
165 (sha256
166 (base32
167 "1p3qs51x5327gnk71yq8cvmxc6wgx79sqxfvxcv80cdvgggjfnyv"))))
e46e0de1 168 (build-system font-build-system)
f032d0be 169 (home-page "https://www.gnome.org/fonts/")
86f1537d
AE
170 (synopsis "Bitstream Vera sans-serif typeface")
171 (description "Vera is a sans-serif typeface from Bitstream, Inc. This
172package provides the TrueType (TTF) files.")
173 (license
d5b09129
CL
174 (license:fsdg-compatible
175 "https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"
176 "The Font Software may be sold as part of a larger software package but
177no copy of one or more of the Font Software typefaces may be sold by
178itself."))))
86f1537d 179
71be99b8
LC
180(define-public font-cantarell
181 (package
182 (name "font-abattis-cantarell")
b18e5945 183 (version "0.0.25")
71be99b8
LC
184 (source (origin
185 (method url-fetch)
186 (uri (string-append "mirror://gnome/sources/cantarell-fonts/"
187 (version-major+minor version)
188 "/cantarell-fonts-" version ".tar.xz"))
189 (sha256
190 (base32
b18e5945 191 "0zvkd8cm1cg2919v1js9qmzwa02sjl7qajj3gcvgqvai1fm2i8hl"))))
71be99b8
LC
192 (build-system gnu-build-system)
193 (home-page "https://wiki.gnome.org/Projects/CantarellFonts")
194 (synopsis "Cantarell sans-serif typeface")
195 (description "The Cantarell font family is a contemporary Humanist
196sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
197 (license license:silofl1.1)))
198
4eb47420 199(define-public font-lato
200 (package
201 (name "font-lato")
253a4bb2 202 (version "2.010") ; also update description
4eb47420 203 (source (origin
803b9e8b 204 (method url-fetch/zipbomb)
253a4bb2 205 (uri (string-append "https://www.latofonts.com/download/Lato2OFL.zip"))
4eb47420 206 (sha256
207 (base32
208 "1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
803b9e8b 209 (build-system font-build-system)
253a4bb2 210 (home-page "https://www.latofonts.com/lato-free-fonts/")
4eb47420 211 (synopsis "Lato sans-serif typeface")
212 (description
213 "Lato is a sanserif typeface family. It covers over 3000 glyphs per style.
214The Lato 2.010 family supports more than 100 Latin-based languages, over
21550 Cyrillic-based languages as well as Greek and IPA phonetics.")
216 (license license:silofl1.1)))
217
5e6bdf06 218(define-public font-gnu-freefont-ttf
86f1537d 219 (package
5e6bdf06 220 (name "font-gnu-freefont-ttf")
47268eec 221 (version "20120503")
86f1537d
AE
222 (source (origin
223 (method url-fetch)
47268eec 224 (uri (string-append "mirror://gnu/freefont/freefont-src-"
86f1537d
AE
225 version ".tar.gz"))
226 (sha256
227 (base32
47268eec
AE
228 "0yk58blhcd4hm7nyincmqq4jrzjjk82wif2zmk1l3y2m4vif4qhd"))))
229 (build-system gnu-build-system)
86f1537d 230 (arguments
47268eec
AE
231 `(#:phases (modify-phases %standard-phases
232 (delete 'configure)
233 (replace 'install
234 (lambda _
235 (let ((doc-dir (string-append %output "/share/doc/"
236 ,name "-" ,version))
237 (font-dir (string-append %output
238 "/share/fonts/truetype")))
239 (mkdir-p doc-dir)
240 (substitute* "Makefile"
241 (("\\$\\(TMPDIR\\)") doc-dir)
242 (("sfd/\\*.ttf") ""))
243 (system* "make" "ttftar")
244 (mkdir-p font-dir)
245 (for-each (lambda (file)
8837860c 246 (install-file file font-dir))
47268eec
AE
247 (filter
248 (lambda (file) (string-suffix? "ttf" file))
249 (find-files "." "")))))))
250 #:test-target "tests"))
251 ;; replace python 3 with python 2
252 ;; python 3 support commits aren't yet released in 20120503
253 ;; so freefont needs python 2 support in fontforge
254 (native-inputs `(("fontforge" ,(package (inherit fontforge)
255 (inputs `(("python-2" ,python-2)
256 ,@(package-inputs fontforge)))))))
6fd52309 257 (home-page "https://www.gnu.org/software/freefont/")
86f1537d
AE
258 (synopsis "Unicode-encoded outline fonts")
259 (description
260 "The GNU Freefont project aims to provide a set of free outline
261 (PostScript Type0, TrueType, OpenType...) fonts covering the ISO
26210646/Unicode UCS (Universal Character Set).")
63e8bb12
LC
263 (license license:gpl3+)
264 (properties '((upstream-name . "freefont")
265 (ftp-directory . "/gnu/freefont")))))
d41bb065 266
16191117
AK
267(define-public font-liberation
268 (package
269 (name "font-liberation")
0754f29a
TGR
270 (version "2.00.5")
271 (source
272 (origin
273 (method url-fetch)
274 (uri (string-append "https://github.com/liberationfonts/liberation-fonts/"
275 "files/2926169/liberation-fonts-ttf-" version ".tar.gz"))
276 (sha256
277 (base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi"))))
45d32e24 278 (build-system font-build-system)
0754f29a
TGR
279 (home-page "https://github.com/liberationfonts")
280 (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New")
16191117
AK
281 (description
282 "The Liberation font family aims at metric compatibility with
283Arial, Times New Roman, and Courier New.
16191117
AK
284There are three sets:
285
0102fba2 286@enumerate
ec460a2a 287@item Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and
16191117 288Bitstream Vera Sans);
ec460a2a 289@item Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and
16191117 290Bitstream Vera Serif);
ec460a2a 291@item Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L,
16191117 292and Bitstream Vera Sans Mono).
0102fba2 293@end enumerate
16191117
AK
294
295The Liberation Fonts are sponsored by Red Hat.")
296 (license license:silofl1.1)))
297
d28fa5cc
RW
298(define-public font-linuxlibertine
299 (package
300 (name "font-linuxlibertine")
301 (version "5.3.0")
302 (source (origin
303 (method url-fetch/tarbomb)
304 (uri (string-append "mirror://sourceforge/linuxlibertine/"
305 "linuxlibertine/" version
306 "/LinLibertineSRC_" version "_2012_07_02.tgz"))
307 (sha256
308 (base32
309 "0x7cz6hvhpil1rh03rax9zsfzm54bh7r4bbrq8rz673gl9h47v0v"))))
15795e07 310 (build-system font-build-system)
d28fa5cc 311 (arguments
15795e07 312 `(#:phases
d28fa5cc 313 (modify-phases %standard-phases
15795e07 314 (add-before 'install 'build
d28fa5cc
RW
315 (lambda _
316 (let ((compile
317 (lambda (name ext)
15795e07
AI
318 (invoke
319 "fontforge" "-lang=ff"
320 "-c" (string-append "Open('" name "');"
321 "Generate('"
322 (basename name "sfd") ext
323 "')")))))
324 (for-each (lambda (name)
325 (and (compile name "ttf")
326 (compile name "otf")))
327 (find-files "." "\\.sfd$"))
d28fa5cc
RW
328 #t))))))
329 (native-inputs
330 `(("fontforge" ,fontforge)))
331 (home-page "http://www.linuxlibertine.org/")
332 (synopsis "Serif and sans serif typefaces")
333 (description "The Linux Libertine fonts is a set of typefaces containing
334both a Serif version (\"Linux Libertine\") and a Sans Serif (\"Linux
335Biolinum\") designed to be used together as an alternative for Times/Times New
336Roman and Helvetica/Arial. The Serif typeface comes in two shapes and two
337weights, and with a Small Capitals version of the regular typeface. Linux
338Biolinum is available in both Regular and Bold weights.")
339 ;; The fonts are released under either of these licenses.
340 (license (list license:gpl2+ license:silofl1.1))))
341
5e6bdf06 342(define-public font-terminus
d41bb065 343 (package
5e6bdf06 344 (name "font-terminus")
73c5c482 345 (version "4.47")
d41bb065 346 (source
73c5c482
TGR
347 (origin
348 (method url-fetch)
349 (uri (string-append "mirror://sourceforge/terminus-font/terminus-font-"
350 version "/terminus-font-" version ".tar.gz"))
351 (sha256
352 (base32 "15qjcpalcxjiwsjgjg5k88vkwp56cs2nnx4ghya6mqp4i1c206qg"))))
d41bb065 353 (build-system gnu-build-system)
a431e213
TGR
354 (outputs (list "out" "pcf-8bit"))
355 (arguments
356 `(#:tests? #f ; no test target in tarball
357 #:phases
358 (modify-phases %standard-phases
359 (add-after 'build 'build-more-bits
360 ;; X11 8-bit code pages aren't installed by default (they were
361 ;; until version 4.46). Build and install them separately.
362 (lambda* (#:key make-flags #:allow-other-keys)
363 (apply invoke "make" "pcf-8bit" make-flags)))
364 (add-after 'install 'install-more-bits
365 (lambda* (#:key make-flags outputs #:allow-other-keys)
366 (let ((pcf-8bit (assoc-ref outputs "pcf-8bit")))
367 (apply invoke "make" "install-pcf-8bit" (string-append "prefix="
368 pcf-8bit)
369 make-flags)))))))
d41bb065 370 (native-inputs
73c5c482 371 `(("bdftopcf" ,bdftopcf)
b3546174 372 ("font-util" ,font-util)
73c5c482
TGR
373 ("mkfontdir" ,mkfontdir)
374 ("pkg-config" ,pkg-config)
375 ("python" ,python)))
d41bb065
JG
376 (home-page "http://terminus-font.sourceforge.net/")
377 (synopsis "Simple bitmap programming font")
b4774d87
TGR
378 (description "Terminus Font is a clean, fixed-width bitmap font, designed
379for long periods of working with computers (8 or more hours per day).")
380f2ab6 380 (license license:silofl1.1)))
692784dd
SB
381
382(define-public font-adobe-source-han-sans
383 (package
384 (name "font-adobe-source-han-sans")
2666a126 385 (version "1.004")
692784dd 386 (source (origin
8f4dccf7
EF
387 (method git-fetch)
388 (uri (git-reference
389 (url "https://github.com/adobe-fonts/source-han-sans.git")
390 (commit (string-append version "R"))))
391 (file-name (git-file-name name version))
692784dd
SB
392 (sha256
393 (base32
8f4dccf7 394 "0zm884d8fp5gvirq324050kqv7am9khyqhs9kk4r4rr3jzn61jpk"))))
2666a126 395 (outputs '("out" ; OpenType/CFF Collection (OTC), 121 MiB.
692784dd
SB
396 "cn" "jp" "kr" "tw")) ; Region-specific Subset OpenType/CFF.
397 (build-system trivial-build-system)
398 (arguments
399 `(#:modules ((guix build utils))
400 #:builder
401 (begin
402 (use-modules (guix build utils))
8f4dccf7 403 (let ((install-opentype-fonts
692784dd
SB
404 (lambda (fonts-dir out)
405 (copy-recursively fonts-dir
406 (string-append (assoc-ref %outputs out)
407 "/share/fonts/opentype")))))
8f4dccf7 408 (chdir (assoc-ref %build-inputs "source"))
692784dd
SB
409 (install-opentype-fonts "OTC" "out")
410 (install-opentype-fonts "SubsetOTF/CN" "cn")
411 (install-opentype-fonts "SubsetOTF/JP" "jp")
412 (install-opentype-fonts "SubsetOTF/KR" "kr")
2666a126 413 (install-opentype-fonts "SubsetOTF/TW" "tw")
e3cfef22
MW
414 (for-each delete-file (find-files %output "\\.zip$"))
415 #t))))
692784dd
SB
416 (home-page "https://github.com/adobe-fonts/source-han-sans")
417 (synopsis "Pan-CJK fonts")
418 (description
419 "Source Han Sans is a sans serif Pan-CJK font family that is offered in
420seven weights: ExtraLight, Light, Normal, Regular, Medium, Bold, and Heavy.
421And in several OpenType/CFF-based deployment configurations to accommodate
422various system requirements or limitations. As the name suggests, Pan-CJK
423fonts are intended to support the characters necessary to render or display
e881752c 424text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.")
2666a126 425 (license license:silofl1.1)))
192b4802 426
840b7136 427(define-public font-cns11643
377fad00
BT
428 ;; Since upstream doesn't provide any version numbers, the date of the last
429 ;; edit is used, taken from https://data.gov.tw/dataset/5961
430 ;; XXX: The source is also updated in-place, so it may be desirable to mirror
431 ;; it elsewhere to avoid suddenly losing the current source file.
840b7136
BT
432 (package
433 (name "font-cns11643")
377fad00 434 (version "98.1.20180605")
840b7136
BT
435 (source (origin
436 (method url-fetch)
437 (uri "http://www.cns11643.gov.tw/AIDB/Open_Data.zip")
438 (sha256
439 (base32
377fad00 440 "000a9whrjr1cd4pjc23pbl60zwkq3wcb5g61p9qi7fn3hwkp0kyw"))))
8c5ad448 441 (build-system font-build-system)
840b7136
BT
442 (home-page "http://www.cns11643.gov.tw/AIDB/welcome.do")
443 (synopsis "CJK TrueType fonts, TW-Kai and TW-Sung")
444 (description
445 "@code{CNS 11643} character set (Chinese National Standard, or Chinese
446Standard Interchange Code) is the standard character set of the Republic of
447China (Taiwan) for Chinese Characters and other Unicode symbols. Contained
448are six TrueType fonts based on two script styles, Regular script (Kai), and
449Sung/Ming script, each with three variants:
450
451@itemize
452@item @code{CNS 11643} (@code{TW-Kai} and @code{TW-Sung}): Tens of thousands
453of CJK characters from frequency tables published by the Taiwanese
454Ministry of Education. ISO 10646 and Unicode compatible encoding.
455@item @code{Big-5 Plus}: Several thousand frequently used CJK characters
456encoded in the user defined area of the Big-5 code.
457@item @code{Big-5 Extended}: A Big-5 character set based on the
458@code{Big-5 Plus} and @code{CNS 11643} character sets.
459@end itemize\n")
460 (license (license:non-copyleft
461 "http://data.gov.tw/license")))) ; CC-BY 4.0 compatible
462
f3744a01
BT
463(define-public font-cns11643-swjz
464 (package
465 (name "font-cns11643-swjz")
466 (version "1")
467 (source
468 (origin
469 (method url-fetch)
470 (uri "https://www.moedict.tw/fonts/truetype/cns11643/ebas927.ttf")
471 (sha256
472 (base32
473 "1qkljldbmb53zp1rcmpsb8rzy67rnsqcjxi549m9743ifk4isl78"))))
a5ce48c8 474 (build-system font-build-system)
f3744a01
BT
475 (home-page
476 (string-append "http://www.cns11643.gov.tw/AIDB/download.do"
477 "?name=%E5%AD%97%E5%9E%8B%E4%B8%8B%E8%BC%89"))
478 (synopsis "TrueType seal script font")
479 (description
480 "@code{Shuowen Jiezi} is a TrueType seal script font based on the ancient
481text of the same name published by the Executive Yuan of Taiwan. 6721 glyphs
482are included, at Unicode compatible code points corresponding to their modern
483variants.")
484 ;; Original text only available in Chinese. More info at
485 ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26703#11
486 (license (license:non-copyleft
487 "http://www.cns11643.gov.tw/AIDB/copyright.do"))))
488
192b4802
RW
489(define-public font-wqy-zenhei
490 (package
491 (name "font-wqy-zenhei")
492 (version "0.9.45")
493 (source (origin
494 (method url-fetch)
495 (uri (string-append
de67e922
LF
496 "mirror://sourceforge/wqy/wqy-zenhei/" version
497 "%20%28Fighting-state%20RC1%29/wqy-zenhei-"
192b4802 498 version ".tar.gz"))
192b4802
RW
499 (sha256
500 (base32
501 "1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"))))
371ca85f 502 (build-system font-build-system)
78cda0bc 503 (home-page "https://wenq.org/wqy2/")
192b4802
RW
504 (synopsis "CJK font")
505 (description
506 "WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline
507font. It is designed for general purpose text formatting and on-screen
508display of Chinese characters and symbols from many other languages.
b4774d87 509WenQuanYi Zen Hei provides a rather complete coverage of Chinese Hanzi glyphs,
192b4802
RW
510including both simplified and traditional forms. The total glyph number in
511this font is over 35,000, including over 21,000 Chinese Hanzi. This font has
b4774d87
TGR
512full coverage of the GBK (CP936) charset, CJK Unified Ideographs, as well as
513the code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
514ko (Korean) locales for @code{fontconfig}.")
78cda0bc 515 ;; GPLv2 with font embedding exception.
192b4802 516 (license license:gpl2)))
3f88152d 517
12b8f6b4
FS
518(define-public font-wqy-microhei
519 (package
520 (name "font-wqy-microhei")
521 (version "0.2.0-beta")
522 (source (origin
523 (method url-fetch)
524 (uri (string-append "mirror://sourceforge/wqy/wqy-microhei/"
525 version "/wqy-microhei-" version ".tar.gz"))
526 (sha256
527 (base32
528 "0gi1yxqph8xx869ichpzzxvx6y50wda5hi77lrpacdma4f0aq0i8"))))
7fc6ce46 529 (build-system font-build-system)
12b8f6b4
FS
530 (home-page "http://wenq.org/wqy2/")
531 (synopsis "CJK font")
532 (description
533 "WenQuanYi Micro Hei is a Sans-Serif style (also known as Hei, Gothic or
534Dotum among the Chinese/Japanese/Korean users) high quality CJK outline font.
535It was derived from \"Droid Sans Fallback\" and \"Droid Sans\" released by
536Google Inc. This font contains all the unified CJK Han glyphs in the range of
537U+4E00-U+9FC3 defined in Unicode Standard 5.1, together with many other
538languages unicode blocks, including Latins, Extended Latins, Hanguls and
539Kanas. The font file is extremely compact (~4M) compared with most known CJK
540fonts.")
541 ;; This font is licensed under Apache2.0 or GPLv3 with font embedding
542 ;; exceptions.
543 (license license:gpl3)))
544
42ecb96e
MS
545(define-public font-rachana
546 (package
547 (name "font-rachana")
548 (version "7.0")
549 (source
550 (origin
551 (method url-fetch)
552 (uri (string-append
553 "https://gitlab.com/smc/rachana/repository/archive.tar.gz?ref=Version"
554 version))
555 (file-name (string-append name "-" version ".tar.gz"))
556 (sha256
557 (base32
558 "0jc091gshna6p1dd6lf507jxkgk6rsja835fc9dm71mcplq53bm1"))))
559 (build-system font-build-system)
560 (home-page "https://smc.org.in")
561 (synopsis "Malayalam font")
562 (description
563 "Rachana is a Malayalam font designed by Hussain K H. The project was
564part of Rachana Aksharavedi for the original script of Malayalam in computing.
565Rachana has about 1,200+ glyphs for Malayalam and contains glyphs required for
566printing old Malayalam books without compromising the writing style.")
567 ;; This font is licensed under SIL 1.1 or GPLv3+ with font embedding
568 ;; exceptions.
569 (license (list license:silofl1.1 license:gpl3+))))
570
3f88152d
RW
571(define-public font-tex-gyre
572 (package
573 (name "font-tex-gyre")
574 (version "2.005")
575 (source
576 (origin
c226f06c 577 (method url-fetch/zipbomb)
3f88152d
RW
578 (uri (string-append "http://www.gust.org.pl/projects/e-foundry/"
579 "tex-gyre/whole/tg-" version "otf.zip"))
580 (sha256
581 (base32
582 "0kph9l3g7jb2bpmxdbdg5zl56wacmnvdvsdn7is1gc750sqvsn31"))))
c226f06c 583 (build-system font-build-system)
3f88152d
RW
584 (home-page "http://www.gust.org.pl/projects/e-foundry/tex-gyre/")
585 (synopsis "Remake of Ghostscript fonts")
586 (description "The TeX Gyre collection of fonts is the result of an
587extensive remake and extension of the freely available base PostScript fonts
588distributed with Ghostscript version 4.00. The collection contains the
589following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor,
590Heros, Pagella, Schola, Termes.")
591 (license license:gfl1.0)))
761b3d44
LF
592
593(define-public font-anonymous-pro
594 (package
595 (name "font-anonymous-pro")
596 (version "1.002")
597 (source (origin
598 (method url-fetch)
599 (uri (string-append
bba5bb30 600 "https://www.marksimonson.com/assets/content/fonts/"
761b3d44
LF
601 "AnonymousPro-" version ".zip"))
602 (sha256
603 (base32
604 "1asj6lykvxh46czbal7ymy2k861zlcdqpz8x3s5bbpqwlm3mhrl6"))))
bbb1a1d2 605 (build-system font-build-system)
bba5bb30 606 (home-page "https://www.marksimonson.com/fonts/view/anonymous-pro")
761b3d44
LF
607 (synopsis "Fixed-width fonts designed with coding in mind")
608 (description "Anonymous Pro is a family of four fixed-width fonts designed
609with coding in mind. Anonymous Pro features an international, Unicode-based
610character set, with support for most Western and Central European Latin-based
611languages, plus Greek and Cyrillic.")
612 (license license:silofl1.1)))
d032d965
SB
613
614(define-public font-gnu-unifont
615 (package
616 (name "font-gnu-unifont")
d2b38df6 617 (version "12.0.01")
d032d965
SB
618 (source (origin
619 (method url-fetch)
620 (uri (string-append
df320991 621 "mirror://gnu/unifont/unifont-" version "/unifont-"
d032d965
SB
622 version ".tar.gz"))
623 (sha256
624 (base32
d2b38df6 625 "059j82z6z4wqyy3261ns0zg2b2vh2wvxxfbsa9hra9xasism49vb"))))
d032d965 626 (build-system gnu-build-system)
f21058dc
EF
627 (outputs '("out" ; TrueType version
628 "pcf" ; PCF (bitmap) version
629 "psf" ; PSF (console) version
630 "bin")) ; Utilities to manipulate '.hex' format
d032d965 631 (arguments
f21058dc 632 '(#:tests? #f ; no check target
d032d965
SB
633 #:phases
634 (modify-phases %standard-phases
c88bee0a
EF
635 (replace
636 'configure
637 (lambda _ (setenv "CC" "gcc") #t))
d032d965
SB
638 (replace
639 'install
640 (lambda* (#:key outputs #:allow-other-keys)
641 (let* ((ttf (string-append (assoc-ref outputs "out")
642 "/share/fonts/truetype"))
643 (pcf (string-append (assoc-ref outputs "pcf")
644 "/share/fonts/misc"))
645 (psf (string-append (assoc-ref outputs "psf")
646 "/share/consolefonts"))
647 (bin (assoc-ref outputs "bin")))
5b47ea94
EF
648 (invoke "make"
649 (string-append "PREFIX=" bin)
650 (string-append "TTFDEST=" ttf)
651 (string-append "PCFDEST=" pcf)
652 (string-append "CONSOLEDEST=" psf)
653 "install")
d032d965
SB
654 ;; Move Texinfo file to the right place.
655 (mkdir (string-append bin "/share/info"))
c1352b4b
LC
656 (invoke "gzip" "-9n" "doc/unifont.info")
657 (install-file "doc/unifont.info.gz"
658 (string-append bin "/share/info"))
d032d965
SB
659 #t))))))
660 (inputs
661 `(("perl" ,perl))) ; for utilities
662 (synopsis
663 "Large bitmap font covering Unicode's Basic Multilingual Plane")
664 (description
665 "GNU Unifont is a bitmap font covering essentially all of
666Unicode's Basic Multilingual Plane. The package also includes
667utilities to ease adding new glyphs to the font.")
668 (home-page "http://unifoundry.com/unifont.html")
fc19cee1 669 (properties '((upstream-name . "unifont")))
d032d965 670 (license license:gpl2+)))
b6ecac93
J
671
672(define-public font-google-noto
673 (package
674 (name "font-google-noto")
dd78efe3 675 (version "20170403")
b6ecac93 676 (source (origin
2f7966c8 677 (method url-fetch/zipbomb)
dd78efe3 678 (uri (string-append "https://noto-website.storage.googleapis.com/"
b6ecac93 679 "pkgs/Noto-hinted.zip"))
2f7966c8 680 (file-name (string-append name "-" version ".zip"))
b6ecac93
J
681 (sha256
682 (base32
dd78efe3 683 "1p92a6dvs7wqwjfpp1ahr9z1wz35am0l8r78521383spd77bmrfm"))))
2f7966c8 684 (build-system font-build-system)
b6ecac93 685 (home-page "https://www.google.com/get/noto/")
b4774d87
TGR
686 (synopsis "Fonts to cover all languages")
687 (description "Google Noto Fonts is a family of fonts designed to support
688all languages with a consistent look and aesthetic. Its goal is to properly
689display all Unicode symbols.")
b6ecac93 690 (license license:silofl1.1)))
aae6b4b9 691
bb0756c7 692(define-public font-google-roboto
693 (package
694 (name "font-google-roboto")
695 (version "2.136")
696 (source
697 (origin
698 (method url-fetch)
699 (uri (string-append "https://github.com/google/roboto/releases/download/"
700 "v" version "/roboto-hinted.zip"))
701 (file-name (string-append name "-" version ".zip"))
702 (sha256
703 (base32
704 "0spscx08fad7i8qs7icns96iwcapniq8lwwqqvbf7bamvs8qfln4"))))
9713b31e 705 (build-system font-build-system)
bb0756c7 706 (home-page "https://github.com/google/roboto")
707 (synopsis "The Roboto family of fonts")
708 (description
709 "Roboto is Google’s signature family of fonts, the default font on Android
710and Chrome OS, and the recommended font for the
711visual language \"Material Design\".")
712 (license license:asl2.0)))
713
aae6b4b9 714(define-public font-un
715 (package
716 (name "font-un")
717 (version "1.0.2-080608")
aae6b4b9 718 (source (origin
719 (method url-fetch)
99a61dad 720 (uri (string-append
721 "https://kldp.net/unfonts/release/2607-"
722 "un-fonts-core-" version ".tar.gz"))
aae6b4b9 723 (file-name (string-append name "-" version ".tar.gz"))
724 (sha256
725 (base32
726 "13liaz2pmww3aqabm55la5npd08m1skh334ky7qfidxaz5s742iv"))))
6084d9b4 727 (build-system font-build-system)
aae6b4b9 728 (home-page "https://kldp.net/projects/unfonts/")
729 (synopsis "Collection of Korean fonts")
730 (description
731 "Un-fonts is a family of mainly Korean fonts.
732It contains the following fonts and styles:
733
734@enumerate
735@item UnBatang, UnBatangBold: serif;
736@item UnDotum, UnDotumBold: sans-serif;
737@item UnGraphic, UnGraphicBold: sans-serif style;
738@item UnDinaru, UnDinaruBold, UnDinaruLight;
739@item UnPilgi, UnPilgiBold: script;
740@item UnGungseo: cursive, brush-stroke.
741@end enumerate\n")
742 (license license:gpl2+)))
f85cafde
EB
743
744(define-public font-fantasque-sans
745 (package
746 (name "font-fantasque-sans")
5882078e 747 (version "1.7.2")
f85cafde
EB
748 (source
749 (origin
5882078e
EB
750 (method git-fetch)
751 (uri (git-reference
752 (url "https://github.com/belluzj/fantasque-sans.git")
753 (commit (string-append "v" version))))
754 (file-name (git-file-name name version))
f85cafde
EB
755 (sha256
756 (base32
5882078e 757 "1gjranq7qf20rfxnpxsckv1hl35nzsal0rjs475nhfbpqy5wmly6"))))
f85cafde
EB
758 (build-system gnu-build-system)
759 (native-inputs
760 `(("ttfautohint" ,ttfautohint)
761 ("woff-tools" ,woff-tools)
762 ("fontforge" ,fontforge)
763 ("woff2" ,woff2)
5882078e
EB
764 ("ttf2eot" ,ttf2eot)
765 ("zip" ,zip)))
f85cafde
EB
766 (arguments
767 `(#:tests? #f ;test target intended for visual inspection
768 #:phases (modify-phases %standard-phases
769 (delete 'configure) ;no configuration
5882078e
EB
770 (add-before 'build 'xrange->range
771 ;; Rather than use a python2 fontforge, just replace the
772 ;; offending function.
773 (lambda _
774 (substitute* "Scripts/fontbuilder.py"
775 (("xrange") "range"))
776 #t))
f85cafde
EB
777 (replace 'install
778 ;; 'make install' wants to install to ~/.fonts, install to
5882078e 779 ;; output instead. Install only the "Normal" variant.
f85cafde
EB
780 (lambda* (#:key outputs #:allow-other-keys)
781 (let* ((out (assoc-ref outputs "out"))
782 (font-dir (string-append out "/share/fonts"))
783 (truetype-dir (string-append font-dir "/truetype"))
784 (opentype-dir (string-append font-dir "/opentype"))
785 (webfonts-dir (string-append font-dir "/webfonts")))
5882078e
EB
786 (with-directory-excursion "Variants/Normal"
787 (copy-recursively "OTF" opentype-dir)
788 (for-each (lambda (f) (install-file f truetype-dir))
789 (find-files "." "\\.ttf$"))
790 (copy-recursively "Webfonts" webfonts-dir)
791 #t)))))))
f85cafde
EB
792 (synopsis "Font family with a monospaced variant for programmers")
793 (description
794 "Fantasque Sans Mono is a programming font designed with functionality in
795mind. The font includes a bold version and a good italic version with new
796glyph designs, not just an added slant.")
797 (home-page "https://fontlibrary.org/en/font/fantasque-sans-mono")
798 (license license:silofl1.1)))
73c8d39c 799
800(define-public font-hack
801 (package
802 (name "font-hack")
9296d4b6 803 (version "3.003")
73c8d39c 804 (source (origin
8069f889 805 (method url-fetch/zipbomb)
73c8d39c 806 (uri (string-append
77aa706a
TGR
807 "https://github.com/source-foundry/Hack/releases/download/v"
808 version "/Hack-v" version "-ttf.zip"))
73c8d39c 809 (sha256
810 (base32
9296d4b6 811 "1b4hh8zkrx92m2v2vfkja1napb0192p0j3laqr0m018z3dih89hc"))))
8069f889 812 (build-system font-build-system)
73c8d39c 813 (home-page "https://sourcefoundry.org/hack/")
b4774d87 814 (synopsis "Typeface designed for source code")
73c8d39c 815 (description
b4774d87 816 "Hack is designed to be a workhorse typeface for code. It expands upon
d083a823 817the Bitstream Vera & DejaVu projects, provides over 1,500 glyphs, and includes
b4774d87 818Powerline support.")
77aa706a
TGR
819 (license
820 ;; See https://github.com/source-foundry/Hack/issues/271 for details.
821 (list license:expat ; the Hack modifications to...
822 license:public-domain ; ...the DejaVu modifications to...
823 (license:x11-style ; ...the Bitstream Vera typeface
824 "file://LICENSE.md" "Bitstream Vera License")))))
6e1d7aa9
MB
825
826(define-public font-adobe-source-code-pro
827 (package
828 (name "font-adobe-source-code-pro")
829 (version "2.030R-ro-1.050R-it")
830 (source (origin
831 (method url-fetch)
832 (uri (string-append
833 "https://github.com/adobe-fonts/source-code-pro/archive/"
834 (regexp-substitute/global
835 ;; The upstream tag uses "/" between the roman and italic
836 ;; versions, so substitute our "-" separator here.
837 #f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
838 (file-name (string-append name "-" version ".tar.gz"))
839 (sha256
840 (base32
841 "0arhhsf3i7ss39ykn73d1j8k4n8vx7115xph6jwkd970p1cxvr54"))))
b41704cd 842 (build-system font-build-system)
6e1d7aa9
MB
843 (home-page "https://github.com/adobe-fonts/source-code-pro")
844 (synopsis
845 "Monospaced font family for user interface and coding environments")
846 (description
847 "Source Code Pro is a set of monospaced OpenType fonts that have been
848designed to work well in user interface environments.")
849 (license license:silofl1.1)))
c3e2a247 850
27e65afc
J
851(define-public font-adobe-source-sans-pro
852 (package
853 (name "font-adobe-source-sans-pro")
854 (version "2.040R-ro-1.090R-it")
855 (source (origin
856 (method url-fetch)
857 (uri (string-append
858 "https://github.com/adobe-fonts/source-sans-pro/archive/"
859 (regexp-substitute/global
860 ;; The upstream tag uses "/" between the roman and italic
861 ;; versions, so substitute our "-" separator here.
862 #f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
863 (file-name (string-append name "-" version ".tar.gz"))
864 (sha256
865 (base32
866 "1wpbhd2idps53ph8rg1mhr3vz4lsgbpjprcq10nliwcxdz9d8lv0"))))
867 (build-system font-build-system)
868 (home-page "https://github.com/adobe-fonts/source-sans-pro")
869 (synopsis
870 "Sans serif font family for user interface environments")
871 (description
872 "Source Sans Pro is a set of OpenType fonts that have been designed to
873work well in user interface (UI) environments.")
874 (license license:silofl1.1)))
875
3cdd2e95
J
876(define-public font-adobe-source-serif-pro
877 (package
878 (name "font-adobe-source-serif-pro")
879 (version "2.007R-ro-1.007R-it")
880 (source (origin
881 (method url-fetch)
882 (uri (string-append
883 "https://github.com/adobe-fonts/source-serif-pro/archive/"
884 (regexp-substitute/global
885 ;; The upstream tag uses "/" between the roman and italic
886 ;; versions, so substitute our "-" separator here.
887 #f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
888 (file-name (string-append name "-" version ".tar.gz"))
889 (sha256
890 (base32
891 "1sws9k26ldqk375qsigk1zv8cq1xlvadjwvv3dqrcc3qzm1c7hwc"))))
892 (build-system font-build-system)
893 (home-page "https://github.com/adobe-fonts/source-serif-pro")
894 (synopsis
895 "Serif typeface to complement Source Sans Pro for setting text")
896 (description
897 "Source Serif Pro is a set of OpenType fonts to complement the Source
898Sans Pro family.")
899 (license license:silofl1.1)))
900
c3e2a247
TR
901(define-public font-fira-mono
902 (package
903 (name "font-fira-mono")
904 (version "3.206")
905 (source (origin
906 (method url-fetch)
907 (uri (string-append "https://carrois.com/downloads/fira_mono_3_2/"
908 "FiraMonoFonts"
909 (string-replace-substring version "." "")
910 ".zip"))
911 (sha256
912 (base32
913 "1z65x0dw5dq6rs6p9wyfrir50rlh95vgzsxr8jcd40nqazw4jhpi"))))
3a722dde 914 (build-system font-build-system)
b253e7b9 915 (home-page "https://mozilla.github.io/Fira/")
c3e2a247
TR
916 (synopsis "Mozilla's monospace font")
917 (description "This is the typeface used by Mozilla in Firefox OS.")
918 (license license:silofl1.1)))
83421fc7 919
0ee27df0 920(define-public font-fira-sans
921 (package
922 (name "font-fira-sans")
923 (version "4.202")
924 (source (origin
c2426dbd
EF
925 (method git-fetch)
926 (uri (git-reference
927 (url "https://github.com/mozilla/Fira.git")
928 (commit version)))
929 (file-name (git-file-name name version))
0ee27df0 930 (sha256
931 (base32
c2426dbd 932 "116j26gdj5g1r124b4669372f7490vfjqw7apiwp2ggl0am5xd0w"))))
0ee27df0 933 (build-system font-build-system)
b253e7b9 934 (home-page "https://mozilla.github.io/Fira/")
0ee27df0 935 (synopsis "Mozilla's Fira Sans Font")
936 (description "This is the typeface used by Mozilla in Firefox OS.")
937 (license license:silofl1.1)))
938
760e34b2 939(define-public font-fira-code
940 (package
941 (name "font-fira-code")
76498783 942 (version "1.206")
760e34b2 943 (source (origin
944 (method url-fetch/zipbomb)
945 (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
946 "download/" version
947 "/FiraCode_" version ".zip"))
948 (sha256
949 (base32
76498783 950 "02r1lcp0c9135ps71v66wdvbsrcxwirrp0blqsa1xbjkkq2rwgj3"))))
760e34b2 951 (build-system font-build-system)
952 (home-page "https://mozilla.github.io/Fira/")
953 (synopsis "Monospaced font with programming ligatures")
954 (description
955 "Fira Code is an extension of the Fira Mono font containing a set of ligatures
956for common programming multi-character combinations. This is just a font rendering
957feature: underlying code remains ASCII-compatible. This helps to read and understand
958code faster. For some frequent sequences like .. or //, ligatures allow us to
959correct spacing.")
960 (license license:silofl1.1)))
961
83421fc7
JMSG
962(define-public font-awesome
963 (package
964 (name "font-awesome")
848b3749
LF
965 ;; XXX The build scripts of version 5 are not freely licensed and
966 ;; so we have to stick with version 4 for now:
967 ;; <https://bugs.gnu.org/32916>
968 (version "4.7.0")
83421fc7
JMSG
969 (source (origin
970 (method url-fetch)
848b3749
LF
971 (uri (string-append "http://fontawesome.io/assets/"
972 name "-" version ".zip"))
83421fc7
JMSG
973 (sha256
974 (base32
848b3749 975 "1m1rfwm4sjkv10j3xd2dhwk286a5912b2zgvc692cmxi5gxs68jf"))))
278c608a 976 (build-system font-build-system)
848b3749 977 (home-page "http://fontawesome.io")
83421fc7
JMSG
978 (synopsis "Font that contains a rich iconset")
979 (description
980 "Font Awesome is a full suite of pictographic icons for easy scalable
981vector graphics.")
982 (license license:silofl1.1)))
446e1d51 983
f2a7ce50 984(define-public font-tamzen
985 (package
986 (name "font-tamzen")
987 (version "1.11.4")
988 (source
989 (origin
1f07550c
EF
990 (method git-fetch)
991 (uri (git-reference
992 (url "https://github.com/sunaku/tamzen-font.git")
993 (commit (string-append "Tamzen-" version))))
994 (file-name (git-file-name name version))
f2a7ce50 995 (sha256
996 (base32
1f07550c 997 "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846"))))
f2a7ce50 998 (build-system trivial-build-system)
999 (arguments
1000 `(#:modules ((guix build utils))
1001 #:builder
1002 (begin
1003 (use-modules (guix build utils))
1004
1f07550c
EF
1005 (let* ((out (assoc-ref %outputs "out"))
1006 (font-dir (string-append out "/share/fonts/misc"))
1007 (psf-dir (string-append out "/share/kbd/consolefonts")))
1008 (chdir (assoc-ref %build-inputs "source"))
f2a7ce50 1009 (mkdir-p font-dir)
1010 (mkdir-p psf-dir)
f2a7ce50 1011 (for-each (lambda (pcf)
1012 (install-file pcf font-dir))
1f07550c 1013 (find-files "pcf" "\\.pcf$"))
f2a7ce50 1014 (for-each (lambda (psf)
1015 (install-file psf psf-dir))
1f07550c 1016 (find-files "psf" "\\.psf$"))
f2a7ce50 1017 #t))))
f2a7ce50 1018 (home-page "https://github.com/sunaku/tamzen-font")
1019 (synopsis "Monospaced bitmap font for console and X11")
1020 (description
1021 "Tamzen is a fork of the @code{Tamsyn} font. It is programatically forked
1022from @code{Tamsyn} version 1.11, backporting glyphs from older versions while
1023deleting deliberately empty glyphs (which are marked as unimplemented) to
1024allow secondary/fallback fonts to provide real glyphs at those codepoints.
1025
1026The @code{TamzenForPowerline} fonts provide additional @code{Powerline} symbols,
1027which are programatically injected with @code{bitmap-font-patcher} and
1028later hand-tweaked with the gbdfed(1) editor:
1029
1030@enumerate
1031@item all icons are expanded to occupy the maximum available space
1032@item the branch of the fork icon ( U+E0A0) was made larger than the trunk
1033@item for the newline icon ( U+E0A1), the @emph{N} was made larger at the bottom
1034@item the keyhole in the padlock icon ( U+E0A2) was replaced with @emph{//} lines.
1035@end enumerate\n")
1036 (license (license:non-copyleft "file://LICENSE"))))
1037
446e1d51
AG
1038(define-public font-comic-neue
1039 (package
b963d8c2
AG
1040 (name "font-comic-neue")
1041 (version "2.3")
1042 (source (origin
1043 (method url-fetch/zipbomb)
1044 (uri (string-append
1045 "http://www.comicneue.com/comic-neue-" version ".zip"))
1046 (sha256
1047 (base32
1048 "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk"))))
1049 (build-system font-build-system)
1050 (arguments
1051 `(#:phases
1052 (modify-phases %standard-phases
44636f57
AI
1053 ;; Delete Mac OS X specific files. If not deleted, these cause
1054 ;; several hidden files to be installed.
1055 (add-before 'install 'delete-macosx-files
1056 (lambda _
1057 (delete-file-recursively "__MACOSX")
1058 #t))
532f09df
AG
1059 (add-after 'install 'install-conf
1060 (lambda* (#:key outputs #:allow-other-keys)
1061 (let ((conf-dir (string-append (assoc-ref outputs "out")
1062 "/share/fontconfig/conf.avail")))
1063 (mkdir-p conf-dir)
1064 (call-with-output-file
1065 (string-append conf-dir "/30-comic-neue.conf")
1066 (lambda (port)
1067 (format port "<?xml version=\"1.0\"?>
1068<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">
1069<fontconfig>
1070 <!-- If Comic Sans is missing, use Comic Neue instead. -->
1071 <alias>
1072 <family>Comic Sans MS</family>
1073 <prefer>
1074 <family>Comic Neue</family>
1075 </prefer>
1076 </alias>
1077</fontconfig>\n"))))
b963d8c2
AG
1078 #t)))))
1079 (home-page "http://www.comicneue.com/")
1080 (synopsis "Font that fixes the shortcomings of Comic Sans")
1081 (description
1082 "Comic Neue is a font that attempts to create a respectable casual
446e1d51 1083typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
b963d8c2 1084 (license license:silofl1.1)))
de191caf
AG
1085
1086(define-public font-iosevka
1087 (package
208abeca
AG
1088 (name "font-iosevka")
1089 (version "1.12.5")
1090 (source (origin
4a9140b1 1091 (method url-fetch/zipbomb)
208abeca
AG
1092 (uri (string-append
1093 "https://github.com/be5invis/Iosevka/releases/download/v"
1094 version "/iosevka-pack-" version ".zip"))
1095 (sha256
1096 (base32
1097 "0s3g6mk0ngwsrw9h9dqinb50cd9i8zhqdcmmh93fhyf4d87yfwyi"))))
4a9140b1 1098 (build-system font-build-system)
208abeca
AG
1099 (home-page "https://be5invis.github.io/Iosevka/")
1100 (synopsis "Coders' typeface, built from code")
1101 (description
1102 "Iosevka is a slender monospace sans-serif or slab-serif typeface inspired
de191caf
AG
1103by Pragmata Pro, M+, and PF DIN Mono, designed to be the ideal font for
1104programming. Iosevka is completely generated from its source code.")
208abeca
AG
1105 (license (list license:silofl1.1 ; build artifacts (i.e. the fonts)
1106 license:bsd-3)))) ; supporting code
49dbae54
AG
1107
1108(define-public font-go
406c46e2 1109 (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
49dbae54
AG
1110 (revision "1"))
1111 (package
b6726480
AG
1112 (name "font-go")
1113 (version (string-append "20170330-" revision "." (string-take commit 7)))
1114 (source (origin
1115 (file-name (string-append "go-image-" version "-checkout"))
1116 (method git-fetch)
1117 (uri (git-reference
1118 (url "https://go.googlesource.com/image")
1119 (commit commit)))
1120 (sha256
1121 (base32
1122 "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d"))))
1123 (build-system font-build-system)
1124 (arguments
1125 `(#:phases
1126 (modify-phases %standard-phases
1127 (add-before 'install 'chdir
1128 (lambda _
1129 (chdir "font/gofont/ttfs")
1130 #t)))))
1131 (home-page "https://blog.golang.org/go-fonts")
1132 (synopsis "The Go font family")
1133 (description
1134 "The Go font family is a set of WGL4 TrueType fonts from the Bigelow &
49dbae54
AG
1135Holmes type foundry, released under the same license as the Go programming
1136language. It includes a set of proportional, sans-serif fonts, and a set of
1137monospace, slab-serif fonts.")
87f057c4 1138 (license license:bsd-3))))
824e5fe6
JMSG
1139
1140(define-public font-google-material-design-icons
1141 (package
99e9d598
AI
1142 (name "font-google-material-design-icons")
1143 (version "3.0.1")
1144 (source (origin
1e90e4b0
EF
1145 (method git-fetch)
1146 (uri (git-reference
1147 (url "https://github.com/google/material-design-icons.git")
1148 (commit version)))
1149 (file-name (git-file-name name version))
99e9d598
AI
1150 (sha256
1151 (base32
1e90e4b0 1152 "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0"))))
99e9d598
AI
1153 (build-system font-build-system)
1154 (home-page "http://google.github.io/material-design-icons")
1155 (synopsis "Icon font of Google Material Design icons")
1156 (description
1157 "Material design system icons are simple, modern, friendly, and sometimes
824e5fe6
JMSG
1158quirky. Each icon is created using our design guidelines to depict in simple
1159and minimal forms the universal concepts used commonly throughout a UI.
1160Ensuring readability and clarity at both large and small sizes, these icons
1161have been optimized for beautiful display on all common platforms and display
1162resolutions.")
99e9d598 1163 (license license:asl2.0)))
6bce5955 1164
abd8825f 1165(define-public font-open-dyslexic
1166 (package
1167 (name "font-open-dyslexic")
1168 (version "20160623")
1169 (source
1170 (origin
c6abe904
EF
1171 (method git-fetch)
1172 (uri (git-reference
1173 (url "https://github.com/antijingoist/open-dyslexic.git")
1174 (commit (string-append version "-Stable"))))
1175 (file-name (git-file-name name version))
abd8825f 1176 (sha256
1177 (base32
c6abe904 1178 "0nr7s92nk1kbr459154idnib977ixc70z6g9mbra3lp73nyrmyvz"))))
abd8825f 1179 (build-system font-build-system)
1180 (home-page "https://opendyslexic.org")
1181 (synopsis "Font for dyslexics and high readability")
1182 (description "OpenDyslexic is a font designed to help readability for some
1183of the symptoms of dyslexia. Letters have heavy weighted bottoms to provide
1184an indication of orientation to make it more difficult to confuse with other
1185similar letters. Consistently weighted bottoms can also help reinforce the
1186line of text. The unique shapes of each letter can help prevent flipping and
1187swapping. The italic style for OpenDyslexic has been crafted to be used for
1188emphasis while still being readable.")
1189 (license
1190 (license:fsdg-compatible
1191 "https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"
1192 "The Font Software may be sold as part of a larger software package but
1193no copy of one or more of the Font Software typefaces may be sold by
1194itself."))))
27a10775 1195
1196(define-public font-dosis
1197 (package
1198 (name "font-dosis")
1199 (version "1.7")
1200 (source
1201 (origin
6aa4f09e 1202 (method url-fetch/zipbomb)
27a10775 1203 (uri (string-append "http://www.impallari.com/media/releases/dosis-"
1204 "v" version ".zip"))
1205 (sha256
1206 (base32
1207 "1qhci68f68mf87jd69vjf9qjq3wydgw1q7ivn3amjb65ls1s0c4s"))))
6aa4f09e 1208 (build-system font-build-system)
27a10775 1209 (home-page "http://www.impallari.com/dosis")
1210 (synopsis "Very simple, rounded, sans serif family")
1211 (description
1212 "Dosis is a very simple, rounded, sans serif family.
1213The lighter weights are minimalist. The bolder weights have more personality.
1214The medium weight is nice and balanced. The overall result is a family
1215that's clean and modern, and can express a wide range of voices & feelings.
1216It comes in 7 incremental weights:
1217ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
1218 (license license:silofl1.1)))
f8602046 1219
733d66a5 1220(define-public font-culmus
f8602046 1221 (package
733d66a5 1222 (name "font-culmus")
cebec8bd 1223 (version "0.133")
f8602046 1224 (source
733d66a5
AI
1225 (origin
1226 (method url-fetch)
1227 (uri (string-append "https://sourceforge.net/projects/"
1228 "culmus/files/culmus/" version "/culmus-src-"
1229 version ".tar.gz"))
1230 (sha256
1231 (base32
cebec8bd 1232 "02akysgsqhi15cck54xcacm16q5raf4l7shgb8fnj7xr3c1pbfyp"))))
0328c514 1233 (build-system font-build-system)
f8602046 1234 (arguments
0328c514 1235 `(#:phases
f8602046 1236 (modify-phases %standard-phases
0328c514 1237 (add-before 'install 'build
f8602046
EF
1238 (lambda _
1239 (let ((compile
1240 (lambda (name ext)
0328c514
AI
1241 (invoke
1242 "fontforge" "-lang=ff"
1243 "-c" (string-append "Open('" name "');"
1244 "Generate('"
1245 (basename name "sfd") ext
1246 "')")))))
f8602046 1247 ;; This part based on the fonts shipped in the non-source package.
0328c514
AI
1248 (for-each (lambda (name)
1249 (compile name "ttf"))
1250 (find-files "." "^[^Nachlieli].*\\.sfd$"))
1251 (for-each (lambda (name)
1252 (compile name "otf"))
1253 (find-files "." "^Nachlieli.*\\.sfd$"))
f8602046
EF
1254 #t))))))
1255 (native-inputs
1256 `(("fontforge" ,fontforge)))
1257 (home-page "http://culmus.sourceforge.net/")
1258 (synopsis "TrueType Hebrew Fonts for X11")
1259 (description "14 Hebrew trivial families. Contain ASCII glyphs from various
1260sources. Those families provide a basic set of a serif (Frank Ruehl), sans
1261serif (Nachlieli) and monospaced (Miriam Mono) trivials. Also included Miriam,
1262Drugulin, Aharoni, David, Hadasim etc. Cantillation marks support is
1263available in Keter YG.")
1264 (license license:gpl2))) ; consult the LICENSE file included
4769ef00
AI
1265
1266(define-public font-lohit
1267 (package
1268 (name "font-lohit")
1269 (version "20140220")
1270 (source
1271 (origin
1272 (method url-fetch)
1273 (uri (string-append "https://releases.pagure.org/lohit/lohit-ttf-"
1274 version ".tar.gz"))
1275 (sha256
1276 (base32
1277 "1rmgr445hw1n851ywy28csfvswz1i6hnc8mzp88qw2xk9j4dn32d"))))
1278 (build-system font-build-system)
1279 (home-page "https://pagure.io/lohit")
1280 (synopsis "Lohit TrueType Indic fonts")
1281 (description "Lohit is a font family designed to cover Indic scripts.
1282Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani,
1283Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati,
1284Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.")
1285 (license license:silofl1.1)))
f00d66b1
LC
1286
1287(define-public font-blackfoundry-inria
1288 (package
1289 (name "font-blackfoundry-inria")
1290 (version "1.200")
1291 (home-page "https://github.com/BlackFoundry/InriaFonts")
1292 (source (origin
1293 (method git-fetch)
1294 (uri (git-reference
1295 (url home-page)
1296 (commit (string-append "v" version))))
1297 (sha256
1298 (base32
1299 "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8"))
1300 (file-name (string-append name "-" version "-checkout"))))
1301 ;; XXX: There are .ufo directories (the "source") so in theory we should
1302 ;; be able to rebuild TTF and OTF files with FontForge. Unfortunately a
1303 ;; command like:
1304 ;;
1305 ;; fontforge -lang=ff -c "Open('InriaSans-Regular.ufo'); Generate('foo.ttf');"
1306 ;;
1307 ;; segfaults in '_UFOLoadGlyph', which calls out to libpython. :-/
1308 ;; In the meantime we ship the precompiled OTF and TTF files.
1309 (build-system font-build-system)
1310 (synopsis "Inria Sans and Inria Serif type family")
1311 (description
1312 "Inria Sans and Inria Serif are the two members of a type family designed
1313for Inria, a public research institute in computer science and mathematics.")
1314 (license license:silofl1.1)))
1d641734
LC
1315
1316(define-public font-sil-gentium
1317 (package
1318 (name "font-sil-gentium")
1319 (version "5.000")
1320 (source (origin
1321 (method url-fetch)
1322 (uri (string-append
1323 "https://software.sil.org/downloads/r/gentium/GentiumPlus-"
1324 version ".zip"))
1325 (sha256
1326 (base32
1327 "0m7189870hha217n1vgpmf89mwggrxkh679ffi1lxpnjggqi2n9k"))))
1328 ;; Note: The zip file provides TTF files only, but the developer release,
1329 ;; which contains additional files, has a 'SOURCES.txt' file that says
1330 ;; that "the primary source files for the fonts are the fonts themselves".
1331 ;; Thus it looks like the TTF can be considered source.
1332 (build-system font-build-system)
1333 (synopsis "Serif font for the Cyrillic, Greek, and Latin alphabets")
1334 (description
1335 "Gentium is a typeface family designed to enable the diverse ethnic
1336groups around the world who use the Latin, Cyrillic and Greek scripts to
1337produce readable, high-quality publications. The font comes with regular and
1338italics shapes. This package provides only TrueType files (TTF).")
1339 (home-page "https://software.sil.org/gentium/")
1340 (license license:silofl1.1)))
46e78707
LC
1341
1342(define-public font-sil-charis
1343 (package
1344 (name "font-sil-charis")
1345 (version "5.000")
1346 (source (origin
1347 (method url-fetch)
1348 (uri (string-append
1349 "https://software.sil.org/downloads/r/charis/CharisSIL-"
1350 version ".zip"))
1351 (sha256
1352 (base32
1353 "1zcvw37f1a7gkml3yfm6hxh93844llm7xj4w52600qq3ndrm8gjy"))))
1354 ;; As for Gentium (see above), the TTF files are considered source.
1355 (build-system font-build-system)
1356 (synopsis "Serif font for the Cyrillic and Latin alphabets")
1357 (description
1358 "Charis SIL is a Unicode-based font family that supports the wide range
1359of languages that use the Latin and Cyrillic scripts. It is specially
1360designed to make long texts pleasant and easy to read, even in less than ideal
1361reproduction and display environments. This package provides only TrueType
1362files (TTF).")
1363 (home-page "https://software.sil.org/charis/")
1364 (license license:silofl1.1)))
3c5e1364
GH
1365
1366(define-public font-mononoki
1367 (package
1368 (name "font-mononoki")
1369 (version "1.2")
1370 (source (origin
1371 (method git-fetch)
1372 (uri (git-reference
1373 (url "https://github.com/madmalik/mononoki/")
1374 (commit version)))
1375 (sha256
1376 (base32
1377 "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi"))
1378 (file-name (git-file-name name version))))
1379 (build-system font-build-system)
1380 (synopsis "Font for programming and code review")
1381 (description
1382 "Mononoki is a typeface by Matthias Tellen, created to enhance code
1383formatting.")
1384 (home-page "https://madmalik.github.io/mononoki/")
1385 (license license:silofl1.1)))