fonts.scm 58 KB

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