fonts.scm 94 KB

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