about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/fonts
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
committerAlyssa Ross <hi@alyssa.is>2021-01-15 10:30:44 +0000
commite0794be8a0d11e90461e5a9c85012a36b93ec976 (patch)
treeefd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/data/fonts
parent3538874082ded7647b1ccec0343c7c1e882cfef3 (diff)
parent1a57d96edd156958b12782e8c8b6a374142a7248 (diff)
downloadnixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst
nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/data/fonts')
-rw-r--r--nixpkgs/pkgs/data/fonts/agave/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/comic-neue/default.nix19
-rw-r--r--nixpkgs/pkgs/data/fonts/cozette/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/eunomia/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/f5_6/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/ferrum/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/fixedsys-excelsior/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/fraunces/default.nix25
-rw-r--r--nixpkgs/pkgs/data/fonts/google-fonts/default.nix5
-rw-r--r--nixpkgs/pkgs/data/fonts/inter/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/bin.nix49
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/default.nix46
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/package.json28
-rwxr-xr-xnixpkgs/pkgs/data/fonts/iosevka/update-bin.sh28
-rwxr-xr-xnixpkgs/pkgs/data/fonts/iosevka/update-default.sh21
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/variants.nix24
-rw-r--r--nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/joypixels/default.nix101
-rw-r--r--nixpkgs/pkgs/data/fonts/julia-mono/default.nix22
-rw-r--r--nixpkgs/pkgs/data/fonts/lato/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/lmmath/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/merriweather/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/meslo-lgs-nf/default.nix26
-rw-r--r--nixpkgs/pkgs/data/fonts/monoid/default.nix18
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/open-sans/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/recursive/default.nix5
-rw-r--r--nixpkgs/pkgs/data/fonts/scheherazade/default.nix24
-rw-r--r--nixpkgs/pkgs/data/fonts/stix-two/default.nix27
-rw-r--r--nixpkgs/pkgs/data/fonts/sudo/default.nix7
-rw-r--r--nixpkgs/pkgs/data/fonts/ttf-tw-moe/default.nix30
-rw-r--r--nixpkgs/pkgs/data/fonts/unifont/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/unifont_upper/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/vegur/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts/default.nix4
36 files changed, 411 insertions, 154 deletions
diff --git a/nixpkgs/pkgs/data/fonts/agave/default.nix b/nixpkgs/pkgs/data/fonts/agave/default.nix
index 0c2cd1609f61..39ef6e34aaae 100644
--- a/nixpkgs/pkgs/data/fonts/agave/default.nix
+++ b/nixpkgs/pkgs/data/fonts/agave/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "agave";
-  version = "22";
+  version = "35";
 in fetchurl {
   name = "${pname}-${version}";
   url = "https://github.com/agarick/agave/releases/download/v${version}/Agave-Regular.ttf";
@@ -13,7 +13,7 @@ in fetchurl {
     install -D $downloadedFile $out/share/fonts/truetype/Agave-Regular.ttf
   '';
 
-  sha256 = "1jb8f0xcv5z0l5nyx733b6zclswi82vrh2nwyyhbqzgqrl4y1h6s";
+  sha256 = "10shwsl1illdafnc352j439lklrxksip1vlh4jc934cr9qf4c1fz";
 
   meta = with lib; {
     description = "truetype monospaced typeface designed for X environments";
diff --git a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
index 30738a3c3cd3..7f934658479a 100644
--- a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchzip }:
 let
-  version = "2008.25";
+  version = "2009.22";
 in
 fetchzip {
   name = "cascadia-code-${version}";
 
   url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
 
-  sha256 = "182ssznm6f5fhykmqqvimq7ihmxkc64gh76faqxg1ihdyzqgi2y6";
+  sha256 = "0wdkjzaf5a14yfiqqqn6wvi6db6r7g1m5r07cg9730b0mkzhfyhl";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
index d50e89743425..13a40b8c0a06 100644
--- a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
+++ b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
@@ -2,33 +2,26 @@
 
 stdenv.mkDerivation rec {
   pname = "comic-neue";
-  version = "2.5";
+  version = "2.51";
 
   src = fetchzip {
     url = "http://comicneue.com/${pname}-${version}.zip";
-    sha256 = "1kc0yyha6cc584vcl9z1cq1z6prgkxk93g75mr8gapfdrj25dp3q";
+    sha256 = "sha256-DjRZtFnJOtZnxhfpgU5ihZFAonRK608/BQztCAExIU0=";
     stripRoot = false; # because it comes with a __MACOSX directory
   };
 
   phases = [ "unpackPhase" "installPhase" ];
 
   installPhase = ''
-    mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,EOT,WOFF,WOFF2}}
+    mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,WOFF,WOFF2}}
     cp -v ${pname}-${version}/{FONTLOG,OFL-FAQ,OFL}.txt $out/share/doc/
+    cp -v ${pname}-${version}/Booklet-ComicNeue.pdf $out/share/doc/
     cp -v ${pname}-${version}/OTF/ComicNeue-Angular/*.otf $out/share/fonts/opentype
     cp -v ${pname}-${version}/OTF/ComicNeue/*.otf $out/share/fonts/opentype
     cp -v ${pname}-${version}/TTF/ComicNeue-Angular/*.ttf $out/share/fonts/truetype
     cp -v ${pname}-${version}/TTF/ComicNeue/*.ttf $out/share/fonts/truetype
-    cp -v ${pname}-${version}/WebFonts/eot/ComicNeue-Angular/*.eot $out/share/fonts/EOT
-    cp -v ${pname}-${version}/WebFonts/eot/ComicNeue/*.eot $out/share/fonts/EOT
-    cp -v ${pname}-${version}/WebFonts/woff/ComicNeue-Angular/*.woff $out/share/fonts/WOFF
-    cp -v ${pname}-${version}/WebFonts/woff/ComicNeue/*.woff $out/share/fonts/WOFF
-    cp -v ${pname}-${version}/WebFonts/woff2/ComicNeue/*.woff2 $out/share/fonts/WOFF2
-
-    # Quick fix for conflicting names in upstream
-    for i in ${pname}-${version}/WebFonts/woff2/ComicNeue-Angular/*.woff2; do
-      cp -v $i $out/share/fonts/WOFF2/`basename $i|sed -e 's|ComicNeue|ComicNeue-Angular|'`
-    done
+    cp -v ${pname}-${version}/WebFonts/*.woff $out/share/fonts/WOFF
+    cp -v ${pname}-${version}/WebFonts/*.woff2 $out/share/fonts/WOFF2
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/data/fonts/cozette/default.nix b/nixpkgs/pkgs/data/fonts/cozette/default.nix
index a5bc752c4caf..3550facfc114 100644
--- a/nixpkgs/pkgs/data/fonts/cozette/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cozette/default.nix
@@ -19,7 +19,7 @@ fetchzip rec {
   '';
 
   meta = with lib; {
-    description = "A bitmap programming font optimized for coziness.";
+    description = "A bitmap programming font optimized for coziness";
     homepage = "https://github.com/slavfox/cozette";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/eunomia/default.nix b/nixpkgs/pkgs/data/fonts/eunomia/default.nix
index e68f528ff383..272649582c35 100644
--- a/nixpkgs/pkgs/data/fonts/eunomia/default.nix
+++ b/nixpkgs/pkgs/data/fonts/eunomia/default.nix
@@ -19,7 +19,7 @@ fetchzip {
 
   meta = with lib; {
     homepage = "http://dotcolon.net/font/eunomia/";
-    description = "A futuristic decorative font.";
+    description = "A futuristic decorative font";
     platforms = platforms.all;
     maintainers = with maintainers; [ leenaars ];
     license = licenses.ofl;
diff --git a/nixpkgs/pkgs/data/fonts/f5_6/default.nix b/nixpkgs/pkgs/data/fonts/f5_6/default.nix
index 175648198cee..112111faa3d7 100644
--- a/nixpkgs/pkgs/data/fonts/f5_6/default.nix
+++ b/nixpkgs/pkgs/data/fonts/f5_6/default.nix
@@ -19,7 +19,7 @@ fetchzip {
 
   meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
-    description = "A weighted decorative font.";
+    description = "A weighted decorative font";
     platforms = platforms.all;
     maintainers = with maintainers; [ leenaars ];
     license = licenses.ofl;
diff --git a/nixpkgs/pkgs/data/fonts/ferrum/default.nix b/nixpkgs/pkgs/data/fonts/ferrum/default.nix
index fe40252ab23d..3f122d22daf5 100644
--- a/nixpkgs/pkgs/data/fonts/ferrum/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ferrum/default.nix
@@ -19,7 +19,7 @@ fetchzip {
 
   meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
-    description = "A decorative font.";
+    description = "A decorative font";
     platforms = platforms.all;
     maintainers = with maintainers; [ leenaars ];
     license = licenses.cc0;
diff --git a/nixpkgs/pkgs/data/fonts/fixedsys-excelsior/default.nix b/nixpkgs/pkgs/data/fonts/fixedsys-excelsior/default.nix
index c8d2d1c2a9ee..4222b802d55c 100644
--- a/nixpkgs/pkgs/data/fonts/fixedsys-excelsior/default.nix
+++ b/nixpkgs/pkgs/data/fonts/fixedsys-excelsior/default.nix
@@ -21,7 +21,7 @@ in fetchurl rec {
   sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
 
   meta = {
-    description = "Pan-unicode version of Fixedsys, a classic DOS font.";
+    description = "Pan-unicode version of Fixedsys, a classic DOS font";
     homepage = "http://www.fixedsysexcelsior.com/";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.publicDomain;
diff --git a/nixpkgs/pkgs/data/fonts/fraunces/default.nix b/nixpkgs/pkgs/data/fonts/fraunces/default.nix
new file mode 100644
index 000000000000..d5879d6c2bc4
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/fraunces/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchzip }:
+let
+  version = "1.000";
+in
+fetchzip {
+  name = "fraunces-${version}";
+
+  url = "https://github.com/undercasetype/Fraunces/releases/download/${version}/UnderCaseType_Fraunces_${version}.zip";
+
+  sha256 = "0qgl140qkn9p87x7pk60fd3lj206y5h0fq2xkcj2qiv3sxbqxwqb";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+  '';
+
+  meta = with lib; {
+    description = "A display, “Old Style” soft-serif typeface inspired by early 20th century typefaces";
+    homepage = "https://github.com/undercasetype/Fraunces";
+    license = licenses.ofl;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/google-fonts/default.nix b/nixpkgs/pkgs/data/fonts/google-fonts/default.nix
index 7a3b488212df..153f37c88e0a 100644
--- a/nixpkgs/pkgs/data/fonts/google-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/google-fonts/default.nix
@@ -4,6 +4,8 @@ stdenv.mkDerivation {
   pname = "google-fonts";
   version = "2019-07-14";
 
+  outputs = [ "out" "adobeBlank" ];
+
   src = fetchFromGitHub {
     owner = "google";
     repo = "fonts";
@@ -39,6 +41,9 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
+    adobeBlankDest=$adobeBlank/share/fonts/truetype
+    install -m 444 -Dt $adobeBlankDest ofl/adobeblank/AdobeBlank-Regular.ttf
+    rm -r ofl/adobeblank
     dest=$out/share/fonts/truetype
     find . -name '*.ttf' -exec install -m 444 -Dt $dest '{}' +
   '';
diff --git a/nixpkgs/pkgs/data/fonts/inter/default.nix b/nixpkgs/pkgs/data/fonts/inter/default.nix
index 9c7ef62c7690..ed8e9eb13a63 100644
--- a/nixpkgs/pkgs/data/fonts/inter/default.nix
+++ b/nixpkgs/pkgs/data/fonts/inter/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.11";
+  version = "3.15";
 in fetchzip {
   name = "inter-${version}";
 
@@ -12,7 +12,7 @@ in fetchzip {
     unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "1bk4q478jy84ylgm1mmh23n8cw1cd3k7gvfih77sd7ya1zv26vl1";
+  sha256 = "0dnxczy2avc47wq5fc3psd1zbxbsjz5w24rkh5ynrfgw6n0753n0";
 
   meta = with lib; {
     homepage = "https://rsms.me/inter/";
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
index 0f88aa05e4cf..fbae89bcf013 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
@@ -1,28 +1,39 @@
-{ stdenv, fetchzip }:
+{ stdenv, lib, fetchurl, iosevka, unzip
+, variant ? ""
+}:
 
 let
-  version = "3.4.6";
-in fetchzip {
-  name = "iosevka-bin-${version}";
+  name = "iosevka" + lib.optionalString (variant != "") "-" + variant;
 
-  url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-iosevka-${version}.zip";
+  variantHashes = import ./variants.nix;
+  validVariants = map (lib.removePrefix "iosevka-")
+    (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
+in stdenv.mkDerivation rec {
+  pname = "${name}-bin";
+  version = "4.2.0";
 
-  postFetch = ''
+  src = fetchurl {
+    url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
+    sha256 = variantHashes.${name} or (throw ''
+      No such variant "${variant}" for package iosevka-bin.
+      Valid variants are: ${lib.concatStringsSep ", " validVariants}.
+    '');
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  phases = [ "unpackPhase" ];
+
+  unpackPhase = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttc -d $out/share/fonts/truetype
+    unzip -d $out/share/fonts/truetype $src
   '';
 
-  sha256 = "1nab49gkpxahwvvw39xcc32q425qkccr7ffmz87jbcdv71qy7pp9";
-
-  meta = with stdenv.lib; {
-    homepage = "https://be5invis.github.io/Iosevka/";
-    downloadPage = "https://github.com/be5invis/Iosevka/releases";
-    description = ''
-      Slender monospace sans-serif and slab-serif typeface inspired by Pragmata
-      Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
-    '';
-    license = licenses.ofl;
-    platforms = platforms.all;
-    maintainers = [ maintainers.cstrahan ];
+  meta = iosevka.meta // {
+    maintainers = with lib.maintainers; [
+      cstrahan
+    ];
   };
+
+  passthru.updateScript = ./update-bin.sh;
 }
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/default.nix b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
index 5167c494fa07..989c2d39c19e 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/default.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, remarshal
-, ttfautohint-nox, otfcc
+, ttfautohint-nox
 
 # Custom font set options.
 # See https://github.com/be5invis/Iosevka#build-your-own-style
@@ -27,23 +27,30 @@
 
 assert (privateBuildPlan != null) -> set != null;
 
+let
+  # We don't know the attribute name for the Iosevka package as it
+  # changes not when our update script is run (which in turn updates
+  # node-packages.json, but when node-packages/generate.sh is run
+  # (which updates node-packages.nix).
+  #
+  # Doing it this way ensures that the package can always be built,
+  # although possibly an older version than ioseva-bin.
+  nodeIosevka = (
+    lib.findSingle
+      (drv: drv ? packageName && drv.packageName == "iosevka")
+      (throw "no 'iosevka' package found in nodePackages")
+      (throw "multiple 'iosevka' packages found in nodePackages")
+      (lib.attrValues nodePackages)
+  ).override (drv: { dontNpmInstall = true; });
+in
 stdenv.mkDerivation rec {
   pname = if set != null then "iosevka-${set}" else "iosevka";
-
-  version = "3.2.2";
-
-  src = fetchFromGitHub {
-    owner = "be5invis";
-    repo = "Iosevka";
-    rev = "v${version}";
-    sha256 = "1wbnp6gr3ywvspwk6i0jn68zwjmsd38arn4n2dkh7mdkrmvah81k";
-  };
+  inherit (nodeIosevka) version src;
 
   nativeBuildInputs = [
     nodejs
-    nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
+    nodeIosevka
     remarshal
-    otfcc
     ttfautohint-nox
   ];
 
@@ -58,12 +65,10 @@ stdenv.mkDerivation rec {
       remarshal -i "$privateBuildPlanJSONPath" -o private-build-plans.toml -if json -of toml
     ''}
     ${lib.optionalString (extraParameters != null) ''
-      echo -e "\n" >> parameters.toml
-      cat "$extraParametersPath" >> parameters.toml
+      echo -e "\n" >> params/parameters.toml
+      cat "$extraParametersPath" >> params/parameters.toml
     ''}
-    ln -s ${
-      nodePackages."iosevka-build-deps-../../data/fonts/iosevka"
-    }/lib/node_modules/iosevka-build-deps/node_modules .
+    ln -s ${nodeIosevka}/lib/node_modules/iosevka/node_modules .
     runHook postConfigure
   '';
 
@@ -74,13 +79,19 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
     fontdir="$out/share/fonts/truetype"
     install -d "$fontdir"
     install "dist/$pname/ttf"/* "$fontdir"
+    runHook postInstall
   '';
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = ./update-default.sh;
+  };
+
   meta = with stdenv.lib; {
     homepage = "https://be5invis.github.io/Iosevka";
     downloadPage = "https://github.com/be5invis/Iosevka/releases";
@@ -96,6 +107,7 @@ stdenv.mkDerivation rec {
       ttuegel
       babariviere
       rileyinman
+      AluisioASG
     ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/package.json b/nixpkgs/pkgs/data/fonts/iosevka/package.json
deleted file mode 100644
index bc772960882d..000000000000
--- a/nixpkgs/pkgs/data/fonts/iosevka/package.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-	"name": "iosevka-build-deps",
-	"version": "3.2.2",
-	"scripts": {
-		"build": "verda -f verdafile.js"
-	},
-	"dependencies": {
-		"@iarna/toml": "^2.2.5",
-		"cldr": "^5.5.4",
-		"ejs": "^3.1.3",
-		"fs-extra": "^9.0.0",
-		"object-assign": "^4.1.1",
-		"otfcc-ttcize": "^0.10.2",
-		"patel": "^0.33.1",
-		"prettier": "^2.0.5",
-		"semver": "^7.1.3",
-		"spiro": "^2.0.0",
-		"stylus": "^0.54.7",
-		"topsort": "^0.0.2",
-		"ttf2woff": "^2.0.1",
-		"ttf2woff2": "^3.0.0",
-		"typo-geom": "^0.8.0",
-		"unicode-13.0.0": "^0.8.0",
-		"unorm": "^1.6.0",
-		"verda": "^1.0.1",
-		"which": "^2.0.2"
-	}
-}
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/update-bin.sh b/nixpkgs/pkgs/data/fonts/iosevka/update-bin.sh
new file mode 100755
index 000000000000..a402f152d8a1
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/iosevka/update-bin.sh
@@ -0,0 +1,28 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq
+
+set -euo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+release=$(curl -s https://api.github.com/repos/be5invis/Iosevka/releases/latest)
+
+oldVersion=$(nix-instantiate --eval -E 'with import ../../../.. {}; lib.getVersion iosevka-bin' | tr -d '"')
+version=$(echo "$release" | jq -r .tag_name | tr -d v)
+
+if test "$oldVersion" = "$version"; then
+	echo "New version same as old version, nothing to do." >&2
+	exit 0
+fi
+
+sed -i "s/$oldVersion/$version/" bin.nix
+
+{
+	echo '# This file was autogenerated. DO NOT EDIT!'
+	echo '{'
+	for asset in $(echo "$release" | jq -r '.assets[].name | select(startswith("ttc"))'); do
+		printf '  %s = "%s";\n' \
+			$(echo "$asset" | sed -r "s/^ttc-(.*)-$version.zip$/\1/") \
+			$(nix-prefetch-url "https://github.com/be5invis/Iosevka/releases/download/v$version/$asset")
+	done
+	echo '}'
+} >variants.nix
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/update-default.sh b/nixpkgs/pkgs/data/fonts/iosevka/update-default.sh
new file mode 100755
index 000000000000..208ea6101ac2
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/iosevka/update-default.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p common-updater-scripts coreutils gawk replace
+set -euo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+nixpkgs=../../../..
+repo=https://github.com/be5invis/Iosevka
+
+# Discover the latest version.
+current_version=$(nix-instantiate "$nixpkgs" --eval --strict -A iosevka.version | tr -d '"')
+new_version=$(list-git-tags "$repo" | sort --reverse --version-sort | awk 'match($0, /^v([0-9.]+)$/, m) { print m[1]; exit; }')
+if [[ "$new_version" == "$current_version" ]]; then
+    echo "iosevka: no update found"
+    exit
+fi
+
+# Update the source package in nodePackages.
+current_source="$repo/archive/v$current_version.tar.gz"
+new_source="$repo/archive/v$new_version.tar.gz"
+replace-literal -ef "$current_source" "$new_source" ../../../development/node-packages/node-packages.json
+echo "iosevka: $current_version -> $new_version (after nodePackages update)"
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/variants.nix b/nixpkgs/pkgs/data/fonts/iosevka/variants.nix
new file mode 100644
index 000000000000..5cb0b53114d1
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/iosevka/variants.nix
@@ -0,0 +1,24 @@
+# This file was autogenerated. DO NOT EDIT!
+{
+  iosevka = "1s9nyq8gjmmah5rpflffl0wi0klnlsvzmy7b39vnpp2sp6ng9mv3";
+  iosevka-aile = "0x2ccjnmi9hqms5jkfnkn30y9gd3adiwjvn9gzq8d6a563h61fik";
+  iosevka-curly = "03n0f9nzjywb5q3w59ck5sq500ks5xxlgf9dpncr3c7i2dawss41";
+  iosevka-curly-slab = "09qnd2vzl4v59c0d534mj06zxwa3rdwrhkwy191v6p79lfxp482x";
+  iosevka-etoile = "0j3ah72dmk7fzcln9755y3xnzn7343lfrg95kb3xmqm2zyg0mbrw";
+  iosevka-slab = "0prnm3nh8rgn6jivfj2fw7x12m8qqam8xnl45ip5ck4348piypx3";
+  iosevka-sparkle = "1y180rwrxrvwd98hk1d07y0vs8h5rj7ipkhsqlv60h82pigxhl4a";
+  iosevka-ss01 = "04q9vby5q9ylvv2myl3h2xfyq3s594wnwj0b956pivwwamhp0g3v";
+  iosevka-ss02 = "14d5i88ls8zfbis5s7z95dcrpxqyqr2wzx90c5a4xpcdjd4n7fgg";
+  iosevka-ss03 = "1zqqq11rcjmifc4qf5p2xcqhqp5ca2pgvzv8xirr6mq4knrvxrpq";
+  iosevka-ss04 = "1xnnqyvyrz820dzfyjj84v3j1q8krykmwxw5xml4v7kk79agc7vk";
+  iosevka-ss05 = "07w78jw23hxwzx65ampwzv691p12n0pvk8vnw2mnnspflirpm62r";
+  iosevka-ss06 = "11brqklhk3sfhqyavyi5rggsn3286n404gphmh0frz65wj3k8lc6";
+  iosevka-ss07 = "037vaxpgdpa6p9nmqcsa1mi7pn94300cd71kbr9lw8mql9wc2y9n";
+  iosevka-ss08 = "0ga1bwb2d1rizr0910bcqabcj819dcd0bxp7cwbxnzq6i7ca4hj1";
+  iosevka-ss09 = "1khjhn0lfpk8g1yx3558w6kkj0pd5b7kxbf0z97w1nvah3d5v50m";
+  iosevka-ss10 = "0zp5173799vacssj0lsj3ck82b03qyk9cyfwa3j7xa2dhplrjfp2";
+  iosevka-ss11 = "124a3i7iy9z7adxcb8yw3795gk52cw7ngsim8qjhrhcd2bjr0jvg";
+  iosevka-ss12 = "1rd61ry3ihw311c926wjl9sc71bz0ligya07m7km1905dhlhirsv";
+  iosevka-ss13 = "0jm3djc4rlzk22jn3syv4mwd0fz82z4lnyk3dkq815yyw6vmqkz0";
+  iosevka-ss14 = "1a9a1bvzsbprmxfh19m78s82rfmxng4sambz6m4gd9mm14kjjp5r";
+}
diff --git a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
index b198486327d7..42012e43d4bf 100644
--- a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -1,26 +1,24 @@
 { lib, fetchzip }:
 
 let
-  version = "2.002";
+  version = "2.221";
 in
 fetchzip {
   name = "JetBrainsMono-${version}";
 
   url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
 
-  sha256 = "018lhxi9m8aprls6cnpndzdg5snijwzm22m2pxxi6zcqxrcxh8vb";
+  sha256 = "1in3znnj0i0yfwj93ncxi3s1cp9lhgwnv2r14br47rr7vik4zjr6";
 
   postFetch = ''
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.eot -d $out/share/fonts/eot
-    unzip -j $downloadedFile \*.woff -d $out/share/fonts/woff
-    unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
   '';
 
   meta = with lib; {
     description = "A typeface made for developers";
     homepage = "https://jetbrains.com/mono/";
+    changelog = "https://github.com/JetBrains/JetBrainsMono/blob/v${version}/Changelog.md";
     license = licenses.ofl;
     maintainers = [ maintainers.marsam ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/joypixels/default.nix b/nixpkgs/pkgs/data/fonts/joypixels/default.nix
index 1b107f9cb82f..c19a55400fcb 100644
--- a/nixpkgs/pkgs/data/fonts/joypixels/default.nix
+++ b/nixpkgs/pkgs/data/fonts/joypixels/default.nix
@@ -1,24 +1,103 @@
-{ stdenv, fetchurl }:
+{ stdenv
+, fetchurl
+, config
+, acceptLicense ? config.joypixels.acceptLicense or false
+}:
+
+let
+  inherit (stdenv.hostPlatform.parsed) kernel;
+
+  systemSpecific = {
+    darwin = rec {
+      systemTag =  "nix-darwin";
+      capitalized = systemTag;
+      fontFile = "JoyPixels-SBIX.ttf";
+    };
+  }.${kernel.name} or rec {
+    systemTag = "nixos";
+    capitalized = "NixOS";
+    fontFile = "joypixels-android.ttf";
+  };
+
+  joypixels-free-license = with systemSpecific; {
+    spdxId = "LicenseRef-JoyPixels-Free-6.0";
+    fullName = "JoyPixels Free License Agreement 6.0";
+    url = "https://cdn.joypixels.com/distributions/${systemTag}/license/free-license.pdf";
+    free = false;
+  };
+
+  joypixels-license-appendix = with systemSpecific; {
+    spdxId = "LicenseRef-JoyPixels-NixOS-Appendix";
+    fullName = "JoyPixels ${capitalized} License Appendix";
+    url = "https://cdn.joypixels.com/distributions/${systemTag}/appendix/joypixels-license-appendix.pdf";
+    free = false;
+  };
+
+  throwLicense = throw ''
+    Use of the JoyPixels font requires acceptance of the license.
+      - ${joypixels-free-license.fullName} [1]
+      - ${joypixels-license-appendix.fullName} [2]
+
+    You can express acceptance by setting acceptLicense to true in your
+    configuration. Note that this is not a free license so it requires allowing
+    unfree licenses.
+
+    configuration.nix:
+      nixpkgs.config.allowUnfree = true;
+      nixpkgs.config.joypixels.acceptLicense = true;
+
+    config.nix:
+      allowUnfree = true;
+      joypixels.acceptLicense = true;
+
+    [1]: ${joypixels-free-license.url}
+    [2]: ${joypixels-license-appendix.url}
+  '';
+
+in
 
 stdenv.mkDerivation rec {
   pname = "joypixels";
   version = "6.0.0";
 
-  src = fetchurl {
-    url = "https://cdn.joypixels.com/arch-linux/font/${version}/joypixels-android.ttf";
-    sha256 = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s";
-  };
+  src = assert !acceptLicense -> throwLicense;
+    with systemSpecific; fetchurl {
+      name = fontFile;
+      url = "https://cdn.joypixels.com/distributions/${systemTag}/font/${version}/${fontFile}";
+      sha256 = {
+        darwin = "1s1dibgpv4lc9cwbgykgwjxxhg2rbn5g9fyd10r6apj9xhfn8cyn";
+      }.${kernel.name} or "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s";
+    };
 
   dontUnpack = true;
 
-  installPhase = ''
-    install -Dm644 $src $out/share/fonts/truetype/joypixels.ttf
+  installPhase = with systemSpecific; ''
+    runHook preInstall
+
+    install -Dm644 $src $out/share/fonts/truetype/${fontFile}
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
-    description = "Emoji as a Service (formerly EmojiOne)";
-    homepage = "https://www.joypixels.com/";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ jtojnar ];
+    description = "The finest emoji you can use legally (formerly EmojiOne)";
+    longDescription = ''
+      New for 2020! JoyPixels 6.0 includes 3,342 originally crafted icon
+      designs and is 100% Unicode 13 compatible. We offer the largest selection
+      of files ranging from png, svg, iconjar, sprites, and fonts.
+    '';
+    homepage = "https://www.joypixels.com/fonts";
+    license =
+      let
+        free-license = joypixels-free-license;
+        appendix = joypixels-license-appendix;
+      in with systemSpecific; {
+        spdxId = "LicenseRef-JoyPixels-Free-6.0-with-${capitalized}-Appendix";
+        fullName = "${free-license.fullName} with ${appendix.fullName}";
+        url = free-license.url;
+        appendixUrl = appendix.url;
+        free = false;
+      };
+    maintainers = with maintainers; [ toonn jtojnar ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/julia-mono/default.nix b/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
new file mode 100644
index 000000000000..8774913c83cc
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/julia-mono/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchzip }:
+
+let
+  version = "0.022";
+in fetchzip {
+  name = "JuliaMono-${version}";
+  url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono.zip";
+  sha256 = "sha256-/MVT6n842sSiuPZNYxN3q1vn6yvMvmcTEDyvAd2GikA=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/truetype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+  '';
+
+  meta = {
+    description = "A monospaced font for scientific and technical computing";
+    maintainers = with lib.maintainers; [ suhr ];
+    platforms = with lib.platforms; all;
+    homepage = "https://juliamono.netlify.app/";
+    license = lib.licenses.ofl;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/lato/default.nix b/nixpkgs/pkgs/data/fonts/lato/default.nix
index 2b9f6c1114f0..76effcf97cd0 100644
--- a/nixpkgs/pkgs/data/fonts/lato/default.nix
+++ b/nixpkgs/pkgs/data/fonts/lato/default.nix
@@ -3,7 +3,7 @@
 fetchzip {
   name = "lato-2.0";
 
-  url = "http://www.latofonts.com/download/Lato2OFL.zip";
+  url = "https://www.latofonts.com/download/Lato2OFL.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -13,7 +13,7 @@ fetchzip {
   sha256 = "1amwn6vcaggxrd2s4zw21s2pr47zmzdf2xfy4x9lxa2cd9bkhvg5";
 
   meta = with lib; {
-    homepage = "http://www.latofonts.com/";
+    homepage = "https://www.latofonts.com/";
 
     description = ''
       Sans-serif typeface family designed in Summer 2010 by Łukasz Dziedzic
diff --git a/nixpkgs/pkgs/data/fonts/lmmath/default.nix b/nixpkgs/pkgs/data/fonts/lmmath/default.nix
index a66bd48c897a..0530141317b8 100644
--- a/nixpkgs/pkgs/data/fonts/lmmath/default.nix
+++ b/nixpkgs/pkgs/data/fonts/lmmath/default.nix
@@ -15,7 +15,7 @@ in fetchzip rec {
   sha256 = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn";
 
   meta = with lib; {
-    description = "The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth.";
+    description = "The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth";
     homepage = "http://www.gust.org.pl/projects/e-foundry/lm-math";
     # "The Latin Modern Math font is licensed under the GUST Font License (GFL),
     # which is a free license, legally equivalent to the LaTeX Project Public
diff --git a/nixpkgs/pkgs/data/fonts/merriweather/default.nix b/nixpkgs/pkgs/data/fonts/merriweather/default.nix
index 1768c44bc03c..d1b3359df26e 100644
--- a/nixpkgs/pkgs/data/fonts/merriweather/default.nix
+++ b/nixpkgs/pkgs/data/fonts/merriweather/default.nix
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/SorkinType/Merriweather";
-    description = "Merriweather was designed to be a text face that is pleasant to read on screens";
+    description = "A text face designed to be pleasant to read on screens";
     license = licenses.ofl;
     platforms = platforms.all;
     maintainers = with maintainers; [ emily ];
diff --git a/nixpkgs/pkgs/data/fonts/meslo-lgs-nf/default.nix b/nixpkgs/pkgs/data/fonts/meslo-lgs-nf/default.nix
new file mode 100644
index 000000000000..36ce33cd7d2d
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/meslo-lgs-nf/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "meslo-lgs-nf";
+  version = "2020-03-22";
+
+  src = fetchFromGitHub {
+    owner = "romkatv";
+    repo = "powerlevel10k-media";
+    rev = "32c7d40239c93507277f14522be90b5750f442c9";
+    sha256 = "10hq4whai1rqj495w4n80p0y21am8rihm4rc40xq7241d6dzilrd";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp $src/*.ttf $out/share/fonts/truetype
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Meslo Nerd Font patched for Powerlevel10k";
+    homepage = "https://github.com/romkatv/powerlevel10k-media";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bbigras ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/monoid/default.nix b/nixpkgs/pkgs/data/fonts/monoid/default.nix
index f62f4961fc7a..48dc121af459 100644
--- a/nixpkgs/pkgs/data/fonts/monoid/default.nix
+++ b/nixpkgs/pkgs/data/fonts/monoid/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchFromGitHub, python2 }:
-# Python 3 support requires https://github.com/larsenwork/monoid/pull/233 to be merged
+{ stdenv, fetchFromGitHub, fetchpatch, python3 }:
 
 stdenv.mkDerivation {
   pname = "monoid";
-  version = "2016-07-21";
+  version = "2018-06-03";
 
   src = fetchFromGitHub {
     owner = "larsenwork";
     repo = "monoid";
-    rev = "e9d77ec18c337dc78ceae787a673328615f0b120";
-    sha256 = "07h5q6cn6jjpmxp9vyag1bxx481waz344sr2kfs7d37bba8yjydj";
+    rev = "a331c7c5f402c449f623e0d0895bd2fd8dc30ccf";
+    sha256 = "sha256-RV6lxv5CjywTMcuPMj6rdjLKrap7zLJ7niaNeF//U1Y=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/larsenwork/monoid/pull/233/commits/f84f2ed61301ee84dadd16351314394f22ebed2f.patch";
+      sha256 = "sha256-CxfFHlR7TB64pvrfzVfUDkPwuRO2UdGOhXwW98c+oQU=";
+    })
+  ];
+
   nativeBuildInputs = [
-    (python2.withPackages (pp: with pp; [
+    (python3.withPackages (pp: with pp; [
       fontforge
     ]))
   ];
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
index e99060118026..25836b64cea0 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
@@ -142,6 +142,10 @@ in
       # remove check for virtualenv, since we handle
       # python requirements using python.withPackages
       sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
+
+      # Make the build verbose so it won't get culled by Hydra thinking that
+      # it somehow got stuck doing nothing.
+      sed -i 's;\t@;\t;' Makefile
     '';
 
     enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/data/fonts/open-sans/default.nix b/nixpkgs/pkgs/data/fonts/open-sans/default.nix
index e92f75802521..ecca50537f1d 100644
--- a/nixpkgs/pkgs/data/fonts/open-sans/default.nix
+++ b/nixpkgs/pkgs/data/fonts/open-sans/default.nix
@@ -9,7 +9,7 @@ in fetchFromGitLab {
   domain = "salsa.debian.org";
   owner = "fonts-team";
   repo = "fonts-open-sans";
-  rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag
+  rev = "debian/1.11-1";
   postFetch = ''
     tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/truetype
diff --git a/nixpkgs/pkgs/data/fonts/recursive/default.nix b/nixpkgs/pkgs/data/fonts/recursive/default.nix
index 39d63e7dd990..ff5070b1bd7a 100644
--- a/nixpkgs/pkgs/data/fonts/recursive/default.nix
+++ b/nixpkgs/pkgs/data/fonts/recursive/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.064";
+  version = "1.069";
 in
 fetchzip {
   name = "recursive-${version}";
@@ -12,10 +12,9 @@ fetchzip {
     mkdir -p $out/share/fonts/
     unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
   '';
 
-  sha256 = "1pbrqk848nkaambvsz0n8f88xdm8hyib83in27rmal739qh9d1z6";
+  sha256 = "07l35vkarj8f748vbnca98zrl0yl456ddqf1wpmshs24r97cx96h";
 
   meta = with lib; {
     homepage = "https://recursive.design/";
diff --git a/nixpkgs/pkgs/data/fonts/scheherazade/default.nix b/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
index e7651f22d6a0..8639d29066c3 100644
--- a/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
+++ b/nixpkgs/pkgs/data/fonts/scheherazade/default.nix
@@ -1,11 +1,16 @@
-{ lib, fetchzip }:
+{ lib, fetchzip, version ? "3.000" }:
 
 let
-  version = "2.100";
+  new = lib.versionAtLeast version "3.000";
+  sha256 = {
+    "2.100" = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
+    "3.000" = "12sd2mjqb80ijc73y7p0iw6j3wy9i60a3aar3ywrxz4khpya48jw";
+  }."${version}";
+
 in fetchzip rec {
-  name = "scheherazade-${version}";
+  name = "scheherazade${lib.optionalString new "-new"}-${version}";
 
-  url = "http://software.sil.org/downloads/r/scheherazade/Scheherazade-${version}.zip";
+  url = "http://software.sil.org/downloads/r/scheherazade/Scheherazade${lib.optionalString new "New"}-${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
@@ -15,16 +20,17 @@ in fetchzip rec {
     unzip -j $downloadedFile \*/documentation/\*           -d $out/share/doc/${name}/documentation
   '';
 
-  sha256 = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
+  inherit sha256;
 
   meta = with lib; {
     homepage = "https://software.sil.org/scheherazade/";
     description = "A font designed in a similar style to traditional Naskh typefaces";
     longDescription = ''
-      Scheherazade, named after the heroine of the classic Arabian Nights tale,
-      is designed in a similar style to traditional typefaces such as Monotype
-      Naskh, extended to cover the Unicode Arabic repertoire through Unicode
-      8.0.
+
+      Scheherazade${lib.optionalString new " New"}, named after the heroine of
+      the classic Arabian Nights tale, is designed in a similar style to
+      traditional typefaces such as Monotype Naskh, extended to cover the
+      Unicode Arabic repertoire through Unicode ${if new then "13.0" else "8.0"}.
 
       Scheherazade provides a “simplified” rendering of Arabic script, using
       basic connecting glyphs but not including a wide variety of additional
diff --git a/nixpkgs/pkgs/data/fonts/stix-two/default.nix b/nixpkgs/pkgs/data/fonts/stix-two/default.nix
index e6e4009020ae..1e32ebbf16a9 100644
--- a/nixpkgs/pkgs/data/fonts/stix-two/default.nix
+++ b/nixpkgs/pkgs/data/fonts/stix-two/default.nix
@@ -1,25 +1,22 @@
-{ stdenv, fetchFromGitHub }:
-
+{ lib, fetchzip }:
 let
-  version = "2.0.2";
-in fetchFromGitHub {
+  version = "2.10";
+in
+fetchzip {
   name = "stix-two-${version}";
 
-  owner = "stipub";
-  repo = "stixfonts";
-  rev = "v${version}";
+  url = "https://github.com/stipub/stixfonts/raw/v${version}/zipfiles/STIX${builtins.replaceStrings [ "." ] [ "_" ] version}-all.zip";
+
+  sha256 = "1xvh5c5asbasfa333mizimvdp209g0lppbwv2p0cg3ixfpxgq4dl";
 
   postFetch = ''
-    tar xf $downloadedFile --strip=1
-    install -m444 -Dt $out/share/fonts/opentype/ OTF/*.otf
-    install -m444 -Dt $out/share/fonts/woff/     WOFF/*.woff
-    install -m444 -Dt $out/share/fonts/woff2/    WOFF2/*.woff2
+    mkdir -p $out/share/fonts/
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sha256 = "1ah8s0cb67yv4ll8zfs01mdh9m5i2lbkrfbmkhi1xdid6pxsk32x";
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.stixfonts.org/";
+  meta = with lib; {
+    homepage = "https://www.stixfonts.org/";
     description = "Fonts for Scientific and Technical Information eXchange";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/data/fonts/sudo/default.nix b/nixpkgs/pkgs/data/fonts/sudo/default.nix
index 48ca0fea1e42..f21fdb184161 100644
--- a/nixpkgs/pkgs/data/fonts/sudo/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sudo/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchzip }:
 
 let
-  version = "0.50";
+  version = "0.52";
 in fetchzip {
   name = "sudo-font-${version}";
-  url = "https://github.com/jenskutilek/sudo-font/raw/v${version}/dist/sudo.zip";
-  sha256 = "1mk81r9p7ks6av3rj06c6n9vx2qv2hwx6zfbc2mk1filxjirk1ll";
+  url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
+  sha256 = "1j5p7apclyy5gfj2kklmgcncdsp5iik4gd6mdl29anzijknd0kja";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
@@ -21,4 +21,3 @@ in fetchzip {
     platforms = platforms.all;
   };
 }
-
diff --git a/nixpkgs/pkgs/data/fonts/ttf-tw-moe/default.nix b/nixpkgs/pkgs/data/fonts/ttf-tw-moe/default.nix
new file mode 100644
index 000000000000..1115b48b7095
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/ttf-tw-moe/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchzip }:
+let
+  version = "2020-11-14";
+in
+fetchzip {
+  name = "ttf-tw-moe";
+
+  url = "https://github.com/Jiehong/TW-fonts/archive/${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile TW-fonts-${version}/\*.ttf -d $out/share/fonts/truetype
+  '';
+
+  sha256 = "1jd3gjjfa4vadp6d499n0irz5b22z611kd7q5qgqf6s2fwbxfhiz";
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.moe.gov.tw/";
+    description = "Set of KAI and SONG fonts from the Ministry of Education of Taiwan";
+    version = version;
+    longDescription = ''
+      Installs 2 TTF fonts: MOESongUN and TW-MOE-Std-Kai.
+      Both are provided by the Ministry of Education of Taiwan; each character's shape
+      closely follows the official recommendation, and can be used as for teaching purposes.
+    '';
+    license = licenses.cc-by-nd-30;
+    maintainers = [ maintainers.jiehong ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/unifont/default.nix b/nixpkgs/pkgs/data/fonts/unifont/default.nix
index 685b5c452f2d..3a9f107c4c7e 100644
--- a/nixpkgs/pkgs/data/fonts/unifont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/unifont/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation rec {
   pname = "unifont";
-  version = "13.0.01";
+  version = "13.0.05";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.ttf";
-    sha256 = "0y5bd7i5hp9ks6d3qq0bshywba7g90i3074wckpn9m8shh98ngcg";
+    sha256 = "0ff7zbyqi45q0171rl9ckj6lpfhcj8a9850d8j89m7wbwky32isf";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.pcf.gz";
-    sha256 = "05zgz00n514cijqh9qcvr4iz0bla4hd028cvi1jlh0ic6fkafix8";
+    sha256 = "16n666p6rs6l4r8grh67gy4ls33qfnbb5xk7cksywzjwdh42js0r";
   };
 
   nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ];
diff --git a/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix b/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
index 153c6272ca20..04480aaeec72 100644
--- a/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
+++ b/nixpkgs/pkgs/data/fonts/unifont_upper/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "12.1.03";
+  version = "13.0.05";
 in fetchzip rec {
   name = "unifont_upper-${version}";
 
@@ -9,7 +9,7 @@ in fetchzip rec {
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
 
-  sha256 = "1w0bg276cyv6xs6clld8gv4w88rj9fw9rc8zs9ahc6y9hv677knj";
+  sha256 = "1cpi44fzsiq3yqg38763awgri1ma46421c3v8167bsxzsx7vzlkp";
 
   meta = with lib; {
     description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";
diff --git a/nixpkgs/pkgs/data/fonts/vegur/default.nix b/nixpkgs/pkgs/data/fonts/vegur/default.nix
index af6c00e32c88..2f03dac3914b 100644
--- a/nixpkgs/pkgs/data/fonts/vegur/default.nix
+++ b/nixpkgs/pkgs/data/fonts/vegur/default.nix
@@ -18,7 +18,7 @@ in fetchzip {
 
   meta = with lib; {
     homepage = "http://dotcolon.net/font/vegur/";
-    description = "A humanist sans serif font.";
+    description = "A humanist sans serif font";
     platforms = platforms.all;
     maintainers = [ maintainers.samueldr ];
     license = licenses.cc0;
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts/default.nix b/nixpkgs/pkgs/data/fonts/vista-fonts/default.nix
index df7a6e5383bf..3a5ee616a0ef 100644
--- a/nixpkgs/pkgs/data/fonts/vista-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip, cabextract}:
+{ stdenv, fetchzip, cabextract }:
 
 fetchzip {
   name = "vista-fonts-1";
@@ -21,7 +21,7 @@ fetchzip {
     done
   '';
 
-  sha256 = "1l27zg5jraa16zm11d3qz1w7m6f1ih3xy5avww454ylm50fw6z11";
+  sha256 = "sha256-x7JSXS9Q1fzlJTVR+MAS3f2+cmo/H0s1qkY9FPjx2zI=";
 
   meta = {
     description = "Some TrueType fonts from Microsoft Windows Vista (Calibri, Cambria, Candara, Consolas, Constantia, Corbel)";