about summary refs log tree commit diff
path: root/nixpkgs/pkgs/data/fonts
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/data/fonts')
-rw-r--r--nixpkgs/pkgs/data/fonts/3270font/default.nix26
-rw-r--r--nixpkgs/pkgs/data/fonts/agave/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/alegreya-sans/default.nix37
-rw-r--r--nixpkgs/pkgs/data/fonts/alegreya/default.nix43
-rw-r--r--nixpkgs/pkgs/data/fonts/barlow/default.nix28
-rw-r--r--nixpkgs/pkgs/data/fonts/caladea/cambria-alias.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/carlito/calibri-alias.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/cascadia-code/default.nix49
-rw-r--r--nixpkgs/pkgs/data/fonts/clearlyU/default.nix11
-rw-r--r--nixpkgs/pkgs/data/fonts/comic-neue/default.nix54
-rw-r--r--nixpkgs/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/corefonts/default.nix2
-rw-r--r--nixpkgs/pkgs/data/fonts/corefonts/no-op.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/cozette/default.nix57
-rw-r--r--nixpkgs/pkgs/data/fonts/creep/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/dina/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/edukai/default.nix33
-rw-r--r--nixpkgs/pkgs/data/fonts/eduli/default.nix36
-rw-r--r--nixpkgs/pkgs/data/fonts/edusong/default.nix32
-rw-r--r--nixpkgs/pkgs/data/fonts/emojione/default.nix18
-rw-r--r--nixpkgs/pkgs/data/fonts/envypn-font/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/fontconfig-penultimate/default.nix24
-rw-r--r--nixpkgs/pkgs/data/fonts/gohufont/default.nix11
-rw-r--r--nixpkgs/pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/bin.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/iosevka/package.json30
-rw-r--r--nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/joypixels/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/kanji-stroke-order-font/default.nix20
-rw-r--r--nixpkgs/pkgs/data/fonts/liberation-fonts/default.nix5
-rw-r--r--nixpkgs/pkgs/data/fonts/material-design-icons/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/nerdfonts/default.nix7
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/default.nix38
-rw-r--r--nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix62
-rw-r--r--nixpkgs/pkgs/data/fonts/profont/default.nix7
-rw-r--r--nixpkgs/pkgs/data/fonts/recursive/default.nix9
-rw-r--r--nixpkgs/pkgs/data/fonts/redhat-official/default.nix21
-rw-r--r--nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/siji/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/source-han/default.nix3
-rw-r--r--nixpkgs/pkgs/data/fonts/spleen/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/sudo/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/tamsyn/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/tamzen/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/terminus-font/default.nix7
-rw-r--r--nixpkgs/pkgs/data/fonts/tewi/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/twemoji-color-font/default.nix15
-rw-r--r--nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix25
-rw-r--r--nixpkgs/pkgs/data/fonts/ucs-fonts/default.nix8
-rw-r--r--nixpkgs/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/uni-vga/default.nix9
-rw-r--r--nixpkgs/pkgs/data/fonts/unifont/default.nix6
-rw-r--r--nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/victor-mono/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts-chs/no-op.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/vista-fonts/no-op.conf2
-rw-r--r--nixpkgs/pkgs/data/fonts/xits-math/default.nix4
58 files changed, 532 insertions, 329 deletions
diff --git a/nixpkgs/pkgs/data/fonts/3270font/default.nix b/nixpkgs/pkgs/data/fonts/3270font/default.nix
new file mode 100644
index 000000000000..a972bd7c3d8b
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/3270font/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchzip }:
+let
+  version = "2.1.0";
+in
+fetchzip {
+  name = "3270font-${version}";
+
+  url = "https://github.com/rbanffy/3270font/releases/download/v.${version}/3270_fonts_fba25eb.zip";
+
+  sha256 = "04xqgiznd6d3c1rdbbdmd87rjy9bnhh00lm8xzmal1zidcr2g0n9";
+
+  postFetch = ''
+    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 \*.woff -d $out/share/fonts/woff
+  '';
+
+  meta = with lib; {
+    description = "Monospaced font based on IBM 3270 terminals";
+    homepage = "https://github.com/rbanffy/3270font";
+    license = [ licenses.bsd3 licenses.ofl ];
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/agave/default.nix b/nixpkgs/pkgs/data/fonts/agave/default.nix
index 585ab6b4292c..0c2cd1609f61 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 = "14";
+  version = "22";
 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 = "14hr6cdn5xbfpszj4qyfqbwmjyrkmi83yl0g9j3y3jw561jwy27j";
+  sha256 = "1jb8f0xcv5z0l5nyx733b6zclswi82vrh2nwyyhbqzgqrl4y1h6s";
 
   meta = with lib; {
     description = "truetype monospaced typeface designed for X environments";
diff --git a/nixpkgs/pkgs/data/fonts/alegreya-sans/default.nix b/nixpkgs/pkgs/data/fonts/alegreya-sans/default.nix
new file mode 100644
index 000000000000..479843341654
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/alegreya-sans/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "alegreya-sans";
+  version = "2.008";
+
+  src = fetchFromGitHub {
+    owner = "huertatipografica";
+    repo = "Alegreya-Sans";
+    rev = "v${version}";
+    sha256 = "0xz5lq9fh0pj02ifazhddzh792qkxkz1z6ylj26d93wshc90jl5g";
+  };
+
+  installPhase = ''
+    install -D -m 444 fonts/otf/* -t $out/share/fonts/otf
+    install -D -m 444 fonts/ttf/* -t $out/share/fonts/ttf
+    install -D -m 444 fonts/webfonts/*.woff -t $out/share/fonts/woff
+    install -D -m 444 fonts/webfonts/*.woff2 -t $out/share/fonts/woff2
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Humanist sans serif family with a calligraphic feeling";
+    longDescription = ''
+Alegreya Sans is a humanist sans serif family with a calligraphic feeling that conveys a dynamic and varied rhythm. This gives a pleasant feeling to readers of long texts.
+
+The family follows humanist proportions and principles, just like the serif version of the family, Alegreya. It achieves a ludic and harmonious paragraph through elements carefully designed in an atmosphere of diversity. The italics bring a strong emphasis to the roman styles, and each have seven weights to bring you a wide typographic palette.
+
+Alegreya Sans supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others.
+
+The Alegreya type system is a "super family", originally intended for literature, and includes sans and serif sister families.
+    '';
+    homepage = "https://www.huertatipografica.com/en/fonts/alegreya-sans-ht";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ Thra11 ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/alegreya/default.nix b/nixpkgs/pkgs/data/fonts/alegreya/default.nix
new file mode 100644
index 000000000000..99a7131dc11a
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/alegreya/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "alegreya";
+  version = "2.008";
+
+  src = fetchFromGitHub {
+    owner = "huertatipografica";
+    repo = "Alegreya";
+    rev = "v${version}";
+    sha256 = "1m5xr95y6qxxv2ryvhfck39d6q5hxsr51f530fshg53x48l2mpwr";
+  };
+
+  installPhase = ''
+    install -D -m 444 fonts/otf/* -t $out/share/fonts/otf
+    install -D -m 444 fonts/ttf/* -t $out/share/fonts/ttf
+    install -D -m 444 fonts/webfonts/*.woff -t $out/share/fonts/woff
+    install -D -m 444 fonts/webfonts/*.woff2 -t $out/share/fonts/woff2
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An elegant and versatile font family for comfortable reading";
+    longDescription = ''
+Alegreya is a typeface originally intended for literature. Among its crowning characteristics, it conveys a dynamic and varied rhythm which facilitates the reading of long texts. Also, it provides freshness to the page while referring to the calligraphic letter, not as a literal interpretation, but rather in a contemporary typographic language.
+
+The italic has just as much care and attention to detail in the design as the roman. The bold weights are strong, and the Black weights are really experimental for the genre. There is also a Small Caps sister family.
+
+Not only does Alegreya provide great performance, but also achieves a strong and harmonious text by means of elements designed in an atmosphere of diversity.
+
+The Alegreya type system is a "super family", originally intended for literature, and includes serif and sans serif sister families.
+
+It supports expert latin, greek and cyrillic character sets and provides advanced typography OpenType features such as small caps, dynamic ligatures and fractions, four set of figures, super and subscript characters, ordinals, localized accent forms for spanish, catalan, guaraní, dutch, turkish, romanian, serbian among others.
+
+Alegreya was chosen at the ATypI Letter2 competition in September 2011, and one of the top 14 text type systems. It was also selected in the 2nd Bienal Iberoamericana de Diseño, competition held in Madrid in 2010 and Tipos Latinos.
+
+Designed by Juan Pablo del Peral for Huerta Tipográfica.
+    '';
+    homepage = "https://www.huertatipografica.com/en/fonts/alegreya-ht-pro";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ Thra11 ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/barlow/default.nix b/nixpkgs/pkgs/data/fonts/barlow/default.nix
new file mode 100644
index 000000000000..e9257260ea2c
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/barlow/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchzip }:
+let
+  version = "1.422";
+in
+fetchzip rec {
+  name = "barlow-${version}";
+
+  url = "https://tribby.com/fonts/barlow/download/barlow-${version}.zip";
+
+  sha256 = "08ld4c3zq4d1px07lc64i7l8848zsc61ddy3654w2sh0hx5sm5ld";
+
+  postFetch = ''
+    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 \*.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 grotesk variable font superfamily";
+    homepage = "https://tribby.com/fonts/barlow/";
+    license = licenses.ofl;
+    maintainers = [ maintainers.marsam ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/caladea/cambria-alias.conf b/nixpkgs/pkgs/data/fonts/caladea/cambria-alias.conf
index f763e2a8c346..78452961e8e9 100644
--- a/nixpkgs/pkgs/data/fonts/caladea/cambria-alias.conf
+++ b/nixpkgs/pkgs/data/fonts/caladea/cambria-alias.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- Configure Caladea as a metric-compatible alias for the
        Microsoft Cambria font family. -->
diff --git a/nixpkgs/pkgs/data/fonts/carlito/calibri-alias.conf b/nixpkgs/pkgs/data/fonts/carlito/calibri-alias.conf
index 294af3b6c784..bbffff23721f 100644
--- a/nixpkgs/pkgs/data/fonts/carlito/calibri-alias.conf
+++ b/nixpkgs/pkgs/data/fonts/carlito/calibri-alias.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- Configure Carlito as a metric-compatible alias for the
        Microsoft Calibri font family. -->
diff --git a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
index 56894f920954..30738a3c3cd3 100644
--- a/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cascadia-code/default.nix
@@ -1,44 +1,21 @@
-{ stdenv, fetchurl }:
+{ lib, fetchzip }:
+let
+  version = "2008.25";
+in
+fetchzip {
+  name = "cascadia-code-${version}";
 
-stdenv.mkDerivation rec {
-  pname = "cascadia-code";
-  version = "1911.21";
+  url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaCode-${version}.zip";
 
-  srcs = [
-    (fetchurl {
-      url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/Cascadia.ttf";
-      sha256 = "1m5ymbngjg3n1g3p6vhcq7d825bwwln9afih651ar3jn7j9njnyg";
-     })
-    (fetchurl {
-      url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaMono.ttf";
-      sha256 = "0vkhm6rhspzd1iayxrzaag099wsc94azfqa3ips7f4x9s8fmbp80";
-    })
-    (fetchurl {
-      url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaMonoPL.ttf";
-      sha256 = "0xxqd8m2ydn97jngp1a3ik1mzpjbm65pfq02a82gfbbvajq5d673";
-    })
-    (fetchurl {
-      url = "https://github.com/microsoft/cascadia-code/releases/download/v${version}/CascadiaPL.ttf";
-      sha256 = "1s83c9flvifd05nbhnk8knwnik7p621sr7i94smknigc7d72wqav";
-    })
-  ];
+  sha256 = "182ssznm6f5fhykmqqvimq7ihmxkc64gh76faqxg1ihdyzqgi2y6";
 
-  unpackCmd = ''
-    ttfName=$(basename $(stripHash $curSrc))
-    cp $curSrc ./$ttfName
+  postFetch = ''
+    mkdir -p $out/share/fonts/
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sourceRoot = ".";
-
-  installPhase = ''
-    install -Dm444 -t $out/share/fonts/truetype *.ttf
-  '';
-
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1gkjs7qa409r4ykdy4ik8i0c3z49hzpklw6kyijhhifhyyyzhz4h";
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal";
     homepage = "https://github.com/microsoft/cascadia-code";
     license = licenses.ofl;
diff --git a/nixpkgs/pkgs/data/fonts/clearlyU/default.nix b/nixpkgs/pkgs/data/fonts/clearlyU/default.nix
index 62002b14dd58..84cf3ebc538d 100644
--- a/nixpkgs/pkgs/data/fonts/clearlyU/default.nix
+++ b/nixpkgs/pkgs/data/fonts/clearlyU/default.nix
@@ -20,19 +20,12 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    # install bdf fonts
+    # install otb and bdf fonts
     fontDir="$out/share/fonts"
-    install -m 644 -D *.bdf -t "$fontDir"
-    mkfontdir "$fontDir"
-
-    # install otb fonts
-    fontDir="$otb/share/fonts"
-    install -m 644 -D *.otb -t "$fontDir"
+    install -m 644 -D *.bdf *.otb -t "$fontDir"
     mkfontdir "$fontDir"
   '';
 
-  outputs = [ "out"  "otb" ];
-
   meta = with stdenv.lib; {
     description = "A Unicode font";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
index 709d93dc2c9f..d50e89743425 100644
--- a/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
+++ b/nixpkgs/pkgs/data/fonts/comic-neue/default.nix
@@ -1,32 +1,44 @@
-{ lib, fetchzip }:
+{ stdenv, fetchzip }:
 
-let
-  version = "2.3";
-in fetchzip rec {
-  name = "comic-neue-${version}";
+stdenv.mkDerivation rec {
+  pname = "comic-neue";
+  version = "2.5";
 
-  url = "http://comicneue.com/${name}.zip";
+  src = fetchzip {
+    url = "http://comicneue.com/${pname}-${version}.zip";
+    sha256 = "1kc0yyha6cc584vcl9z1cq1z6prgkxk93g75mr8gapfdrj25dp3q";
+    stripRoot = false; # because it comes with a __MACOSX directory
+  };
 
-  postFetch = ''
-    mkdir -vp $out/share/{doc,fonts}
-    unzip -j $downloadedFile OTF/\*.otf   -d $out/share/fonts/opentype
-    unzip -j $downloadedFile Web/\*.ttf   -d $out/share/fonts/truetype
-    unzip -j $downloadedFile Web/\*.eot   -d $out/share/fonts/EOT
-    unzip -j $downloadedFile Web/\*.woff  -d $out/share/fonts/WOFF
-    unzip -j $downloadedFile Web/\*.woff2 -d $out/share/fonts/WOFF2
-    unzip -j $downloadedFile \*.pdf FONTLOG.txt OFL-FAQ.txt SIL-License.txt -d $out/share/doc/${name}
-  '';
+  phases = [ "unpackPhase" "installPhase" ];
 
-  sha256 = "1gs4vhys0m3qsw06qaxzyi81f06w5v66kbyl64yw3pq2rb656779";
+  installPhase = ''
+    mkdir -pv $out/share/{doc/${pname}-${version},fonts/{opentype,truetype,EOT,WOFF,WOFF2}}
+    cp -v ${pname}-${version}/{FONTLOG,OFL-FAQ,OFL}.txt $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
+  '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     homepage = "http://comicneue.com/";
     description = "A casual type face: Make your lemonade stand look like a fortune 500 company";
     longDescription = ''
-      It is inspired by Comic Sans but more regular.  The font was
-      designed by Craig Rozynski.  It is available in two variants:
-      Comic Neue and Comic Neue Angular.  The former having round and
-      the latter angular terminals.  Both variants come in Light,
+      ComicNeue is inspired by Comic Sans but more regular. It was
+      designed by Craig Rozynski. It is available in two variants:
+      Comic Neue and Comic Neue Angular. The former having round and
+      the latter angular terminals. Both variants come in Light,
       Regular, and Bold weights with Oblique variants.
     '';
     license = licenses.ofl;
diff --git a/nixpkgs/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf b/nixpkgs/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
index be5f6cca866d..e1362ec4f5f7 100644
--- a/nixpkgs/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
+++ b/nixpkgs/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- Configure Comic Relief as a metric-compatible alias for the
        Microsoft Comic Sans font family. -->
diff --git a/nixpkgs/pkgs/data/fonts/corefonts/default.nix b/nixpkgs/pkgs/data/fonts/corefonts/default.nix
index e4107cd4b998..ed28f6b5e6ce 100644
--- a/nixpkgs/pkgs/data/fonts/corefonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/corefonts/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0baadsrgpqj15fgjmcn0aim0k0nk7mvivcxinw1zwg61kkcwhalx";
+  outputHash = "089d2m9bvaacj36qdq77pcazji0sbbr796shic3k52cpxkjnzbwh";
 
   meta = with stdenv.lib; {
     homepage = "http://corefonts.sourceforge.net/";
diff --git a/nixpkgs/pkgs/data/fonts/corefonts/no-op.conf b/nixpkgs/pkgs/data/fonts/corefonts/no-op.conf
index 503e62cfa295..3f8a9b9b5444 100644
--- a/nixpkgs/pkgs/data/fonts/corefonts/no-op.conf
+++ b/nixpkgs/pkgs/data/fonts/corefonts/no-op.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- This configuation is intentionally left empty in order to
        override any other font package that may wish to set up an
diff --git a/nixpkgs/pkgs/data/fonts/cozette/default.nix b/nixpkgs/pkgs/data/fonts/cozette/default.nix
index a5d9f9055624..a5bc752c4caf 100644
--- a/nixpkgs/pkgs/data/fonts/cozette/default.nix
+++ b/nixpkgs/pkgs/data/fonts/cozette/default.nix
@@ -1,55 +1,28 @@
-{ stdenv, fetchurl, mkfontscale }:
+{ lib, fetchzip }:
 
 let
-  version = "1.5.1";
-  releaseUrl =
-    "https://github.com/slavfox/Cozette/releases/download/v.${version}";
-in stdenv.mkDerivation rec {
-  pname = "Cozette";
-  inherit version;
+  version = "1.8.3";
+in
+fetchzip rec {
+  name = "Cozette-${version}";
 
-  srcs = map fetchurl [
-    {
-      url = "${releaseUrl}/cozette.otb";
-      sha256 = "05k45n7jar11gnng2awpmc7zk9jdlzd6wz87xx49cp75jm4z9xm8";
-    }
-    {
-      url = "${releaseUrl}/CozetteVector.otf";
-      sha256 = "1sqhnjpizn1wi26lc7z2zml7yr7zkcpa72mh1drvd74rlcs1ip30";
-    }
-    {
-      url = "${releaseUrl}/CozetteVector.ttf";
-      sha256 = "1q4ml8shv9lmyc6bwhffwvbvl92s73j7xkb0rkqvci4f0zbz7mcy";
-    }
-  ];
+  url = "https://github.com/slavfox/Cozette/releases/download/v.${version}/CozetteFonts.zip";
 
-  nativeBuildInputs = [ mkfontscale ];
+  sha256 = "1nc4zk6n7cbv9vwlhpm3ady5lc4d4ic1klyywwfg27w8j0jv57hx";
 
-  sourceRoot = "./";
-
-  unpackCmd = ''
-    otName=$(stripHash "$curSrc")
-    cp $curSrc ./$otName
-  '';
-
-  installPhase = ''
-
-    install -D -m 644 *.otf -t "$out/share/fonts/opentype"
-    install -D -m 644 *.ttf -t "$out/share/fonts/truetype"
-    install -D -m 644 *.otb -t "$out/share/fonts/misc"
-
-    mkfontdir "$out/share/fonts/misc"
-    mkfontscale "$out/share/fonts/truetype"
-    mkfontscale "$out/share/fonts/opentype"
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.bdf -d $out/share/fonts/misc
+    unzip -j $downloadedFile \*.otb -d $out/share/fonts/misc
   '';
 
-  outputs = [ "out" ];
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A bitmap programming font optimized for coziness.";
     homepage = "https://github.com/slavfox/cozette";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ brettlyons ];
+    maintainers = with maintainers; [ brettlyons marsam ];
   };
 }
diff --git a/nixpkgs/pkgs/data/fonts/creep/default.nix b/nixpkgs/pkgs/data/fonts/creep/default.nix
index 2e66ac468b08..7c7ad4d5aa91 100644
--- a/nixpkgs/pkgs/data/fonts/creep/default.nix
+++ b/nixpkgs/pkgs/data/fonts/creep/default.nix
@@ -20,14 +20,10 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -D -m644 creep.bdf "$out/share/fonts/misc/creep.bdf"
+    install -D -m644 creep.otb creep.bdf -t "$out/share/fonts/misc/"
     mkfontdir "$out/share/fonts/misc"
-    install -D -m644 creep.otb "$otb/share/fonts/misc/creep.otb"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "A pretty sweet 4px wide pixel font";
     homepage = "https://github.com/romeovs/creep";
diff --git a/nixpkgs/pkgs/data/fonts/dina/default.nix b/nixpkgs/pkgs/data/fonts/dina/default.nix
index 49c219478209..1a8ac344a531 100644
--- a/nixpkgs/pkgs/data/fonts/dina/default.nix
+++ b/nixpkgs/pkgs/data/fonts/dina/default.nix
@@ -41,15 +41,13 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz
+    install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz *.otb
     install -D -m 644 -t "$bdf/share/fonts/misc" *.bdf
-    install -D -m 644 -t "$otb/share/fonts/misc" *.otb
     mkfontdir "$out/share/fonts/misc"
     mkfontdir "$bdf/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "bdf" "otb" ];
+  outputs = [ "out" "bdf" ];
 
   meta = with stdenv.lib; {
     description = "A monospace bitmap font aimed at programmers";
diff --git a/nixpkgs/pkgs/data/fonts/edukai/default.nix b/nixpkgs/pkgs/data/fonts/edukai/default.nix
new file mode 100644
index 000000000000..d5b9e25c2eb5
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/edukai/default.nix
@@ -0,0 +1,33 @@
+{ stdenvNoCC, lib, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "edukai";
+  version = "4.0";
+
+  src = fetchzip {
+    name = "${pname}-${version}";
+    url =
+      "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/edukai-4.0.zip";
+    sha256 = "10m9srvbazvg9gc43943dc89rjzcfc8mm4lx9gb5hnplrn22zrcn";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/
+    mv *.ttf $out/share/fonts/
+  '';
+
+  meta = {
+    description =
+      "The MOE Standard Kai Font, a Chinese font by the Ministry of Education, ROC (Taiwan)";
+    longDescription = ''
+      The MOE Standard Kai Font is a kai (regular srcipt) font
+      provided by
+      the Midistry of Education, Republic of China (Taiwan).
+      It currently includes 13,076 Chinese characters.
+    '';
+    homepage =
+      "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=47";
+    license = lib.licenses.cc-by-nd-30;
+    maintainers = with lib.maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/eduli/default.nix b/nixpkgs/pkgs/data/fonts/eduli/default.nix
new file mode 100644
index 000000000000..7ff2ad4446c5
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/eduli/default.nix
@@ -0,0 +1,36 @@
+{ stdenvNoCC, lib, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "eduli";
+  version = "3.0";
+
+  src = fetchzip {
+    name = "${pname}-${version}";
+    url =
+      "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/MoeLI-3.0.zip";
+    sha256 = "0vpmm2qb429npng0aqkafwgs7cjibq8a3f7bbn9hysbm2lndwxwd";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/
+    for name in *.ttf; do
+      mv "$name" "$out/share/fonts/$(echo $name | sed -r 's/(.*)\(.*\)\.ttf/\1.ttf/')"
+    done
+  '';
+
+  meta = {
+    description =
+      "The MOE Li Font, a clerical Chinese font by the Ministry of Education, ROC (Taiwan)";
+    longDescription = ''
+      The MOE Li Font is a li (clerical srcipt) font
+      provided by
+      the Midistry of Education, Republic of China (Taiwan).
+      It currently includes 4,808 Chinese characters.
+      The clerical script (lishu) is an archaic style of Chinese calligraphy.
+    '';
+    homepage =
+      "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=49";
+    license = lib.licenses.cc-by-nd-30;
+    maintainers = with lib.maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/edusong/default.nix b/nixpkgs/pkgs/data/fonts/edusong/default.nix
new file mode 100644
index 000000000000..bf7d39aa20c5
--- /dev/null
+++ b/nixpkgs/pkgs/data/fonts/edusong/default.nix
@@ -0,0 +1,32 @@
+{ stdenvNoCC, lib, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "edusong";
+  version = "1.0"; # The upstream doesn't provide the version
+
+  src = fetchzip {
+    name = "${pname}-${version}";
+    url =
+      "http://language.moe.gov.tw/001/Upload/Files/site_content/M0001/eduSong_Unicode.zip";
+    sha256 = "1b74wj9hdzlnrvldwlkh21sfhqxwh9qghf1k0fv66zs6n48vb0d4";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/
+    mv *.ttf $out/share/fonts/
+  '';
+
+  meta = {
+    description =
+      "The MOE Standard Song Font, a Chinese font by the Ministry of Education, ROC (Taiwan)";
+    longDescription = ''
+      The MOE Standard Song Font is a Chinese Song font provided by
+      the Midistry of Education, Republic of China (Taiwan).
+      Song or Ming is a category of CKJ typefaces in print.
+    '';
+    homepage =
+      "http://language.moe.gov.tw/result.aspx?classify_sn=23&subclassify_sn=436&content_sn=48";
+    license = lib.licenses.cc-by-nd-30;
+    maintainers = with lib.maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/nixpkgs/pkgs/data/fonts/emojione/default.nix b/nixpkgs/pkgs/data/fonts/emojione/default.nix
index 6f5168e90d5e..d5b9b29dd85d 100644
--- a/nixpkgs/pkgs/data/fonts/emojione/default.nix
+++ b/nixpkgs/pkgs/data/fonts/emojione/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
+{ stdenv, fetchFromGitHub, fetchpatch, inkscape, imagemagick, potrace, svgo, scfbuild }:
 
 stdenv.mkDerivation rec {
   pname = "emojione";
@@ -11,6 +11,22 @@ stdenv.mkDerivation rec {
     sha256 = "1781kxfbhnvylypbkwxc3mx6hi0gcjisfjr9cf0jdz4d1zkf09b3";
   };
 
+  patches = [
+    # Fix build with Inkscape 1.0
+    # https://github.com/eosrei/twemoji-color-font/pull/82
+    (fetchpatch {
+      url = "https://github.com/eosrei/twemoji-color-font/commit/208ad63c2ceb38c528b5237abeb2b85ceedc1d37.patch";
+      sha256 = "7tDWIkpcdir1V6skgXSM3r0FwHy0F6PyJ07OPRsSStA=";
+      postFetch = ''
+        substituteInPlace $out \
+          --replace "inkscape --without-gui" "inkscape --export-png" \
+          --replace TWEMOJI EMOJIONE \
+          --replace "the assets" "the emojione assets" \
+          --replace twemoji emojione
+      '';
+    })
+  ];
+
   preBuild = ''
     sed -i 's,SCFBUILD :=.*,SCFBUILD := scfbuild,' Makefile
     # Shut up inkscape's warnings
diff --git a/nixpkgs/pkgs/data/fonts/envypn-font/default.nix b/nixpkgs/pkgs/data/fonts/envypn-font/default.nix
index c26569166a30..0d69b812c4cd 100644
--- a/nixpkgs/pkgs/data/fonts/envypn-font/default.nix
+++ b/nixpkgs/pkgs/data/fonts/envypn-font/default.nix
@@ -25,14 +25,10 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz
-    install -D -m 644 -t "$otb/share/fonts/misc" *.otb
+    install -D -m 644 -t "$out/share/fonts/misc" *.otb *.pcf.gz
     mkfontdir "$out/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = ''
       Readable bitmap font inspired by Envy Code R
diff --git a/nixpkgs/pkgs/data/fonts/fontconfig-penultimate/default.nix b/nixpkgs/pkgs/data/fonts/fontconfig-penultimate/default.nix
deleted file mode 100644
index 5216cf0e3d89..000000000000
--- a/nixpkgs/pkgs/data/fonts/fontconfig-penultimate/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, fetchzip
-, version ? "0.3.5"
-, sha256 ? "1gfgl7qimp76q4z0nv55vv57yfs4kscdr329np701k0xnhncwvrk"
-}:
-
-fetchzip {
-  name = "fontconfig-penultimate-${version}";
-
-  url = "https://github.com/ttuegel/fontconfig-penultimate/archive/${version}.zip";
-  inherit sha256;
-
-  postFetch = ''
-    mkdir -p $out/etc/fonts/conf.d
-    unzip -j $downloadedFile \*.conf -d $out/etc/fonts/conf.d
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/ttuegel/fontconfig-penultimate";
-    description = "Sensible defaults for Fontconfig";
-    license = licenses.asl20;
-    maintainers = [ maintainers.ttuegel ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/data/fonts/gohufont/default.nix b/nixpkgs/pkgs/data/fonts/gohufont/default.nix
index e2361ef81637..ac82c82ae3df 100644
--- a/nixpkgs/pkgs/data/fonts/gohufont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/gohufont/default.nix
@@ -52,19 +52,12 @@ stdenv.mkDerivation rec {
     fontDir="$out/share/consolefonts"
     install -D -m 644 -t "$fontDir" psf/*.psf
 
-    # install the pcf fonts (for xorg applications)
+    # install the pcf and otb fonts (for X11,GTK applications)
     fontDir="$out/share/fonts/misc"
-    install -D -m 644 -t "$fontDir" *.pcf
-    mkfontdir "$fontDir"
-
-    # install the otb fonts (for gtk applications)
-    fontDir="$otb/share/fonts/misc"
-    install -D -m 644 -t "$fontDir" *.otb
+    install -D -m 644 -t "$fontDir" *.pcf *.otb
     mkfontdir "$fontDir"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = ''
       A monospace bitmap font well suited for programming and terminal use
diff --git a/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix b/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
index 70657f03281e..cd33a834acc5 100644
--- a/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "5.0.0";
+  version = "5.1.3";
 
 in fetchzip {
   name = "ibm-plex-${version}";
@@ -13,7 +13,7 @@ in fetchzip {
     unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
   '';
 
-  sha256 = "1m8a9p0bryrj05v7sg9kqvyp0ddhgdwd0zjbn0i4l296cj5s2k97";
+  sha256 = "0w07fkhav2lqdyki7ipnkpji5ngwarlhsyliy0ip7cd29x24ys5h";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
index b801451c7be3..0f88aa05e4cf 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/bin.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "2.3.3";
+  version = "3.4.6";
 in fetchzip {
   name = "iosevka-bin-${version}";
 
@@ -9,10 +9,10 @@ in fetchzip {
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
+    unzip -j $downloadedFile \*.ttc -d $out/share/fonts/truetype
   '';
 
-  sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl";
+  sha256 = "1nab49gkpxahwvvw39xcc32q425qkccr7ffmz87jbcdv71qy7pp9";
 
   meta = with stdenv.lib; {
     homepage = "https://be5invis.github.io/Iosevka/";
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/default.nix b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
index 4ff0ed5fe49b..5167c494fa07 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/default.nix
+++ b/nixpkgs/pkgs/data/fonts/iosevka/default.nix
@@ -30,13 +30,13 @@ assert (privateBuildPlan != null) -> set != null;
 stdenv.mkDerivation rec {
   pname = if set != null then "iosevka-${set}" else "iosevka";
 
-  version = "2.3.3";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "Iosevka";
     rev = "v${version}";
-    sha256 = "0k7xij473g5g0lwhb6qpn70v3n2d025dww3nlb7jwbpnp03zliz0";
+    sha256 = "1wbnp6gr3ywvspwk6i0jn68zwjmsd38arn4n2dkh7mdkrmvah81k";
   };
 
   nativeBuildInputs = [
@@ -69,12 +69,12 @@ stdenv.mkDerivation rec {
 
   buildPhase = ''
     runHook preBuild
-    npm run build --no-update-notifier -- ttf::$pname >/dev/null
+    npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES ttf::$pname >/dev/null
     runHook postBuild
   '';
 
   installPhase = ''
-    fontdir="$out/share/fonts/$pname"
+    fontdir="$out/share/fonts/truetype"
     install -d "$fontdir"
     install "dist/$pname/ttf"/* "$fontdir"
   '';
diff --git a/nixpkgs/pkgs/data/fonts/iosevka/package.json b/nixpkgs/pkgs/data/fonts/iosevka/package.json
index 8faa397576b1..bc772960882d 100644
--- a/nixpkgs/pkgs/data/fonts/iosevka/package.json
+++ b/nixpkgs/pkgs/data/fonts/iosevka/package.json
@@ -1,26 +1,28 @@
 {
 	"name": "iosevka-build-deps",
-	"version": "2.3.3",
+	"version": "3.2.2",
 	"scripts": {
 		"build": "verda -f verdafile.js"
 	},
 	"dependencies": {
-		"caryll-shapeops": "^0.3.1",
-		"colors": "^1.3.3",
-		"libspiro-js": "^0.3.1",
-		"megaminx": "^0.9.0",
+		"@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.8.0",
+		"otfcc-ttcize": "^0.10.2",
 		"patel": "^0.33.1",
-		"patrisika-scopes": "^0.11.1",
-		"primitive-quadify-off-curves": "^0.4.0",
-		"stylus": "^0.54.5",
-		"toml": "^3.0.0",
-		"topsort": "0.0.2",
+		"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": "^2.0.3",
+		"ttf2woff2": "^3.0.0",
+		"typo-geom": "^0.8.0",
+		"unicode-13.0.0": "^0.8.0",
 		"unorm": "^1.6.0",
-		"verda": "^1.0.0-0",
-		"yargs": "^14.2.0"
+		"verda": "^1.0.1",
+		"which": "^2.0.2"
 	}
 }
diff --git a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
index 718b6b218df2..b198486327d7 100644
--- a/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchzip }:
 
 let
-  version = "1.0.6";
+  version = "2.002";
 in
-fetchzip rec {
+fetchzip {
   name = "JetBrainsMono-${version}";
 
   url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
 
-  sha256 = "1198k5zw91g85h6n7rg3y7wcj1nrbby9zlr6zwlmiq0nb37n0d3g";
+  sha256 = "018lhxi9m8aprls6cnpndzdg5snijwzm22m2pxxi6zcqxrcxh8vb";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -21,7 +21,7 @@ fetchzip rec {
   meta = with lib; {
     description = "A typeface made for developers";
     homepage = "https://jetbrains.com/mono/";
-    license = licenses.asl20;
+    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 b54fb3fd128b..1b107f9cb82f 100644
--- a/nixpkgs/pkgs/data/fonts/joypixels/default.nix
+++ b/nixpkgs/pkgs/data/fonts/joypixels/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "joypixels";
-  version = "5.5.0";
+  version = "6.0.0";
 
   src = fetchurl {
     url = "https://cdn.joypixels.com/arch-linux/font/${version}/joypixels-android.ttf";
-    sha256 = "0w3r50l0knrncwv6zihyx01gs995y76xjcwsysx5bmvc1b43yijb";
+    sha256 = "1vxqsqs93g4jyp01r47lrpcm0fmib2n1vysx32ksmfxmprimb75s";
   };
 
   dontUnpack = true;
diff --git a/nixpkgs/pkgs/data/fonts/kanji-stroke-order-font/default.nix b/nixpkgs/pkgs/data/fonts/kanji-stroke-order-font/default.nix
index 1c1609b03f19..7b8444c3cde7 100644
--- a/nixpkgs/pkgs/data/fonts/kanji-stroke-order-font/default.nix
+++ b/nixpkgs/pkgs/data/fonts/kanji-stroke-order-font/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchurl }:
 
 let
-  version = "4.002";
-in fetchzip {
+  version = "4.003";
+  debianVersion = "dfsg-1";
+in stdenv.mkDerivation {
   name = "kanji-stroke-order-font-${version}";
 
-  url = "https://sites.google.com/site/nihilistorguk/KanjiStrokeOrders_v${version}.zip?attredirects=0";
+  src = fetchurl {
+    url = "https://salsa.debian.org/fonts-team/fonts-kanjistrokeorders/-/archive/debian/${version}_${debianVersion}/fonts-kanjistrokeorders-debian-${version}_${debianVersion}.tar.bz2";
+    sha256 = "1a8hxzkrfjz0h5gl9h0panzzsn7cldlklxryyzmpam23g32q6bg1";
+  };
 
-  postFetch = ''
+  installPhase = ''
     mkdir -p $out/share/fonts/kanji-stroke-order $out/share/doc/kanji-stroke-order
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/kanji-stroke-order
-    unzip -j $downloadedFile \*.txt -d $out/share/doc/kanji-stroke-order
+    cp *.ttf $out/share/fonts/kanji-stroke-order
+    cp *.txt $out/share/doc/kanji-stroke-order
   '';
 
-  sha256 = "194ylkx5p7r1461wnnd3hisv5dz1xl07fyxmg8gv47zcwvdmwkc0";
-
   meta = with stdenv.lib; {
     description = "Font containing stroke order diagrams for over 6500 kanji, 180 kana and other characters";
     homepage = "https://sites.google.com/site/nihilistorguk/";
diff --git a/nixpkgs/pkgs/data/fonts/liberation-fonts/default.nix b/nixpkgs/pkgs/data/fonts/liberation-fonts/default.nix
index 838a8d4c769b..edc39ff0a40e 100644
--- a/nixpkgs/pkgs/data/fonts/liberation-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/liberation-fonts/default.nix
@@ -2,6 +2,7 @@
 let
   inherit (python3.pkgs) fonttools;
 
+  commonNativeBuildInputs = [ fontforge python3 ];
   common =
     { version, repo, sha256, nativeBuildInputs, postPatch ? null }:
       stdenv.mkDerivation rec {
@@ -50,13 +51,13 @@ in
   liberation_ttf_v1 = common {
     repo = "liberation-1.7-fonts";
     version = "1.07.5";
-    nativeBuildInputs = [ fontforge ];
+    nativeBuildInputs = commonNativeBuildInputs ;
     sha256 = "1ffl10mf78hx598sy9qr5m6q2b8n3mpnsj73bwixnd4985gsz56v";
   };
   liberation_ttf_v2 = common {
     repo = "liberation-fonts";
     version = "2.1.0";
-    nativeBuildInputs = [ fontforge fonttools ];
+    nativeBuildInputs = commonNativeBuildInputs ++ [ fonttools ];
     postPatch = ''
       substituteInPlace scripts/setisFixedPitch-fonttools.py --replace \
         'font = ttLib.TTFont(fontfile)' \
diff --git a/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix b/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
index 72dc5fe6313c..1bf5c6aa4820 100644
--- a/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
+++ b/nixpkgs/pkgs/data/fonts/material-design-icons/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub }:
 
 let
-  version = "4.7.95";
+  version = "5.3.45";
 in fetchFromGitHub {
   name = "material-design-icons-${version}";
   owner  = "Templarian";
@@ -16,10 +16,10 @@ in fetchFromGitHub {
     cp fonts/*.woff $out/share/fonts/woff/
     cp fonts/*.woff2 $out/share/fonts/woff2/
   '';
-  sha256 = "0da92kz8ryy60kb5xm52md13w28ih4sfap8g3v9b4ziyww66zjhz";
+  sha256 = "1nwha6dbj97ybiwlf69la57l3ibmwgnzs0nr104bfqnqxjs471sx";
 
   meta = with lib; {
-    description = "3200+ Material Design Icons from the Community";
+    description = "4600+ Material Design Icons from the Community";
     longDescription = ''
       Material Design Icons' growing icon collection allows designers and
       developers targeting various platforms to download icons in the format,
diff --git a/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix b/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
index 35f43c14df48..bf98effb1508 100644
--- a/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/nerdfonts/default.nix
@@ -5,6 +5,9 @@
 # To select only certain fonts, put a list of strings to `fonts`: every key in
 # ./shas.nix is an optional font
 , fonts ? []
+# Whether to enable Windows font variants, their internal font name is limited
+# to 31 characters
+, enableWindowsFonts ? false
 }:
 
 let
@@ -50,6 +53,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     find -name \*.otf -exec mkdir -p $out/share/fonts/opentype/NerdFonts \; -exec mv {} $out/share/fonts/opentype/NerdFonts \;
     find -name \*.ttf -exec mkdir -p $out/share/fonts/truetype/NerdFonts \; -exec mv {} $out/share/fonts/truetype/NerdFonts \;
+    ${lib.optionalString (! enableWindowsFonts) ''
+      rm -rfv $out/share/fonts/opentype/NerdFonts/*Windows\ Compatible.*
+      rm -rfv $out/share/fonts/truetype/NerdFonts/*Windows\ Compatible.*
+    ''}
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
index 1311e0eb7a95..e99060118026 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
@@ -6,11 +6,12 @@
 , fetchzip
 , optipng
 , cairo
-, python3Packages
+, python3
 , pkgconfig
 , pngquant
 , which
 , imagemagick
+, zopfli
 }:
 
 let
@@ -111,25 +112,36 @@ in
   };
 
   noto-fonts-emoji = let
-    version = "unstable-2019-10-22";
+    version = "2020-09-16-unicode13_1";
+    emojiPythonEnv =
+      python3.withPackages (p: with p; [ fonttools nototools ]);
   in stdenv.mkDerivation {
     pname = "noto-fonts-emoji";
-    inherit version;
+    version = builtins.replaceStrings [ "_" ] [ "." ] version;
 
     src = fetchFromGitHub {
-      owner = "googlei18n";
+      owner = "googlefonts";
       repo = "noto-emoji";
-      rev = "018aa149d622a4fea11f01c61a7207079da301bc";
-      sha256 = "0qmnnjpp5lza6g5m3ki6hj46p891h9vl42k3acd0qw8i0jj5yn2c";
+      rev = "v${version}";
+      sha256 = "0659336dp0l2nkac153jpcb9yvp0p3dx1crcyxjd14i8cqkfi2hh";
     };
 
-    buildInputs = [ cairo ];
-    nativeBuildInputs = [ pngquant optipng which cairo pkgconfig imagemagick ]
-                     ++ (with python3Packages; [ python fonttools nototools ]);
+    nativeBuildInputs = [
+      cairo
+      imagemagick
+      zopfli
+      pngquant
+      which
+      pkgconfig
+      emojiPythonEnv
+    ];
 
     postPatch = ''
-      sed -i 's,^PNGQUANT :=.*,PNGQUANT := ${pngquant}/bin/pngquant,' Makefile
-      patchShebangs flag_glyph_name.py
+      patchShebangs *.py
+      patchShebangs third_party/color_emoji/*.py
+      # remove check for virtualenv, since we handle
+      # python requirements using python.withPackages
+      sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
     '';
 
     enableParallelBuilding = true;
@@ -142,7 +154,7 @@ in
     meta = with lib; {
       inherit version;
       description = "Color and Black-and-White emoji fonts";
-      homepage = "https://github.com/googlei18n/noto-emoji";
+      homepage = "https://github.com/googlefonts/noto-emoji";
       license = with licenses; [ ofl asl20 ];
       platforms = platforms.all;
       maintainers = with maintainers; [ mathnerd314 ];
@@ -166,7 +178,7 @@ in
 
     meta = with stdenv.lib; {
       description = "Noto Emoji with extended Blob support";
-      homepage = https://github.com/C1710/blobmoji;
+      homepage = "https://github.com/C1710/blobmoji";
       license = with licenses; [ ofl asl20 ];
       platforms = platforms.all;
       maintainers = with maintainers; [ rileyinman ];
diff --git a/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix b/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
index 3cc1570161e6..f5bd6335dfbb 100644
--- a/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
+++ b/nixpkgs/pkgs/data/fonts/noto-fonts/tools.nix
@@ -1,32 +1,62 @@
-{ fetchFromGitHub, lib, fetchpatch, buildPythonPackage, isPy3k, fonttools, numpy, pillow, six, bash }:
+{ fetchFromGitHub, lib, buildPythonPackage, pythonOlder
+, afdko, appdirs, attrs, black, booleanoperations, brotlipy, click
+, defcon, fontmath, fontparts, fontpens, fonttools, fs, lxml
+, mutatormath, pathspec, psautohint, pyclipper, pytz, regex, scour
+, toml, typed-ast, ufonormalizer, ufoprocessor, unicodedata2, zopfli
+, pillow, six, bash, setuptools_scm }:
 
 buildPythonPackage rec {
   pname = "nototools";
-  version = "unstable-2019-10-21";
+  version = "0.2.13";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "googlefonts";
     repo = "nototools";
-    rev = "cae92ce958bee37748bf0602f5d7d97bb6db98ca";
-    sha256 = "1jqr0dz23rjqiyxw1w69l6ry16dwdcf3c6cysiy793g2v7pir2yi";
+    rev = "v${version}";
+    sha256 = "0ggp65xgkf9y7jamncm65lkm84wapsa47abf133pcb702875v8jz";
   };
 
-  propagatedBuildInputs = [ fonttools numpy ];
-
-  patches = lib.optionals isPy3k [
-    # Additional Python 3 compat https://github.com/googlefonts/nototools/pull/497
-    (fetchpatch {
-      url = "https://github.com/googlefonts/nototools/commit/ded1f311b3260f015b5c5b80f05f7185392c4eff.patch";
-      sha256 = "0bn0rlbddxicw0h1dnl0cibgj6xjalja2qcm563y7kk3z5cdwhgq";
-    })
-  ];
-
   postPatch = ''
-    sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py
+    sed -i 's/use_scm_version=.*,/version="${version}",/' setup.py
   '';
 
+  nativeBuildInputs = [ setuptools_scm ];
+
+  propagatedBuildInputs = [
+    afdko
+    appdirs
+    attrs
+    black
+    booleanoperations
+    brotlipy
+    click
+    defcon
+    fontmath
+    fontparts
+    fontpens
+    fonttools
+    lxml
+    mutatormath
+    pathspec
+    psautohint
+    pyclipper
+    pytz
+    regex
+    scour
+    toml
+    typed-ast
+    ufonormalizer
+    ufoprocessor
+    unicodedata2
+    zopfli
+  ];
+
   checkInputs = [
-    pillow six bash
+    pillow
+    six
+    bash
   ];
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/data/fonts/profont/default.nix b/nixpkgs/pkgs/data/fonts/profont/default.nix
index cba08309fac8..6297a8fbb204 100644
--- a/nixpkgs/pkgs/data/fonts/profont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/profont/default.nix
@@ -28,15 +28,10 @@ stdenv.mkDerivation {
       gzip -n -9 -c "$f" > "$out/share/fonts/misc/$f.gz"
     done
     install -D -m 644 LICENSE -t "$out/share/doc/$pname"
+    install -D -m 644 "$srcOtb/profontn.otb" -t $out/share/fonts/misc
     mkfontdir "$out/share/fonts/misc"
-
-    cd $srcOtb
-    install -D -m 644 profontn.otb -t $otb/share/fonts/misc
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     homepage = "https://tobiasjung.name/profont/";
     description = "A monospaced font created to be a most readable font for programming";
diff --git a/nixpkgs/pkgs/data/fonts/recursive/default.nix b/nixpkgs/pkgs/data/fonts/recursive/default.nix
index 25a111c5804a..39d63e7dd990 100644
--- a/nixpkgs/pkgs/data/fonts/recursive/default.nix
+++ b/nixpkgs/pkgs/data/fonts/recursive/default.nix
@@ -1,20 +1,21 @@
 { lib, fetchzip }:
 
 let
-  version = "1.052";
+  version = "1.064";
 in
 fetchzip {
   name = "recursive-${version}";
 
-  url = "https://github.com/arrowtype/recursive/releases/download/${version}/Recursive-Beta_${version}.zip";
+  url = "https://github.com/arrowtype/recursive/releases/download/${version}/ArrowType-Recursive-${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
-    unzip -j $downloadedFile \*.ttf   -d $out/share/fonts/truetype
+    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 = "1kam7wcn0rg89gw52pn174sz0r9lc2kjdz88l0jg20gwa3bjbpc6";
+  sha256 = "1pbrqk848nkaambvsz0n8f88xdm8hyib83in27rmal739qh9d1z6";
 
   meta = with lib; {
     homepage = "https://recursive.design/";
diff --git a/nixpkgs/pkgs/data/fonts/redhat-official/default.nix b/nixpkgs/pkgs/data/fonts/redhat-official/default.nix
index 44eea3774ffc..37ca9db9fa0b 100644
--- a/nixpkgs/pkgs/data/fonts/redhat-official/default.nix
+++ b/nixpkgs/pkgs/data/fonts/redhat-official/default.nix
@@ -1,16 +1,21 @@
-{ lib, fetchzip }:
-
-let version = "2.2.0"; in
-fetchzip {
+{ lib, fetchFromGitHub }:
+let
+  version = "2.3.2";
+in
+fetchFromGitHub {
   name = "redhat-official-${version}";
-  url = "https://github.com/RedHatOfficial/RedHatFont/archive/${version}.zip";
+
+  owner = "RedHatOfficial";
+  repo = "RedHatFont";
+  rev = version;
 
   postFetch = ''
-    mkdir -p $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype OTF/*.otf
+    install -m444 -Dt $out/share/fonts/truetype TTF/*.ttf
   '';
 
-  sha256 = "0yb6shgq6jrv3kq9faky66qpdbv4g580c3jl942844grwyngymyj";
+  sha256 = "1afvxmgif61hb17g8inmxvq30vkzwh30mydlqpf0zgvaaz8qdwmv";
 
   meta = with lib; {
     homepage = "https://github.com/RedHatOfficial/RedHatFont";
diff --git a/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
index 96bfaf191c3d..9fce696b6e86 100644
--- a/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/nixpkgs/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchurl, libarchive }:
 
 let
-  version = "0.12.6";
+  version = "0.12.11";
 in fetchurl {
   name = "sarasa-gothic-${version}";
 
   url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-  sha256 = "1b15gsmv2jr0r8xssr8216s8xsghr6w5wm3w3imm3qlh3kqk1qg8";
+  sha256 = "0vcp8583by7pfqinq8p2jx2bn4dqq816x4bxgv05k0kb9ziwj7aj";
 
   recursiveHash = true;
   downloadToTemp = true;
diff --git a/nixpkgs/pkgs/data/fonts/siji/default.nix b/nixpkgs/pkgs/data/fonts/siji/default.nix
index d1e53bbb7575..fb13f82263dd 100644
--- a/nixpkgs/pkgs/data/fonts/siji/default.nix
+++ b/nixpkgs/pkgs/data/fonts/siji/default.nix
@@ -24,15 +24,13 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    install -m 644 -D pcf/* -t "$out/share/fonts/misc"
+    install -m 644 -D *.otb pcf/* -t "$out/share/fonts/misc"
     install -m 644 -D bdf/* -t "$bdf/share/fonts/misc"
-    install -m 644 -D *.otb -t "$otb/share/fonts/misc"
     mkfontdir "$out/share/fonts/misc"
     mkfontdir "$bdf/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "bdf" "otb" ];
+  outputs = [ "out" "bdf" ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/stark/siji";
diff --git a/nixpkgs/pkgs/data/fonts/source-han/default.nix b/nixpkgs/pkgs/data/fonts/source-han/default.nix
index 7b6bef0198da..28ec08f63b6d 100644
--- a/nixpkgs/pkgs/data/fonts/source-han/default.nix
+++ b/nixpkgs/pkgs/data/fonts/source-han/default.nix
@@ -19,7 +19,8 @@ let
     version = lib.removeSuffix "R" rev;
 
     buildCommand = ''
-      install -m444 -Dt $out/share/fonts/opentype/source-han-${family} ${ttc}
+      mkdir -p $out/share/fonts/opentype/source-han-${family}
+      ln -s ${ttc} $out/share/fonts/opentype/source-han-${family}/SourceHan${Family}.ttc
     '';
 
     meta = {
diff --git a/nixpkgs/pkgs/data/fonts/spleen/default.nix b/nixpkgs/pkgs/data/fonts/spleen/default.nix
index 6994b7d4a720..726f60938bb2 100644
--- a/nixpkgs/pkgs/data/fonts/spleen/default.nix
+++ b/nixpkgs/pkgs/data/fonts/spleen/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "spleen";
-  version = "1.7.0";
+  version = "1.8.2";
 in fetchurl {
   name = "${pname}-${version}";
   url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
@@ -19,7 +19,7 @@ in fetchurl {
     # create fonts.dir so NixOS xorg module adds to fp
     ${mkfontscale}/bin/mkfontdir "$d"
   '';
-  sha256 = "17dn6spfr8wv63sy009djb4q12q635m13wsyirzn074qabhr9ggg";
+  sha256 = "0195d8ssmd8hc0q941z6zwnccffxajv4vylypsndxf28f3ikawby";
 
   meta = with lib; {
     description = "Monospaced bitmap fonts";
diff --git a/nixpkgs/pkgs/data/fonts/sudo/default.nix b/nixpkgs/pkgs/data/fonts/sudo/default.nix
index 8becdf83f5dc..48ca0fea1e42 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.42";
+  version = "0.50";
 in fetchzip {
   name = "sudo-font-${version}";
-  url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-  sha256 = "1rqpwihf2sakrhkaw041r3xc9fhafaqn22n79haqkmwv4vmnspch";
+  url = "https://github.com/jenskutilek/sudo-font/raw/v${version}/dist/sudo.zip";
+  sha256 = "1mk81r9p7ks6av3rj06c6n9vx2qv2hwx6zfbc2mk1filxjirk1ll";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
diff --git a/nixpkgs/pkgs/data/fonts/tamsyn/default.nix b/nixpkgs/pkgs/data/fonts/tamsyn/default.nix
index 2738925478f4..4d1e58a6bb34 100644
--- a/nixpkgs/pkgs/data/fonts/tamsyn/default.nix
+++ b/nixpkgs/pkgs/data/fonts/tamsyn/default.nix
@@ -29,15 +29,11 @@ in stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -m 644 -D *.pcf.gz -t "$out/share/fonts/misc"
+    install -m 644 -D *.otb *.pcf.gz -t "$out/share/fonts/misc"
     install -m 644 -D *.psf.gz -t "$out/share/consolefonts"
-    install -m 644 -D *.otb    -t "$otb/share/fonts/misc"
     mkfontdir "$out/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "A monospace bitmap font aimed at programmers";
     longDescription = ''Tamsyn is a monospace bitmap font, primarily aimed at
diff --git a/nixpkgs/pkgs/data/fonts/tamzen/default.nix b/nixpkgs/pkgs/data/fonts/tamzen/default.nix
index 6ecc03d73106..026ec63d670e 100644
--- a/nixpkgs/pkgs/data/fonts/tamzen/default.nix
+++ b/nixpkgs/pkgs/data/fonts/tamzen/default.nix
@@ -14,15 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ mkfontscale ];
 
   installPhase = ''
-    install -m 644 -D pcf/*.pcf -t "$out/share/fonts/misc"
+    install -m 644 -D otb/*.otb pcf/*.pcf -t "$out/share/fonts/misc"
     install -m 644 -D psf/*.psf -t "$out/share/consolefonts"
-    install -m 644 -D otb/*.otb -t "$otb/share/fonts/misc"
     mkfontdir "$out/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "Bitmapped programming font based on Tamsyn";
     longDescription = ''
diff --git a/nixpkgs/pkgs/data/fonts/terminus-font/default.nix b/nixpkgs/pkgs/data/fonts/terminus-font/default.nix
index 4c7f5d85e869..bbde1dd252c3 100644
--- a/nixpkgs/pkgs/data/fonts/terminus-font/default.nix
+++ b/nixpkgs/pkgs/data/fonts/terminus-font/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace Makefile --replace 'fc-cache' '#fc-cache'
+    substituteInPlace Makefile --replace 'gzip'     'gzip -n'
   '';
 
   postBuild = ''
@@ -34,14 +35,12 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     # install otb fonts (for GTK applications)
-    install -m 644 -D *.otb -t "$otb/share/fonts/misc";
-    mkfontdir "$otb/share/fonts/misc"
+    install -m 644 -D *.otb -t "$out/share/fonts/misc";
+    mkfontdir "$out/share/fonts/misc"
   '';
 
   installTargets = [ "install" "fontdir" ];
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "A clean fixed width font";
     longDescription = ''
diff --git a/nixpkgs/pkgs/data/fonts/tewi/default.nix b/nixpkgs/pkgs/data/fonts/tewi/default.nix
index 7b67c1dd52d3..7821cc660412 100644
--- a/nixpkgs/pkgs/data/fonts/tewi/default.nix
+++ b/nixpkgs/pkgs/data/fonts/tewi/default.nix
@@ -38,16 +38,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     fontDir="$out/share/fonts/misc"
-    install -m 644 -D out/* -t "$fontDir"
-    mkfontdir "$fontDir"
-
-    fontDir="$otb/share/fonts/misc"
-    install -m 644 -D *.otb -t "$fontDir"
+    install -m 644 -D *.otb out/* -t "$fontDir"
     mkfontdir "$fontDir"
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "A nice bitmap font, readable even at small sizes";
     longDescription = ''
diff --git a/nixpkgs/pkgs/data/fonts/twemoji-color-font/default.nix b/nixpkgs/pkgs/data/fonts/twemoji-color-font/default.nix
index a9bf3720c071..23ae8e76b1d5 100644
--- a/nixpkgs/pkgs/data/fonts/twemoji-color-font/default.nix
+++ b/nixpkgs/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
+{ stdenv, fetchFromGitHub, fetchpatch, inkscape, imagemagick, potrace, svgo, scfbuild }:
 
 stdenv.mkDerivation rec {
   pname = "twemoji-color-font";
@@ -10,6 +10,19 @@ stdenv.mkDerivation rec {
     sha256 = "00pbgqpkq21wl8fs0q1xp49xb10m48b9sz8cdc58flkd2vqfssw2";
   };
 
+  patches = [
+    # Fix build with Inkscape 1.0
+    # https://github.com/eosrei/twemoji-color-font/pull/82
+    (fetchpatch {
+      url = "https://github.com/eosrei/twemoji-color-font/commit/208ad63c2ceb38c528b5237abeb2b85ceedc1d37.patch";
+      sha256 = "TV8I++BEnVUQg7FNbnrEQ/MLV9n3drmspqjmDZgTGFI=";
+      postFetch = ''
+        substituteInPlace $out \
+          --replace "inkscape --without-gui" "inkscape --export-png"
+      '';
+    })
+  ];
+
   nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
   # silence inkscape errors about non-writable home
   preBuild = "export HOME=\"$NIX_BUILD_ROOT\"";
diff --git a/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix b/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
index ac3930853cf9..8435957fe201 100644
--- a/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
+++ b/nixpkgs/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -3,9 +3,8 @@
 
 { stdenv
 , fetchFromGitHub
-, fetchpatch
 , cairo
-, graphicsmagick
+, imagemagick
 , pkg-config
 , pngquant
 , python3
@@ -15,7 +14,7 @@
 }:
 
 let
-  version = "12.1.5";
+  version = "13.0.1";
 
   twemojiSrc = fetchFromGitHub {
     name = "twemoji";
@@ -25,6 +24,9 @@ let
     sha256 = "0acinlv2l3s1jga2i9wh16mvgkxw4ipzgvjx8c80zd104lpdpgd9";
   };
 
+  pythonEnv =
+    python3.withPackages (p: [ p.fonttools p.nototools ]);
+
 in
 stdenv.mkDerivation rec {
   pname = "twitter-color-emoji";
@@ -44,23 +46,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cairo
-    graphicsmagick
+    imagemagick
     pkg-config
     pngquant
-    python3
-    python3.pkgs.nototools
+    pythonEnv
     which
     zopfli
   ];
 
-  patches = [
-    # ImageMagick -> GraphicsMagick
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/twitter-twemoji-fonts/raw/07778605d50696f6aa929020e82611a01d254c90/f/noto-emoji-use-gm.patch";
-      sha256 = "06vg16z79s5adyjy8r3mr8fd391b1hi4xkqvbzkmnjwaai7p08lk";
-    })
-  ];
-
   postPatch = let
     templateSubstitutions = stdenv.lib.concatStringsSep "; " [
       ''s#Noto Color Emoji#Twitter Color Emoji#''
@@ -74,7 +67,7 @@ stdenv.mkDerivation rec {
       ''s#http://scripts.sil.org/OFL#http://creativecommons.org/licenses/by/4.0/#''
     ];
   in ''
-    patchShebangs ./flag_glyph_name.py
+    ${noto-fonts-emoji.postPatch}
 
     sed '${templateSubstitutions}' NotoColorEmoji.tmpl.ttx.tmpl > TwitterColorEmoji.tmpl.ttx.tmpl
     pushd ${twemojiSrc.name}/assets/72x72/
@@ -88,6 +81,8 @@ stdenv.mkDerivation rec {
     "EMOJI=TwitterColorEmoji"
     "EMOJI_SRC_DIR=${twemojiSrc.name}/assets/72x72"
     "BODY_DIMENSIONS=76x72"
+    # twemoji contains some codepoints noto doesn't like
+    "BYPASS_SEQUENCE_CHECK=True"
   ];
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/data/fonts/ucs-fonts/default.nix b/nixpkgs/pkgs/data/fonts/ucs-fonts/default.nix
index 7168607ce099..71c42c46b5d4 100644
--- a/nixpkgs/pkgs/data/fonts/ucs-fonts/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ucs-fonts/default.nix
@@ -42,16 +42,14 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    install -m 644 -D *.pcf.gz -t "$out/share/fonts/misc"
-    install -m 644 -D *.bdf    -t "$bdf/share/fonts/misc"
-    install -m 644 -D *.otb    -t "$otb/share/fonts/misc"
+    install -m 644 -D *.otb *.pcf.gz -t "$out/share/fonts/misc"
+    install -m 644 -D *.bdf -t "$bdf/share/fonts/misc"
 
     mkfontdir "$out/share/fonts/misc"
     mkfontdir "$bdf/share/fonts/misc"
-    mkfontdir "$otb/share/fonts/misc"
   '';
 
-  outputs = [ "out" "bdf" "otb" ];
+  outputs = [ "out" "bdf" ];
 
   meta = with stdenv.lib; {
     homepage = "https://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html";
diff --git a/nixpkgs/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix b/nixpkgs/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
index 5b07adf822e6..b1da06ccd8b4 100644
--- a/nixpkgs/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
+++ b/nixpkgs/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchzip }:
 
 let
-  version = "1.0";
+  version = "2.0";
 in
 fetchzip {
   name = "ultimate-oldschool-pc-font-pack-${version}";
-  url = "https://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v${version}.zip";
-  sha256 = "0hid4dgqfy2w26734vcw2rxmpacd9vd1r2qpdr9ww1n3kgc92k9y";
+  url = "https://int10h.org/oldschool-pc-fonts/download/oldschool_pc_font_pack_v${version}_ttf.zip";
+  sha256 = "0z0fw6ni7iq806y4m83xrfx46r14xxxql09ch2gxjqi062awqyh8";
 
   postFetch= ''
     mkdir -p $out/share/fonts/truetype
diff --git a/nixpkgs/pkgs/data/fonts/uni-vga/default.nix b/nixpkgs/pkgs/data/fonts/uni-vga/default.nix
index 58a5dbcfdbc2..65db46ca2ca7 100644
--- a/nixpkgs/pkgs/data/fonts/uni-vga/default.nix
+++ b/nixpkgs/pkgs/data/fonts/uni-vga/default.nix
@@ -34,23 +34,20 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    # install pcf (for X11 applications)
-    install -m 644 -D *.pcf.gz -t "$out/share/fonts"
+    # install pcf and otb (for X11 and GTK applications)
+    install -m 644 -D *.otb *.pcf.gz -t "$out/share/fonts"
     mkfontdir "$out/share/fonts"
 
     # install bdf font
     install -m 644 -D *.bdf -t "$bdf/share/fonts"
     mkfontdir "$bdf/share/fonts"
 
-    # install otb font (for GTK applications)
-    install -m 644 -D *.otb -t "$otb/share/fonts"
-    mkfontdir "$otb/share/fonts"
   '' + optionalString stdenv.isLinux ''
     # install psf (for linux virtual terminal)
     install -m 644 -D *.psf.gz -t "$out/share/consolefonts"
   '';
 
-  outputs = [ "out" "bdf" "otb" ];
+  outputs = [ "out" "bdf" ];
 
   meta = {
     description = "Unicode VGA font";
diff --git a/nixpkgs/pkgs/data/fonts/unifont/default.nix b/nixpkgs/pkgs/data/fonts/unifont/default.nix
index 460efc2c581a..685b5c452f2d 100644
--- a/nixpkgs/pkgs/data/fonts/unifont/default.nix
+++ b/nixpkgs/pkgs/data/fonts/unifont/default.nix
@@ -30,8 +30,8 @@ stdenv.mkDerivation rec {
   installPhase =
     ''
       # install otb fonts
-      install -m 644 -D unifont.otb "$otb/share/fonts/unifont.otb"
-      mkfontdir "$otb/share/fonts"
+      install -m 644 -D unifont.otb "$out/share/fonts/unifont.otb"
+      mkfontdir "$out/share/fonts"
 
       # install pcf and ttf fonts
       install -m 644 -D ${pcf} $out/share/fonts/unifont.pcf.gz
@@ -41,8 +41,6 @@ stdenv.mkDerivation rec {
       mkfontscale
     '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "Unicode font for Base Multilingual Plane";
     homepage = "http://unifoundry.com/unifont.html";
diff --git a/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix b/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix
index 96cde444d2b9..b0e58faed602 100644
--- a/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix
+++ b/nixpkgs/pkgs/data/fonts/uw-ttyp0/default.nix
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
     install -m 644 -D psf/*.psf -t "$fontDir"
 
     # install otb fonts
-    fontDir="$otb/share/fonts/X11/misc"
+    fontDir="$out/share/fonts/X11/misc"
     install -m 644 -D otb/*.otb -t "$fontDir"
     mkfontdir "$fontDir"
   '';
@@ -80,8 +80,6 @@ stdenv.mkDerivation rec {
     runHook postConfigure
   '';
 
-  outputs = [ "out" "otb" ];
-
   meta = with stdenv.lib; {
     description = "Monospace bitmap screen fonts for X11";
     homepage = "https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/";
diff --git a/nixpkgs/pkgs/data/fonts/victor-mono/default.nix b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
index 89b13585eb0b..940c0d76c46a 100644
--- a/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
+++ b/nixpkgs/pkgs/data/fonts/victor-mono/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "victor-mono";
-  version = "1.3.1";
+  version = "1.4.1";
 in fetchFromGitHub rec {
   name = "${pname}-${version}";
 
@@ -26,7 +26,7 @@ in fetchFromGitHub rec {
     unzip -j VictorMonoAll.zip \*.otf -d $out/share/fonts/opentype/${pname}
   '';
 
-  sha256 = "1yj91rhs9pd705406r4lqabdfzjclbz837nzm6z1rziy6mbpd61s";
+  sha256 = "1g3jjrqd2fiw2hdifhff2fn20p5a0xfma3964f67ibdyri976zq5";
 
   meta = with lib; {
     description = "Free programming font with cursive italics and ligatures";
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts-chs/no-op.conf b/nixpkgs/pkgs/data/fonts/vista-fonts-chs/no-op.conf
index 2d00b6244887..20d1b49d1580 100644
--- a/nixpkgs/pkgs/data/fonts/vista-fonts-chs/no-op.conf
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts-chs/no-op.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- This configuation is intentionally left empty in order to
        override any other font package that may wish to set up an
diff --git a/nixpkgs/pkgs/data/fonts/vista-fonts/no-op.conf b/nixpkgs/pkgs/data/fonts/vista-fonts/no-op.conf
index 503e62cfa295..3f8a9b9b5444 100644
--- a/nixpkgs/pkgs/data/fonts/vista-fonts/no-op.conf
+++ b/nixpkgs/pkgs/data/fonts/vista-fonts/no-op.conf
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
 <fontconfig>
   <!-- This configuation is intentionally left empty in order to
        override any other font package that may wish to set up an
diff --git a/nixpkgs/pkgs/data/fonts/xits-math/default.nix b/nixpkgs/pkgs/data/fonts/xits-math/default.nix
index db0ed425dee2..dfb38973edd9 100644
--- a/nixpkgs/pkgs/data/fonts/xits-math/default.nix
+++ b/nixpkgs/pkgs/data/fonts/xits-math/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xits-math";
-  version = "1.301";
+  version = "1.302";
 
   src = fetchFromGitHub {
     owner = "alif-type";
     repo = "xits";
     rev = "v${version}";
-    sha256 = "043g0gnjc7wn1szvrs0rc1vvrq1qmhqh45b0y2kwrlxsgprpv8ll";
+    sha256 = "1x3r505dylz9rz8dj98h5n9d0zixyxmvvhnjnms9qxdrz9bxy9g1";
   };
 
   nativeBuildInputs = (with python3Packages; [ python fonttools fontforge ]);