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