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