fonts.scm 106 KB

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