summary refs log tree commit diff
path: root/pkgs/data/fonts
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:21 +0100
committerAlyssa Ross <hi@alyssa.is>2023-11-21 16:12:48 +0100
commit048a4cd441a59cbf89defb18bb45c9f0b4429b35 (patch)
treef8f5850ff05521ab82d65745894714a8796cbfb6 /pkgs/data/fonts
parent030c5028b07afcedce7c5956015c629486cc79d9 (diff)
parent4c2d05dd6435d449a3651a6dd314d9411b5f8146 (diff)
downloadnixpkgs-rootfs.tar
nixpkgs-rootfs.tar.gz
nixpkgs-rootfs.tar.bz2
nixpkgs-rootfs.tar.lz
nixpkgs-rootfs.tar.xz
nixpkgs-rootfs.tar.zst
nixpkgs-rootfs.zip
Rebase onto e4ad989506ec7d71f7302cc3067abd82730a4beb HEAD rootfs
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/data/fonts')
-rw-r--r--pkgs/data/fonts/commit-mono/default.nix10
-rw-r--r--pkgs/data/fonts/corefonts/default.nix19
-rw-r--r--pkgs/data/fonts/curie/default.nix2
-rw-r--r--pkgs/data/fonts/edwin/default.nix2
-rw-r--r--pkgs/data/fonts/fg-virgil/default.nix31
-rw-r--r--pkgs/data/fonts/fixedsys-excelsior/default.nix2
-rw-r--r--pkgs/data/fonts/font-awesome/default.nix8
-rw-r--r--pkgs/data/fonts/google-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/intel-one-mono/default.nix6
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix3
-rw-r--r--pkgs/data/fonts/iosevka/comfy.nix18
-rw-r--r--pkgs/data/fonts/iosevka/default.nix7
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/iwona/default.nix9
-rw-r--r--pkgs/data/fonts/junicode/default.nix24
-rw-r--r--pkgs/data/fonts/last-resort/default.nix6
-rw-r--r--pkgs/data/fonts/lxgw-neoxihei/default.nix4
-rw-r--r--pkgs/data/fonts/lxgw-wenkai/default.nix4
-rw-r--r--pkgs/data/fonts/material-design-icons/default.nix4
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix10
-rw-r--r--pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json10
-rw-r--r--pkgs/data/fonts/noto-fonts/noto-emoji.json16
-rw-r--r--pkgs/data/fonts/open-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/pretendard/default.nix10
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/fonts/scientifica/default.nix2
-rw-r--r--pkgs/data/fonts/sil-abyssinica/default.nix4
-rw-r--r--pkgs/data/fonts/sketchybar-app-font/default.nix4
-rw-r--r--pkgs/data/fonts/source-han/default.nix70
-rw-r--r--pkgs/data/fonts/sudo/default.nix4
-rw-r--r--pkgs/data/fonts/unifont/default.nix6
-rw-r--r--pkgs/data/fonts/unifont_upper/default.nix4
-rw-r--r--[-rwxr-xr-x]pkgs/data/fonts/vazir-fonts/default.nix0
-rw-r--r--pkgs/data/fonts/whatsapp-emoji/default.nix46
34 files changed, 297 insertions, 246 deletions
diff --git a/pkgs/data/fonts/commit-mono/default.nix b/pkgs/data/fonts/commit-mono/default.nix
index d735e64296e..895e70a544b 100644
--- a/pkgs/data/fonts/commit-mono/default.nix
+++ b/pkgs/data/fonts/commit-mono/default.nix
@@ -4,11 +4,11 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "commit-mono";
-  version = "1.138";
+  version = "1.141";
 
   src = fetchzip {
-    url = "https://github.com/eigilnikolajsen/commit-mono/releases/download/${version}/CommitMono-${version}.zip";
-    sha256 = "sha256-ae2eeHh57i6d0kDMZ68aXvLGFj+rXhwg1CC8cV3ndAQ=";
+    url = "https://github.com/eigilnikolajsen/commit-mono/releases/download/v${version}/CommitMono-${version}.zip";
+    hash = "sha256-ErC4ZM17rYq+5FRW9m9nIbQOjQGTCCoNhXHxb7Swd84=";
     stripRoot = false;
   };
 
@@ -20,8 +20,8 @@ stdenvNoCC.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
-    install -Dm644 -t $out/share/fonts/opentype/ CommitMono-${version}/*.otf
-    install -Dm644 -t $out/share/fonts/truetype/ CommitMono-${version}/ttfautohint/*.ttf
+    install -Dm644 CommitMono-${version}/*.otf             -t $out/share/fonts/opentype
+    install -Dm644 CommitMono-${version}/ttfautohint/*.ttf -t $out/share/fonts/truetype
     runHook postInstall
   '';
 
diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix
index f8ffc6a2b8e..059350da7d4 100644
--- a/pkgs/data/fonts/corefonts/default.nix
+++ b/pkgs/data/fonts/corefonts/default.nix
@@ -39,9 +39,11 @@ stdenv.mkDerivation {
     cabextract --lowercase viewer1.cab
 
     # rename to more standard names
+    # handle broken macOS file-system
     mv andalemo.ttf  Andale_Mono.ttf
     mv ariblk.ttf    Arial_Black.ttf
-    mv arial.ttf     Arial.ttf
+    mv arial.ttf     Arial.ttf.tmp
+    mv Arial.ttf.tmp Arial.ttf
     mv arialbd.ttf   Arial_Bold.ttf
     mv arialbi.ttf   Arial_Bold_Italic.ttf
     mv ariali.ttf    Arial_Italic.ttf
@@ -51,12 +53,15 @@ stdenv.mkDerivation {
     mv courbd.ttf    Courier_New_Bold.ttf
     mv couri.ttf     Courier_New_Italic.ttf
     mv courbi.ttf    Courier_New_Bold_Italic.ttf
-    mv georgia.ttf   Georgia.ttf
+    mv georgia.ttf   Georgia.ttf.tmp
+    mv Georgia.ttf.tmp   Georgia.ttf
     mv georgiab.ttf  Georgia_Bold.ttf
     mv georgiai.ttf  Georgia_Italic.ttf
     mv georgiaz.ttf  Georgia_Bold_Italic.ttf
-    mv impact.ttf    Impact.ttf
-    mv tahoma.ttf    Tahoma.ttf
+    mv impact.ttf    Impact.ttf.tmp
+    mv Impact.ttf.tmp    Impact.ttf
+    mv tahoma.ttf    Tahoma.ttf.tmp
+    mv Tahoma.ttf.tmp    Tahoma.ttf
     mv times.ttf     Times_New_Roman.ttf
     mv timesbd.ttf   Times_New_Roman_Bold.ttf
     mv timesbi.ttf   Times_New_Roman_Bold_Italic.ttf
@@ -65,11 +70,13 @@ stdenv.mkDerivation {
     mv trebucbd.ttf  Trebuchet_MS_Bold.ttf
     mv trebucit.ttf  Trebuchet_MS_Italic.ttf
     mv trebucbi.ttf  Trebuchet_MS_Italic.ttf
-    mv verdana.ttf   Verdana.ttf
+    mv verdana.ttf   Verdana.ttf.tmp
+    mv Verdana.ttf.tmp   Verdana.ttf
     mv verdanab.ttf  Verdana_Bold.ttf
     mv verdanai.ttf  Verdana_Italic.ttf
     mv verdanaz.ttf  Verdana_Bold_Italic.ttf
-    mv webdings.ttf  Webdings.ttf
+    mv webdings.ttf  Webdings.ttf.tmp
+    mv Webdings.ttf.tmp  Webdings.ttf
 
     install -m444 -Dt $out/share/fonts/truetype *.ttf
 
diff --git a/pkgs/data/fonts/curie/default.nix b/pkgs/data/fonts/curie/default.nix
index 4f3ab7eb013..5e8195211b0 100644
--- a/pkgs/data/fonts/curie/default.nix
+++ b/pkgs/data/fonts/curie/default.nix
@@ -25,6 +25,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/NerdyPepper/curie";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/pkgs/data/fonts/edwin/default.nix b/pkgs/data/fonts/edwin/default.nix
index 41926ac1b67..2ccb44d45d2 100644
--- a/pkgs/data/fonts/edwin/default.nix
+++ b/pkgs/data/fonts/edwin/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/MuseScoreFonts/Edwin";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/pkgs/data/fonts/fg-virgil/default.nix b/pkgs/data/fonts/fg-virgil/default.nix
new file mode 100644
index 00000000000..fdf83df42e0
--- /dev/null
+++ b/pkgs/data/fonts/fg-virgil/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "fg-virgil";
+  version = "0.16.1";
+
+  src = fetchFromGitHub {
+    owner = "excalidraw";
+    repo = "excalidraw";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-iziCCHacaShPqb0f5nI8cCinFFs5fB3TcMJrifNhg4I=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m 444 public/Virgil.woff2 -t $out/share/fonts/woff2
+    install -D -m 444 public/FG_Virgil.woff2 -t $out/share/fonts/woff2
+    install -D -m 444 public/FG_Virgil.ttf -t $out/share/fonts/ttf
+
+    runHook postInstall
+  '';
+
+  meta = {
+    homepage = "https://github.com/excalidraw/virgil";
+    description = "The font that powers Excalidraw";
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ drupol ];
+    license = lib.licenses.ofl;
+  };
+})
diff --git a/pkgs/data/fonts/fixedsys-excelsior/default.nix b/pkgs/data/fonts/fixedsys-excelsior/default.nix
index 53592152a33..dec1ea062bb 100644
--- a/pkgs/data/fonts/fixedsys-excelsior/default.nix
+++ b/pkgs/data/fonts/fixedsys-excelsior/default.nix
@@ -24,6 +24,6 @@ stdenvNoCC.mkDerivation rec {
     description = "Pan-unicode version of Fixedsys, a classic DOS font";
     platforms = lib.platforms.all;
     license = lib.licenses.publicDomain;
-    maintainers = [ lib.maintainers.ninjatrappeur ];
+    maintainers = [ lib.maintainers.picnoir ];
   };
 }
diff --git a/pkgs/data/fonts/font-awesome/default.nix b/pkgs/data/fonts/font-awesome/default.nix
index a6f748f2f07..dfc808971b6 100644
--- a/pkgs/data/fonts/font-awesome/default.nix
+++ b/pkgs/data/fonts/font-awesome/default.nix
@@ -44,11 +44,11 @@ in
     hash = "sha256-LL9zWFC+76wH74nqKszPQf2ZDfXq8BiH6tuiK43wYHA=";
   };
   v5 = font-awesome {
-    version = "5.15.3";
-    hash = "sha256-CFXGsl70o/gXUCEKu8Wkv4EBRhrrcMIq8NpfWzcxEus=";
+    version = "5.15.4";
+    hash = "sha256-gd23ZplNY56sm1lfkU3kPXUOmNmY5SRnT0qlQZRNuBo=";
   };
   v6 = font-awesome {
-    version = "6.1.1";
-    hash = "sha256-rujqhKI33Pi2xugMKGoTJDkPkCDK407+Da6yNJP2yAc=";
+    version = "6.4.2";
+    hash = "sha256-/utIhn7CWxlWXshcCUj57WuObRmLTGhTfQo7L6FDHqA=";
   };
 }
diff --git a/pkgs/data/fonts/google-fonts/default.nix b/pkgs/data/fonts/google-fonts/default.nix
index 4503b09354a..d0f05516680 100644
--- a/pkgs/data/fonts/google-fonts/default.nix
+++ b/pkgs/data/fonts/google-fonts/default.nix
@@ -6,7 +6,7 @@
 
 stdenvNoCC.mkDerivation {
   pname = "google-fonts";
-  version = "unstable-2022-11-14";
+  version = "unstable-2023-10-20";
 
   # Adobe Blank is split out in a separate output,
   # because it causes crashes with `libfontconfig`.
@@ -16,8 +16,8 @@ stdenvNoCC.mkDerivation {
   src = fetchFromGitHub {
     owner = "google";
     repo = "fonts";
-    rev = "83e116a566eda04a2469a11ee562cef1d7b33e4f";
-    sha256 = "sha256-sSabk+VWkoXj1Nzv9ufgIU/nkfKf4XkZU1SO+j+eSPA=";
+    rev = "990be3ed8f77e31c26bf07b148d6a74b8e6241cf";
+    sha256 = "sha256-ffLXzaniHkWxGQpvlJpiO6/SAdbI3FONgTaq8Xu+WY0=";
   };
 
   postPatch = ''
@@ -29,6 +29,7 @@ stdenvNoCC.mkDerivation {
     rm -rv ofl/cabincondensed \
       ofl/signikanegative \
       ofl/signikanegativesc \
+      ofl/*_todelist \
       axisregistry/tests/data
 
     if find . -name "*.ttf" | sed 's|.*/||' | sort | uniq -c | sort -n | grep -v '^.*1 '; then
@@ -67,5 +68,6 @@ stdenvNoCC.mkDerivation {
     platforms = platforms.all;
     hydraPlatforms = [];
     maintainers = with maintainers; [ manveru ];
+    sourceProvenance = [ sourceTypes.binaryBytecode ];
   };
 }
diff --git a/pkgs/data/fonts/intel-one-mono/default.nix b/pkgs/data/fonts/intel-one-mono/default.nix
index 1708534c637..f9876e8f0a2 100644
--- a/pkgs/data/fonts/intel-one-mono/default.nix
+++ b/pkgs/data/fonts/intel-one-mono/default.nix
@@ -2,16 +2,16 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "intel-one-mono";
-  version = "1.2.1";
+  version = "1.3.0";
 
   srcs = [
     (fetchurl {
       url = "https://github.com/intel/intel-one-mono/releases/download/V${finalAttrs.version}/otf.zip";
-      hash = "sha256-RBJwIUkmAZIRaIEWUxFZlRMfFTUFdLbHCMRkagU0gU0=";
+      hash = "sha256-iZIfkXH+GplVwES4LaQBIaCWs7OKmEto9J2SpzvagSs=";
     })
     (fetchurl {
       url = "https://github.com/intel/intel-one-mono/releases/download/V${finalAttrs.version}/ttf.zip";
-      hash = "sha256-DV/PT+P+GGq/ejS5cx5ENuCy+iiE32AMOirwuTCP3vY=";
+      hash = "sha256-EeUTEMuoTHKmuO5Uj0jjiDRF9t7jxbIy45nTWozlgfc=";
     })
   ];
 
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index dc7d132884c..5d2be4826f4 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "27.0.1";
+  version = "27.3.1";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
@@ -33,7 +33,6 @@ in stdenv.mkDerivation rec {
   meta = {
     inherit (iosevka.meta) homepage downloadPage description license platforms;
     maintainers = with lib.maintainers; [
-      cstrahan
       montchr
     ];
   };
diff --git a/pkgs/data/fonts/iosevka/comfy.nix b/pkgs/data/fonts/iosevka/comfy.nix
index fbe2f9533ba..fb788b28763 100644
--- a/pkgs/data/fonts/iosevka/comfy.nix
+++ b/pkgs/data/fonts/iosevka/comfy.nix
@@ -1,4 +1,4 @@
-{ lib, iosevka, fetchFromSourcehut, fetchFromGitHub, buildNpmPackage }:
+{ lib, iosevka, fetchFromGitHub, buildNpmPackage }:
 
 let
   sets = [
@@ -20,17 +20,17 @@ let
     "comfy-wide-motion-fixed" # Slab   | Wide    | Monospaced | No        |
     "comfy-wide-motion-duo"   # Slab   | Wide    | Duospaced  | Yes       |
   ];
-  version = "1.3.0";
-  src = fetchFromSourcehut {
-    owner = "~protesilaos";
+  version = "1.4.0";
+  src = fetchFromGitHub {
+    owner = "protesilaos";
     repo = "iosevka-comfy";
     rev = version;
-    sha256 = "sha256-ajzUbobNf+Je8ls9htOCLPsB0OPSiqZzrc8bO6hQvio=";
+    sha256 = "sha256-kfEEJ6F1/dsG9CSLWcr0QOOnQxHPgPgb4QhgFrHTklE=";
   };
   privateBuildPlan = src.outPath + "/private-build-plans.toml";
   makeIosevkaFont = set:
     let superBuildNpmPackage = buildNpmPackage; in
-    (iosevka.override rec {
+    (iosevka.override {
       inherit set privateBuildPlan;
       buildNpmPackage = args: superBuildNpmPackage
         (args // {
@@ -39,11 +39,11 @@ let
           src = fetchFromGitHub {
             owner = "be5invis";
             repo = "iosevka";
-            rev = "7ef24b8d87fe50793444f9f84b140767f7e47029";
-            hash = "sha256-RVBgJVMNyxV1KeNniwySsJUOmLDh6sFZju8szvzKlH4=";
+            rev = "f6e57fbf0b1242ad3069d45c815d79b9d68871a2";
+            hash = "sha256-cS3SCKzUjVXF+n0Rt5eBLzieATB7W+hwEbzh6OQrMo4=";
           };
 
-          npmDepsHash = "sha256-yogUBf+yfjfK8DE4gGgoGaTaYZagW8R1pCn7y0rEPt4=";
+          npmDepsHash = "sha256-c+ltdh5e3+idclYfqp0Xh9IUwoj7XYP1uzJG6+a5gFU=";
 
           meta = with lib; {
             inherit (src.meta) homepage;
diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix
index 83dca924516..04f89b6d2a1 100644
--- a/pkgs/data/fonts/iosevka/default.nix
+++ b/pkgs/data/fonts/iosevka/default.nix
@@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
 
 buildNpmPackage rec {
   pname = if set != null then "iosevka-${set}" else "iosevka";
-  version = "27.0.0";
+  version = "27.3.5";
 
   src = fetchFromGitHub {
     owner = "be5invis";
     repo = "iosevka";
     rev = "v${version}";
-    hash = "sha256-LXQ7F+hEsPfve9yKEYav1O+ZN7uZqK8YmMT0Pr5FQpc=";
+    hash = "sha256-dqXr/MVOuEmAMueaRWsnzY9MabhnyBRtLR9IDVLN79I=";
   };
 
-  npmDepsHash = "sha256-SAdKtX+BuU0/me4ECzrKLRJRW6LzGZO2ehAB9iWRVF8=";
+  npmDepsHash = "sha256-bux8aFBP1Pi5pAQY1jkNTqD2Ny2j+QQs+QRaXWJj6xg=";
 
   nativeBuildInputs = [
     remarshal
@@ -136,7 +136,6 @@ buildNpmPackage rec {
     license = licenses.ofl;
     platforms = platforms.all;
     maintainers = with maintainers; [
-      cstrahan
       jfrankenau
       ttuegel
       babariviere
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 6b3d3d53c82..4035a0961a2 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "131bxglkns15zan0xzk8k781458ig34jijzp0k27wdpw8dgblykh";
-  iosevka-aile = "0xyxjj3kr0sb8s40kl1lyzmkd18w2m4qnarfbrssxcbafgs6hd3f";
-  iosevka-curly = "0vgmynf2d2b0vxvksgsiss02was60zb7bavrffddh3fklrarkil8";
-  iosevka-curly-slab = "1gg95wccw82v7xdgibajmf312lw1c8bdpk3jl1vvp4xmig06gnfs";
-  iosevka-etoile = "1k928f9mj1fyjwxmn5iddb0p067mji408va96hcm7wy396gmh40j";
-  iosevka-slab = "06kl8y0jpbirdpx7ga09icdsjp9x3hm1552h5sq4wgy8m2prlvja";
-  iosevka-ss01 = "18dywa48mhfzaf3y4vq8509fk9sff1w7ddda6ldglvba15qj56q8";
-  iosevka-ss02 = "0f1iqbvdrdvlk6z0mykm1f095jljni9xkbkc5pnxz5ahv6lxmx6g";
-  iosevka-ss03 = "0bd50by3zlbph859g2fw5ly4lv8ywv4x1qmf1ja5ay02g5b41ail";
-  iosevka-ss04 = "0gxfma9fl6q49i6ymk84a7pz4r4wnik0ixccx478i2pdbbmyvads";
-  iosevka-ss05 = "0ms52v7y5sj579hghj8gc9rl736lpymslpbs3lfkx5p26kxwk3ny";
-  iosevka-ss06 = "0qky2yplvfln3nhclbfzdl6hn0pyjra43by8pwqzx43ai87sz4rl";
-  iosevka-ss07 = "17d0m773plnd3v8sj5j9sb5mb9qnqjnii43r0md8f0iwa3icp406";
-  iosevka-ss08 = "1rx7jv8hhy55gajx4y2741zbrl212qgx7lslgd8y924gxspkfaxq";
-  iosevka-ss09 = "1mz4sc7qn3nmq7l7cm3lh0i1pysqzns8pmqa9a7l6c8llzk8n9xa";
-  iosevka-ss10 = "1z5wa5ja205z3zyw1jdw9l59fzvfw1bifvqn9qxlnbjrkrn5kdsf";
-  iosevka-ss11 = "1lhw4ynk3wxp7bl4w2hg4vydj4y64nhi5cxn8mvamv9j7qqjyfdm";
-  iosevka-ss12 = "1gya74qfzql3y2j820yihy5hhm9hqf7ip7qnv9mhdymwzpc5swb2";
-  iosevka-ss13 = "0rr3nwwwvwh9q6fpkzxlxxw21gp8zsd611kx9m5igb6yx6wmm9z7";
-  iosevka-ss14 = "0p7wha20va30834z2y55s89g00z19587bbv7z6id64lvdwyki3fk";
-  iosevka-ss15 = "1bq707bkp5zyhjwdzadv9aaf8xnnxlzrqircgm56xbdc6j1y3zj2";
-  iosevka-ss16 = "03pb7hr5ncvlsmg48xasycsmcqwwy831xq7f747pzn0pvfbpzbcm";
-  iosevka-ss17 = "1scbnvd6wj9cm6ahxw5qa4cnq6ld118kmlzmd73fqram3l9m3w06";
-  iosevka-ss18 = "0xq9cypwdpg13s7swvhhiazkw8fpsf85c8salbg4wp8j1lq6lcrm";
-  sgr-iosevka = "1ha7n2liqkxlwiaz5r1zxv5ivchiyqrlahwd7w90w1z5sqwzmy3p";
-  sgr-iosevka-aile = "0cp9nj3z9kc3fax1z0zrv3x725pl2m5w7sfz0idpfaiwa0593n10";
-  sgr-iosevka-curly = "1lygvbjrg8lzbrqx7yznpc89r37farkk00dxnwjvc2v8r9796lv5";
-  sgr-iosevka-curly-slab = "0cz3wsldvsqyq3lxm579zimch118pr5cbvgyq6x4437nykk0jm9c";
-  sgr-iosevka-etoile = "0zxnpk0i8qkk8cq49sb2c6lr08j1y3pdj2560qcs7l64q4fzzr1v";
-  sgr-iosevka-fixed = "08ha4khxz8pskj051hjv3rvzlg6ry3gxwlc2q1ajf2j4viyw8245";
-  sgr-iosevka-fixed-curly = "1v4isscbgc6qya41znfnglply9rj7q6rmvn260r4rbj2hx99j5wy";
-  sgr-iosevka-fixed-curly-slab = "0smw0anc9rljarr4c4szvyjbd0ajj7pl001pi69cjpx0xb8zrcsz";
-  sgr-iosevka-fixed-slab = "0iffpdk35dkvczarn4y778k23rdicl0yr613w3z3alx1sajg02q4";
-  sgr-iosevka-fixed-ss01 = "056xmr3688lhpvbn2sqii1p8py6smkpar6jl5bls529cmd8zcfwi";
-  sgr-iosevka-fixed-ss02 = "0qrirgskr8xmcrbi3xvskb29xlq4sxhr67grin5m957nckqi257f";
-  sgr-iosevka-fixed-ss03 = "12hxqax5b02iswpwmfv1kp08gdcxjijsl3a6fwl2gm2ciwvhc4mj";
-  sgr-iosevka-fixed-ss04 = "0xlgxsrirkrwy0rrgiib5ahsqv9kcnfckcb02gkdn4w3bhlkydbr";
-  sgr-iosevka-fixed-ss05 = "1v2a97kw5zpw8q46v59jsmm7y4s4b1ksfk3kjnm92c8vbysmkm1z";
-  sgr-iosevka-fixed-ss06 = "1z3xb2jvgjg58kjipsvjkcc5pfsqs4pd86hvkjfbng2jjl0lvcjl";
-  sgr-iosevka-fixed-ss07 = "1g2fzzylj0g4bz9zrf9mj42h0wrwg27zdq0njgj78wp4fspmllrl";
-  sgr-iosevka-fixed-ss08 = "0qb8x8rxyq13yrv62hw7vx8bvl4nwdzdharxf6c34njsg0nafnw0";
-  sgr-iosevka-fixed-ss09 = "07dhlnh3ismw8ixdnw73xam0jji6kha5h10cqjl3jbqxlghdm873";
-  sgr-iosevka-fixed-ss10 = "0gas1ms88cd5fqajqa89vn87pnqlpy2kry418arwy9c3h5fpdw70";
-  sgr-iosevka-fixed-ss11 = "15zpzv45m5fc7vb2apz6jywc0ip0ykxzb16qdj8qf8j4rq0ajyw0";
-  sgr-iosevka-fixed-ss12 = "00pj11pkhkv72223mv0bhdj0qqv13ywc0gmdkfnmd9cbl0ml1yk8";
-  sgr-iosevka-fixed-ss13 = "1c6qffagjn3qy87gszh0cfm2xz3bnyz8gf4aqbpxyjg55abd1jx0";
-  sgr-iosevka-fixed-ss14 = "1pixg3sjaqc7m1nxcs5alczkk3axhscbgl3x599d5by02z7m1pxq";
-  sgr-iosevka-fixed-ss15 = "0x0k5i3pd4dhbkpb427lmayrvj6bbbr3gp262asckhcsq093wh7c";
-  sgr-iosevka-fixed-ss16 = "0rgv1cl5261bfhx50bkhz8276jbshzf8sz421nmz4qpmxzdalk1p";
-  sgr-iosevka-fixed-ss17 = "1g1w7zirrl9gjky8nbgbh9qjdq03r6sdh9hxcli1wz5qv09zwmh0";
-  sgr-iosevka-fixed-ss18 = "1igfnc9gl5wa06qaw3pisq4ppvd5nwzlh2f34r3xrzmiak9ljwlc";
-  sgr-iosevka-slab = "17mpfvcf4wa2kql8024pdmdf23qm17ch9cr6s1a2pgwf0hn2b3nh";
-  sgr-iosevka-ss01 = "14chhyysy66z01jq9j3d40765sz4d0v3ivzf319clv82q80gkm92";
-  sgr-iosevka-ss02 = "1c8wdcz0f8c9jdc0nyia60m785pblvcd62ag4d329dli8fp0c4kg";
-  sgr-iosevka-ss03 = "1jhl0pcwmvwkify2fdv5ml6l26106xnphxrqn11wsvg4dln3afjl";
-  sgr-iosevka-ss04 = "1wj5nbdnb3n5vfc3y41cwbqqxnhd7p2b55qd05ij85b5a9cgsflj";
-  sgr-iosevka-ss05 = "0zw7ryr7mf7c1njfin66yycg4lalrdvhdd4ycf031qj07v5py5cn";
-  sgr-iosevka-ss06 = "1ka2l4mk0ahn4alnlhyspifg2qnm7cb3ydmndy3q249aidp58bzs";
-  sgr-iosevka-ss07 = "085ghsjwysvzqpksj95x91yz0fyzc5pfj9lhpa8li0x2wjba2jsh";
-  sgr-iosevka-ss08 = "0054z74wk3wbaj3nqnkp7h6fj0zqggnhi21wwfpq52knk8ffc00s";
-  sgr-iosevka-ss09 = "0rbmhq7qix0v4ff8x9j6cgxnjfp80ck2gfww8a7k3nld9z4dn6v8";
-  sgr-iosevka-ss10 = "1ckaiqw677fi195ah496zhhs678bc4xzh31hhwsmvp92y7mfy5na";
-  sgr-iosevka-ss11 = "0zqv2qmvp07j430vbym6552zqky04dx2bnn66r40ndjsz96g8081";
-  sgr-iosevka-ss12 = "10srsjb10qwhm9hgzm56aq58wgy3r9nrcyrvj7jq1q32s5r7jv16";
-  sgr-iosevka-ss13 = "1aaikjri6xkhg6585r6079c41iqhdr94nlismk0zcdygy3ln6vbx";
-  sgr-iosevka-ss14 = "01p421bprrsrddc0f8yxgfg0db8gxs7zgass4p8smainq3zym7v7";
-  sgr-iosevka-ss15 = "0fping8ssj32rsacj7b8a13l0jcmmhznx0phv28x76hkcwagh674";
-  sgr-iosevka-ss16 = "1nzk6hf689v7s81qi1nb7vdg2xvd7v2gv2id9xgdjbfmf3bld10j";
-  sgr-iosevka-ss17 = "01cr9bw4cfyw7i4fim1xdcj5qn2l1dzccnakbqndycmnx4k1134v";
-  sgr-iosevka-ss18 = "10i5qv9ans24mjymq9jh7i3ygdkjvr38y0xc44sn7fb5l72miz1l";
-  sgr-iosevka-term = "02qaa9g0q1d66ha5391xm2vh24hr1vjqw6h6j05a9z2a0y712j71";
-  sgr-iosevka-term-curly = "1xjv9n7dimrsn0dcz9jz6p810bdx7bhcrwnh6m5mvxcf7bpj8341";
-  sgr-iosevka-term-curly-slab = "0sbj3s6ig6410092lsls7mq7h98cipmnabd1fcqxn6dszvhqq6q9";
-  sgr-iosevka-term-slab = "101m8cgjr6s8c42xas2dqyzbl44ab0y1s4cx1rqr8bgr5zxp3jsc";
-  sgr-iosevka-term-ss01 = "0b0i2gs1cv45b5ki8lgiclrly1sg2kh3r82gqbsh4scijv3md9m1";
-  sgr-iosevka-term-ss02 = "0vsldgiscl74jmj55mzqg5zz5pbg6f2fqksfyfyjdps5f584dqq7";
-  sgr-iosevka-term-ss03 = "10czljsmga2nvjix9lca84p271hx2i612984b2hbcz8cip4v2my6";
-  sgr-iosevka-term-ss04 = "06fwjgkqmhngnsljklxz2ab9dpr4sqhn8pxrkhhqka4r5srpn454";
-  sgr-iosevka-term-ss05 = "0lk1k89kjr7ld3bh8pcc8gagjgxv90bwgsgjmn7gqq7nj0kknh4j";
-  sgr-iosevka-term-ss06 = "1apfrkfxq8xbc8hry7x5l8bx87zv13asyw03hirrvzvqrl6q76lw";
-  sgr-iosevka-term-ss07 = "05rvnm17f7qgy4zq3chp12dqvdxwvfv7rld7axccyikqh3b63kn8";
-  sgr-iosevka-term-ss08 = "1y0n2dl6vknvpxhn5d2zsnjj2vgpd9saqs0kmvlbd7lpjsz8d7i0";
-  sgr-iosevka-term-ss09 = "0qkn7syk2wrk14nhwnkbbavsi518pi7qzppiq56y5z1l119dwhrg";
-  sgr-iosevka-term-ss10 = "04b78kk5mggb5xdpigkbkgvcl9q5v41mpx466isqwgxa3p6bp2b4";
-  sgr-iosevka-term-ss11 = "01wsf0qbybnw3bg7iy6yigamg31dhvl6k1gb8jsg4ylllpy7aip3";
-  sgr-iosevka-term-ss12 = "079sbibpsa3xvp8v0pdcacfpck4s01xkczbrbzpnrwiha4b5dqj4";
-  sgr-iosevka-term-ss13 = "1py76ly8wppb0q05mhv91q2x7slidwbbycm86q225yx8hgl0wjdi";
-  sgr-iosevka-term-ss14 = "0sq49yvl03w56dzxpzvfr18bah964g93fg42n31q5bbybmgykd8j";
-  sgr-iosevka-term-ss15 = "0x8kksl8k7zj0hh0fjlqmc5g2jwzdl8ylx6ljzdhfs6y9kdgf04r";
-  sgr-iosevka-term-ss16 = "1kh0m87j4nghgpixh213zs8b626yy5vbmjd4ng17jvvdj98faxzn";
-  sgr-iosevka-term-ss17 = "14rwlw0y8fv7ykyvxhpdhzycmi3j0zx3zrsvph61mnsk33p05vb9";
-  sgr-iosevka-term-ss18 = "19m3f6sgn8ivdhy7nagym6c0nwfd9yyqjdn6q6lxd8hp751jzlf9";
+  iosevka = "0l14c39r68x14maw9hyiqd0lqz7q2pq4drw68i0j4jwa58l0r2x1";
+  iosevka-aile = "1pl59kga3ab2jm3y4lh0lqp9nqjggykqrpnh27s99abkf5cvgkzr";
+  iosevka-curly = "1nv3r2c2zj9y3zgaa2r8s0w4l28a3pzkyvcm1br650mb4l469j6c";
+  iosevka-curly-slab = "1ik3affc11w0q3xjrm9pdpzp6hdq9623f1nhsbc4ih5980mvki0j";
+  iosevka-etoile = "16fsysywpf7zdkl0sszi5im42idlmxl273ml0zs9dajd5zdwhm08";
+  iosevka-slab = "1xksbmzzfp6mnd90nfnqyg02ps36makrcr311l1xcl9v4drcnsiq";
+  iosevka-ss01 = "1pzl1adnbi4m2bi4p754k82viqksxjd39q5sqljjrs60p5mwxbw6";
+  iosevka-ss02 = "0r1vrg6b6c4ixw0fzi4g3q7c1hah2szw2rv5gkqmdg0kiw6sddl1";
+  iosevka-ss03 = "0rg6hb0xjzmf8s410x7v5m1pv246p1xfxfggw4lhs19h6f7jcy0v";
+  iosevka-ss04 = "1690xgfyk6gqxwx70dsvq5ba7vf5906pf1qrrd916fkg2a28fxxp";
+  iosevka-ss05 = "1zbiq0hczg2dhld82nyw7x6rkh6y812cvawqqpjmhzxjhd2wn6hv";
+  iosevka-ss06 = "0290w7812pqlix1zmpanksbinzkzv6gw0y5k5dvaf4jrg5c3163m";
+  iosevka-ss07 = "0z7irkdcwwxpj52a6j1b4s1xz9nlib6jm66fxva7pqd9dhsjp1ph";
+  iosevka-ss08 = "1jd12mjcnjs6md3lj182ph9zlb66cmmm2cz49fwdxpx54laawn3i";
+  iosevka-ss09 = "0zggxrk2a315rzz684c06pk0vmp9cw5bcn9zkh61hcn0mii10xdv";
+  iosevka-ss10 = "14mshgnpq5sn4z81a8cwsq6hjarlrmwfqyhkyzcmqymi6gyljs6k";
+  iosevka-ss11 = "14p8fbvd4b4vddnmydyn0v5iffkq1s15pdxpmmwl2aplxnrgshiy";
+  iosevka-ss12 = "1r2p1f0mdkx7sqkv29gdpq78c905gcc7kfbr8l907awhv80fzsgg";
+  iosevka-ss13 = "0ara2w4zav48rk019hnhr3fq8kqzzvlgshq18cq5gralbcgjw883";
+  iosevka-ss14 = "1yqmm13bafrz7siq7q95921ipn3p6ms3dmsxn5zbcmm3pdxxyq1c";
+  iosevka-ss15 = "1y84vzqpwa060q3qrxc77kk3hnrgyjqwwxq4s9fq8hww9d01jb5d";
+  iosevka-ss16 = "0cszx4s3bi9j5l46sh33dkn9cqn9s7v6rk23d4srlfg19bfs19ga";
+  iosevka-ss17 = "0ld6pr8rx1ldszgdd2ixmfj341ry9ajfcpk6k1f9jmfilp4cjnzr";
+  iosevka-ss18 = "19787429v0am3qsjyxlgqwbkn50s54w26481h46ybn7nrskgxl7a";
+  sgr-iosevka = "1i5zg7wwyczf2ljxjvwk4n75j1nvn6wavc3w1zycfcgim458x8s6";
+  sgr-iosevka-aile = "0m0imj778l6zb4y5kb882z4f6abw6q1ww0d8fn4vyqk2csm3kx9v";
+  sgr-iosevka-curly = "071jpj9cj56hszqjy5cmj40gq6n47fp117ckypi0npk6cvrvrl7a";
+  sgr-iosevka-curly-slab = "1f33iy0nrkm76alyzs7bjdfvc7c4j7cqrzrk769y40wx68l5sbji";
+  sgr-iosevka-etoile = "19rgrrk4p9k94s887vv2kqb7zj1wjh5kjncalzbisjpv8ns6l3qq";
+  sgr-iosevka-fixed = "03ccy1f8hswslr7n9dhj9l3zvfkahqi742giim34f360f5chpmdi";
+  sgr-iosevka-fixed-curly = "14czka86s0yj1h0mq4ajn5yx1lnb9l3hp9yw8h558dy8hf6xk9pi";
+  sgr-iosevka-fixed-curly-slab = "1i0hjw0121l83znyfq3zl0z1pl4p57yf2qqrp35qqp0vpsxnjlcy";
+  sgr-iosevka-fixed-slab = "1cz1lj2qa8yiwbxpk3c6hdkgg44q9019yai3iz0c17gw8vwj6xxh";
+  sgr-iosevka-fixed-ss01 = "1966jyi9j01s094kz1k67ds4k4z1sfahwfxsasi59bc4r5srq3p7";
+  sgr-iosevka-fixed-ss02 = "1l08id1p2z2m8vrprlrg0rphspbz17lnc1l483wadffbfrlqrhpr";
+  sgr-iosevka-fixed-ss03 = "0g98s0w2lvskq9fyh47b8rx7rha24k4vzza9svl25kx55ixznzjm";
+  sgr-iosevka-fixed-ss04 = "0wjq34b6xv17ma75lysmwfqxyp57zr0h9hrxyl9c6sgdmlvf7jqx";
+  sgr-iosevka-fixed-ss05 = "080i32z64y9dm19fagc5jh3gkynbim0w03i42bc19im07ryyq79h";
+  sgr-iosevka-fixed-ss06 = "17ggkvz3y17zqkn1m864vgqbc5zvn63gsh39n4w1p9wi9v360984";
+  sgr-iosevka-fixed-ss07 = "1nazbkhr46larr0hgxwx2h5zvi9yr3qlg2npnmpprwqrhvlvlpah";
+  sgr-iosevka-fixed-ss08 = "08i420lx329py3slc99r73hysdnjbc12nm15fs17f505c2zj7war";
+  sgr-iosevka-fixed-ss09 = "0zc9wmxjrpzss7cdczg6af6sckdr22k0q9gj90hggyyjlc08cvz0";
+  sgr-iosevka-fixed-ss10 = "15qzf9zir1rqfpfspkgy9azf6m73lgpl79xhidf47hkvcw9zxjr7";
+  sgr-iosevka-fixed-ss11 = "1z6kji0h5vb3my47h2ccdl2vafh58pyqwp83yy3xgsvsj2qd0835";
+  sgr-iosevka-fixed-ss12 = "0wyk8kyllm35wlsqkxgh3sxvn3f52w7kicq64hdax8k8piaj584x";
+  sgr-iosevka-fixed-ss13 = "052jrfqwi4qbs9k9mqmdk2s82qb8q6175ajy3f6186grnzd73nnq";
+  sgr-iosevka-fixed-ss14 = "0wba9g5q8h5n5c50rncbbkbkc06xs9zxydxz1b0a6dl37drgmvkf";
+  sgr-iosevka-fixed-ss15 = "1kds5pl4vxcniksfp4mslpfr0ba30m754w7vxvzvqamgazmyf0pp";
+  sgr-iosevka-fixed-ss16 = "12hb9laxbhkbgf2rnbzq7zwwl7bg3n3n2yyjlr3vlsik5kd7aznz";
+  sgr-iosevka-fixed-ss17 = "18rvf78xif6p06nzha9nvp725f6mr79f1rk0a6n7ifh1ygdy4lvx";
+  sgr-iosevka-fixed-ss18 = "019gzj9s3wh3i9bxalazx9x8nfljf191idh6ygxpqjz4z3yzxh9n";
+  sgr-iosevka-slab = "0l9bcvrfbxp0pi3hj3zlirq800h63dyqf8dy307r7xg8m3l48xgr";
+  sgr-iosevka-ss01 = "1rb49rx12vgdjvkbyyg63pmxbwqd4v5cfvn5q3k2q4w5m3yhsbm9";
+  sgr-iosevka-ss02 = "07xz0iayqk2hqalmrj8c7kp8b80d6qgazrxwvs22y8nymignzq2s";
+  sgr-iosevka-ss03 = "0skq1kqmkwhs9d1p0lpksxqdgvpjz2krlfqa7idq1sdykpwsvmhi";
+  sgr-iosevka-ss04 = "0cgjh4c3vmmcgb43g0l2dmwcwnwwwqkrr80b9rsbrx43v6lkavda";
+  sgr-iosevka-ss05 = "16y8rm0byaf2xqh31h4vfan6il2m98a225nv3vsb7f42ga185vw0";
+  sgr-iosevka-ss06 = "0v9nd1h0gzgwa5sw9lrxvd5g77y9wn3fqsw86ivpsqn1vmgpqrzq";
+  sgr-iosevka-ss07 = "1h49qx02kn683ax3vh090r7fwlq7ya802zywcws2b9h2hs6p799x";
+  sgr-iosevka-ss08 = "1zk08x7chnj1ach4ghh26kr9kndzlgzzsrrw9aa3f0s7qk1lx2yg";
+  sgr-iosevka-ss09 = "12mrzd7viia71r9ixw1bzsqfaycxpl8zf20qv83ndbjsgzxh9ary";
+  sgr-iosevka-ss10 = "1cq8ii94jdskd0p5g2iigprbzzs3qnjxj7m2rkhl8mricwxdxxs4";
+  sgr-iosevka-ss11 = "1wmzaqcy0xy831010fsdhlm3aly2j01j7z10ka83ga3h8ymg1wla";
+  sgr-iosevka-ss12 = "00xfyvf50ykippnr1cfxy17s0k0gqkgx61vf7x9dmsgl2y6qigpl";
+  sgr-iosevka-ss13 = "0ynmx67c96qslzggjign8g3q7k11ny0mdrdwa7zwi2p0mm61n2jd";
+  sgr-iosevka-ss14 = "19s3a6csc4wq4cjjc2qll8fv00hmzsp5z7hwaq09wls8swz5kmmq";
+  sgr-iosevka-ss15 = "0d8ljkjcf0y263lwpnlh07305k6xlznk9gysk63dhcyxv0ajhrq1";
+  sgr-iosevka-ss16 = "12jbanrv31zxkh5a3a4w2wv0gqvj03mcs7v0zpnylp8jgfmpf8qa";
+  sgr-iosevka-ss17 = "1p088x66grn9bs4k1y6mxb0ka4y4vm74v6nbm74qsarjbyc0kx0a";
+  sgr-iosevka-ss18 = "0ff8lnhhgknj2sq40fkx7pqmiklnjl9ryjrnjcjviwzvs2dgzbmh";
+  sgr-iosevka-term = "0ny2p3hmzwbmzwxr8k1hbv0r3fqwngnz6kind1p3yddrqz8l5rrz";
+  sgr-iosevka-term-curly = "0qdys5q9fw273q58yvs71kqhal2mrh1400kf33mjp80pm1dy0j5j";
+  sgr-iosevka-term-curly-slab = "1bfn60arcb78lllf1lpdi2gscazvy3k9irp3ik0x12qdf9jgzgw0";
+  sgr-iosevka-term-slab = "1grdywa132zl3m5vf7w47lq7wgk6p5n8nab6rgg7pim839f1cn9q";
+  sgr-iosevka-term-ss01 = "14an4f8gm741zz22g854zxbfys2z33sf20kjrlzdp239376k72b7";
+  sgr-iosevka-term-ss02 = "0lqzcn4ykvkvylnlp4c1cfcl72hy3i18q15zng79d8v439w7cbds";
+  sgr-iosevka-term-ss03 = "0kmfmdv5rvfgm8p85dcqb28fsmkwsrgpjkjh1n787nvd2vs96l23";
+  sgr-iosevka-term-ss04 = "0p6hspr95p8hxas05rgp2dq00425i7nnz3nbyfrv4mnjzj66ir60";
+  sgr-iosevka-term-ss05 = "0izgz7rgjivzzvqywj3d2gma2sh83nhvc4scb7x3cbwwkzg9m5jx";
+  sgr-iosevka-term-ss06 = "0syp2mqnqq2gs4zsa3vvx0yz7pa23s995jc8sjrh01la6kpdk332";
+  sgr-iosevka-term-ss07 = "0dzfrw30aych0a0ic643w11ww42rncgyzvm5fkgqnkj1zjsdpgsw";
+  sgr-iosevka-term-ss08 = "0d9b2rwcdpwbdlsyjcd3qd0pip9km4hg9ihjymsi3xj7bihd0wp5";
+  sgr-iosevka-term-ss09 = "06bbj7c99wpjfh7ib7990nayxvbwy69ijlrjbi2mj45pm5i5lswq";
+  sgr-iosevka-term-ss10 = "1i6cfzgbnga999851k7gg6b5awq1i9253fz8sngsb6b34c45zw5c";
+  sgr-iosevka-term-ss11 = "1jb4lg0cjwv8xvhc5j9qp921zawgp2say6dnj6zncv0ys0rs6qwm";
+  sgr-iosevka-term-ss12 = "01w3vj7pw0714r6xp4rq5rlirch9h2d22mk76hsnqb0igzhlkvhy";
+  sgr-iosevka-term-ss13 = "0ywjr4j31v31z1cvvz7jvn7mcj2zhdpgljmvsfvix1j26cy5lr95";
+  sgr-iosevka-term-ss14 = "1cxsxriayzvrxzr3i6k6dwq08ywl9dk78iz4jqgy5jvrh942km0w";
+  sgr-iosevka-term-ss15 = "0j6rvsww2783hrdca3hfvv02s2whswwld7icf0bijdb3p799qi6w";
+  sgr-iosevka-term-ss16 = "0hgi40g030s1ylnp1whxz47wg2lzzqwhblx894dzz7rpnwbgff38";
+  sgr-iosevka-term-ss17 = "0hbdhc3z75n814r2xffnw6lnkwc31p0fmrvsan3z0db35c5kz54i";
+  sgr-iosevka-term-ss18 = "18c3i4l4j9wi7rx191hzmhlc8zblyqpx7bhq9g2lxs9asp8svqsa";
 }
diff --git a/pkgs/data/fonts/iwona/default.nix b/pkgs/data/fonts/iwona/default.nix
index 0d3944b2da1..df5569f5379 100644
--- a/pkgs/data/fonts/iwona/default.nix
+++ b/pkgs/data/fonts/iwona/default.nix
@@ -1,10 +1,9 @@
 { lib, stdenvNoCC, texlive }:
 
-stdenvNoCC.mkDerivation {
-  pname = "iwona";
-  version = "0.995b";
+stdenvNoCC.mkDerivation rec {
+  inherit (src) pname version;
 
-  src = lib.head (builtins.filter (p: p.tlType == "run") texlive.iwona.pkgs);
+  src = texlive.pkgs.iwona;
 
   installPhase = ''
     runHook preInstall
@@ -20,7 +19,7 @@ stdenvNoCC.mkDerivation {
     # "[...] GUST Font License (GFL), which is a free license, legally
     # equivalent to the LaTeX Project Public # License (LPPL), version 1.3c or
     # later." - GUST website
-    license = licenses.lppl13c;
+    license = src.meta.license;
     maintainers = with maintainers; [ siddharthist ];
     platforms = platforms.all;
   };
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index 4e42cf1c417..88ef4e588c7 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -1,22 +1,24 @@
-{ lib, stdenvNoCC, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchzip }:
 
-stdenvNoCC.mkDerivation {
+stdenvNoCC.mkDerivation rec {
   pname = "junicode";
-  version = "1.003";
+  version = "2.200";
 
-  src = fetchFromGitHub {
-    owner = "psb1558";
-    repo = "Junicode-font";
-    rev = "55d816d91a5e19795d9b66edec478379ee2b9ddb";
-    hash = "sha256-eTiMgI8prnpR4H6sqKRaB3Gcnt4C5QWZalRajWW49G4=";
+  src = fetchzip {
+    url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip";
+    hash = "sha256-2K+zPq6Bjg+hZQhQrWWm1bxHVfwwRdsV7EseRGBnpUw=";
   };
 
+  outputs = [ "out" "doc" ];
+
   installPhase = ''
     runHook preInstall
 
-    local out_ttf=$out/share/fonts/junicode-ttf
-    mkdir -p $out_ttf
-    cp legacy/*.ttf $out_ttf
+    install -Dm 444 -t $out/share/fonts/truetype TTF/*.ttf VAR/*.ttf
+    install -Dm 444 -t $out/share/fonts/opentype OTF/*.otf
+    install -Dm 444 -t $out/share/fonts/woff2 WOFF2/*.woff2
+
+    install -Dm 444 -t $doc/share/doc/${pname}-${version} docs/*.pdf
 
     runHook postInstall
   '';
diff --git a/pkgs/data/fonts/last-resort/default.nix b/pkgs/data/fonts/last-resort/default.nix
index 1932fd6da8a..4ca06736052 100644
--- a/pkgs/data/fonts/last-resort/default.nix
+++ b/pkgs/data/fonts/last-resort/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "last-resort";
-  version = "15.000";
+  version = "15.100";
 
   src = fetchurl {
     url = "https://github.com/unicode-org/last-resort-font/releases/download/${version}/LastResortHE-Regular.ttf";
-    hash = "sha256-Qyo/tuBvBHnG/LW8sUAy62xpeqlXfyfwjUCbr4vJEag=";
+    hash = "sha256-dPk6j7Orh1bg6GyzwsB4P9oQvepvl51YF4abpyhOVso=";
   };
 
   dontUnpack = true;
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     description = "Fallback font of last resort";
     homepage = "https://github.com/unicode-org/last-resort-font";
     license = licenses.ofl;
-    maintainers = with maintainers; [ V ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/data/fonts/lxgw-neoxihei/default.nix b/pkgs/data/fonts/lxgw-neoxihei/default.nix
index 5bc4b86c8ad..2fc6731b850 100644
--- a/pkgs/data/fonts/lxgw-neoxihei/default.nix
+++ b/pkgs/data/fonts/lxgw-neoxihei/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-neoxihei";
-  version = "1.105";
+  version = "1.106";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
-    hash = "sha256-rufBz5u6dV91oD211JuCUP2Km3RoFwkZ1OhRxyoGxpQ=";
+    hash = "sha256-AXEOoU9gvml1bqjPTYV+mmhVGLG4R6mH8e/h3wQgySo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/lxgw-wenkai/default.nix b/pkgs/data/fonts/lxgw-wenkai/default.nix
index 65045dc6d28..cd15891f2f4 100644
--- a/pkgs/data/fonts/lxgw-wenkai/default.nix
+++ b/pkgs/data/fonts/lxgw-wenkai/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "lxgw-wenkai";
-  version = "1.300";
+  version = "1.311";
 
   src = fetchurl {
     url = "https://github.com/lxgw/LxgwWenKai/releases/download/v${version}/${pname}-v${version}.tar.gz";
-    hash = "sha256-pPN8siF/8D78sEcXoF+vZ4BIeYWyXAuk4HBQJP+G3O8=";
+    hash = "sha256-R7j6SBWGbkS4cJI1J8M5NDIDeJDFMjtXZnGiyxm2rjg=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix
index 25923f3cfc7..1a6537a0096 100644
--- a/pkgs/data/fonts/material-design-icons/default.nix
+++ b/pkgs/data/fonts/material-design-icons/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "material-design-icons";
-  version = "7.2.96";
+  version = "7.3.67";
 
   src = fetchFromGitHub {
     owner = "Templarian";
     repo = "MaterialDesign-Webfont";
     rev = "v${version}";
-    sha256 = "sha256-4r/l7QkD04OR74FZBH0l81hDY5TexEIIJnECYFKsGxM=";
+    sha256 = "sha256-gQT+5MqYo1qUiLJTzlhF5dB5BZMtr34JWn9rMa9MJvQ=";
     sparseCheckout = [ "fonts" ];
   };
 
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 79288cb5f4c..fee51ebacf4 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -35,13 +35,13 @@ rec {
     }:
     stdenvNoCC.mkDerivation rec {
       inherit pname;
-      version = "23.8.1";
+      version = "23.11.1";
 
       src = fetchFromGitHub {
         owner = "notofonts";
         repo = "notofonts.github.io";
         rev = "noto-monthly-release-${version}";
-        hash = "sha256-TYCJzioZcNFV8N5wLr7Fo69g/p5GQF/tbGgYoLUV7Us=";
+        hash = "sha256-qBHLCOfVBOn9CV194S4cYw9nhHyAe2AUBJHQMvyEfW8=";
       };
 
       _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants;
@@ -160,8 +160,8 @@ rec {
 
   noto-fonts-cjk-serif = mkNotoCJK {
     typeface = "Serif";
-    version = "2.001";
-    sha256 = "sha256-y1103SS0qkZMhEL5+7kQZ+OBs5tRaqkqOcs4796Fzhg=";
+    version = "2.002";
+    sha256 = "sha256-GLjpTAiHfygj1J4AdUVDJh8kykkFOglq+h4kyat5W9s=";
   };
 
   noto-fonts-color-emoji =
@@ -253,9 +253,11 @@ rec {
         metadata.files;
 
       installPhase = ''
+        runHook preInstall
         for src in $srcs; do
           install -D $src $out/share/fonts/noto/$(stripHash $src)
         done
+        runHook postInstall
       '';
 
       meta = with lib; {
diff --git a/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json b/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json
index 2f22a24a34c..e9ad1c327f4 100644
--- a/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json
+++ b/pkgs/data/fonts/noto-fonts/noto-emoji.hashes.json
@@ -1,7 +1,7 @@
 {
-  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf": "sha256-9ndQqJJzsCkR6KcYRNVW3wXWMxcH+0QzFgQQdCG8vSo=",
-  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf": "sha256-AXGLdWebddyJhTKMW/D/6tW8ODcaXrUM96m2hN9wYlg=",
-  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf": "sha256-wzF9kKNMeQTYZ2QUT5pIgauhl2qMpZ2nMLNTeAJuqtQ=",
-  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf": "sha256-NIelE8X+lKtH6yT3eFPZV7zYUR3Y5GnNobAbf7AckR0=",
-  "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf": "sha256-zkJuJ8YlTrUV+28wHIqny3yQvjvZqEPG4WXYmaLcY8A="
+  "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf": "sha256-B8XBpYycOYBjrhjlnyiz42YukIoOjGTd3NN3EY00NiQ=",
+  "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf": "sha256-Zfwh9q2GrL5Dwp+J/8Ddd2IXCaUXpQ7dE3CqgCMMyPs=",
+  "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf": "sha256-/O5b2DzM8g97NAdJgIC/RsQ7E5P7USKq7TXyDuUE3WQ=",
+  "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf": "sha256-vrjB8GlhzWAe6jG/Srpy8R431VivNtWbCa5Uh4ATnmU=",
+  "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf": "sha256-EbnZt8h4Lcl0yJoOKmXlF1nfcP5hZv7n4cEQ10yBkcg="
 }
diff --git a/pkgs/data/fonts/noto-fonts/noto-emoji.json b/pkgs/data/fonts/noto-fonts/noto-emoji.json
index 66b0292906b..c729634b9e1 100644
--- a/pkgs/data/fonts/noto-fonts/noto-emoji.json
+++ b/pkgs/data/fonts/noto-fonts/noto-emoji.json
@@ -13,18 +13,18 @@
       "subsets": [
         "emoji"
       ],
-      "version": "v46",
-      "lastModified": "2023-09-07",
+      "version": "v47",
+      "lastModified": "2023-09-27",
       "files": {
-        "300": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf",
-        "regular": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",
-        "500": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf",
-        "600": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf",
-        "700": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf"
+        "300": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob_10jwvS-FGJCMY.ttf",
+        "regular": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",
+        "500": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-Z0jwvS-FGJCMY.ttf",
+        "600": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob911TwvS-FGJCMY.ttf",
+        "700": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob9M1TwvS-FGJCMY.ttf"
       },
       "category": "sans-serif",
       "kind": "webfonts#webfont",
-      "menu": "http://fonts.gstatic.com/s/notoemoji/v46/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0gwuQeU.ttf"
+      "menu": "http://fonts.gstatic.com/s/notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0gwuQeU.ttf"
     }
   ]
 }
diff --git a/pkgs/data/fonts/open-fonts/default.nix b/pkgs/data/fonts/open-fonts/default.nix
index 6a628174f2e..3f768209794 100644
--- a/pkgs/data/fonts/open-fonts/default.nix
+++ b/pkgs/data/fonts/open-fonts/default.nix
@@ -23,6 +23,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/kiwi0fruit/open-fonts";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/pkgs/data/fonts/pretendard/default.nix b/pkgs/data/fonts/pretendard/default.nix
index 8c4cbd10373..9f62ad8dd4e 100644
--- a/pkgs/data/fonts/pretendard/default.nix
+++ b/pkgs/data/fonts/pretendard/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenvNoCC, fetchzip }:
 
 let
-  version = "1.3.8";
+  version = "1.3.9";
 
   mkPretendard = { pname, typeface, hash }:
     stdenvNoCC.mkDerivation {
@@ -35,24 +35,24 @@ in
   pretendard = mkPretendard {
     pname = "pretendard";
     typeface = "Pretendard";
-    hash = "sha256-Re4Td9uA8Qn/xv39Bo9i3gShYWQ1mRX44Vyx7/i4xwI=";
+    hash = "sha256-n7RQApffpL/8ojHcZbdxyanl9Tlc8HP8kxLFBdArUfY=";
   };
 
   pretendard-gov = mkPretendard {
     pname = "pretendard-gov";
     typeface = "PretendardGOV";
-    hash = "sha256-GQv/Ia91QgXZwFX+WdE7aRFUJFWhCMLFY86gu4Ii2w8=";
+    hash = "sha256-qoDUBOmrk6WPKQgnapThfKC01xWup+HN82hcoIjEe0M=";
   };
 
   pretendard-jp = mkPretendard {
     pname = "pretendard-jp";
     typeface = "PretendardJP";
-    hash = "sha256-7OLInF1XUQxyHyb9a0zyfCLZrdcxMTM2QeBe3lwLJ0A=";
+    hash = "sha256-1nTk1LPoRSfSDgDuGWkcs6RRIY4ZOqDBPMsxezMos6Q=";
   };
 
   pretendard-std = mkPretendard {
     pname = "pretendard-std";
     typeface = "PretendardStd";
-    hash = "sha256-DCR6KUAblVjhapqMn2p0nzndEJm4OCawGV3nAWZvSBs=";
+    hash = "sha256-gkYqqxSICmSIrBuPRzBaOlGGM/rJU1z7FiFvu9RhK5s=";
   };
 }
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 8d56554939f..14dc6514e81 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sarasa-gothic";
-  version = "0.41.10";
+  version = "0.42.2";
 
   src = fetchurl {
     # Use the 'ttc' files here for a smaller closure size.
     # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
     url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-    hash = "sha256-RxXLjlWJEWaWph8jz1L1zZABYOm75MoxcI0cZJGBDvg=";
+    hash = "sha256-RkPHlOPXQiAswtekrOCmYcPNlNSvcqyaM4juSHJxEeY=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/data/fonts/scientifica/default.nix b/pkgs/data/fonts/scientifica/default.nix
index 1f946ecb17a..1b57c9f286d 100644
--- a/pkgs/data/fonts/scientifica/default.nix
+++ b/pkgs/data/fonts/scientifica/default.nix
@@ -26,6 +26,6 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/NerdyPepper/scientifica";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ fortuneteller2k ];
+    maintainers = with maintainers; [ moni ];
   };
 }
diff --git a/pkgs/data/fonts/sil-abyssinica/default.nix b/pkgs/data/fonts/sil-abyssinica/default.nix
index f01c50b4260..d0571fae0bf 100644
--- a/pkgs/data/fonts/sil-abyssinica/default.nix
+++ b/pkgs/data/fonts/sil-abyssinica/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sil-abyssinica";
-  version = "2.200";
+  version = "2.201";
 
   src = fetchzip {
     url = "https://software.sil.org/downloads/r/abyssinica/AbyssinicaSIL-${version}.zip";
-    hash = "sha256-IdWMZHm9VoLVDO0//ISujxlXUxe0O6+aEcdP63YRmPg=";
+    hash = "sha256-DJWp3T9uBLnztSq9r5YCSWaBjIK/0Aljg1IiU0FLrdE=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/sketchybar-app-font/default.nix b/pkgs/data/fonts/sketchybar-app-font/default.nix
index 58ae313542d..8364c84f1ff 100644
--- a/pkgs/data/fonts/sketchybar-app-font/default.nix
+++ b/pkgs/data/fonts/sketchybar-app-font/default.nix
@@ -5,11 +5,11 @@
 
 stdenvNoCC.mkDerivation (finalAttrs: {
   pname = "sketchybar-app-font";
-  version = "1.0.14";
+  version = "1.0.20";
 
   src = fetchurl {
     url = "https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v${finalAttrs.version}/sketchybar-app-font.ttf";
-    hash = "sha256-GPxNMlG6a7newSXorh2RULZ5XHYFmQbcB46C0RytTTU=";
+    hash = "sha256-pf3SSxzlNIdbXXHfRauFCnrVUMOd5J9sSUE9MsfWrwo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/source-han/default.nix b/pkgs/data/fonts/source-han/default.nix
index 0174324b016..573cfd6c5b9 100644
--- a/pkgs/data/fonts/source-han/default.nix
+++ b/pkgs/data/fonts/source-han/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  makePackage =
+  makeSuperOTC =
     { family
     , description
     , rev
@@ -13,9 +13,10 @@ let
     , zip ? ""
     , prefix ? ""
     }:
-    let Family =
-      lib.toUpper (lib.substring 0 1 family) +
-      lib.substring 1 (lib.stringLength family) family;
+    let
+      Family =
+        lib.toUpper (lib.substring 0 1 family) +
+        lib.substring 1 (lib.stringLength family) family;
     in
     stdenvNoCC.mkDerivation rec {
       pname = "source-han-${family}";
@@ -49,9 +50,36 @@ let
         maintainers = with lib.maintainers; [ taku0 emily ];
       };
     };
+
+  makeVariable =
+    { family
+    , version
+    , hash
+    , format
+    }:
+    let
+      Family =
+        lib.toUpper (lib.substring 0 1 family) +
+        lib.substring 1 (lib.stringLength family) family;
+    in
+    fetchurl {
+      pname = "source-han-${family}-vf-${format}";
+      inherit version hash;
+      url = "https://raw.githubusercontent.com/adobe-fonts/source-han-${family}/${version}R/Variable/OTC/SourceHan${Family}-VF.${format}.ttc";
+      recursiveHash = true;
+      downloadToTemp = true;
+      postFetch = "install -Dm444 $downloadedFile $out/share/fonts/variable/SourceHan${Family}-VF.${format}.ttc";
+
+      meta = {
+        description = "An open source Pan-CJK ${Family} typeface";
+        homepage = "https://github.com/adobe-fonts/source-han-${family}";
+        license = lib.licenses.ofl;
+        maintainers = with lib.maintainers; [ taku0 emily ];
+      };
+    };
 in
 {
-  sans = makePackage {
+  sans = makeSuperOTC {
     family = "sans";
     description = "sans-serif";
     rev = "2.004R";
@@ -59,7 +87,7 @@ in
     zip = ".zip";
   };
 
-  serif = makePackage {
+  serif = makeSuperOTC {
     family = "serif";
     description = "serif";
     rev = "2.001R";
@@ -68,10 +96,38 @@ in
     prefix = "01_";
   };
 
-  mono = makePackage {
+  mono = makeSuperOTC {
     family = "mono";
     description = "monospaced";
     rev = "1.002";
     hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME=";
   };
+
+  sans-vf-otf = makeVariable {
+    family = "sans";
+    version = "2.004";
+    hash = "sha256-V7PE09c7h4RDS8Ij4PSI36Gy+LM+PVDi73Rcs+4DfHo=";
+    format = "otf";
+  };
+
+  sans-vf-ttf = makeVariable {
+    family = "sans";
+    version = "2.004";
+    hash = "sha256-mXTG/d30gUxzxkJpaH4vOawRXMSxxTXlHCvHEsfGqbc=";
+    format = "ttf";
+  };
+
+  serif-vf-otf = makeVariable {
+    family = "serif";
+    version = "2.002";
+    hash = "sha256-8sD4bU6w7HBm4vBuPAjcjpxN2rtEJugAw+X0bAOcmjA=";
+    format = "otf";
+  };
+
+  serif-vf-ttf = makeVariable {
+    family = "serif";
+    version = "2.002";
+    hash = "sha256-dmTZFRsD55WCOg2+sqd8bkmTSnSNn5xUYf0PgzIvzww=";
+    format = "ttf";
+  };
 }
diff --git a/pkgs/data/fonts/sudo/default.nix b/pkgs/data/fonts/sudo/default.nix
index 961f846a6c3..68b8eae40e2 100644
--- a/pkgs/data/fonts/sudo/default.nix
+++ b/pkgs/data/fonts/sudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sudo-font";
-  version = "0.74";
+  version = "0.77";
 
   src = fetchzip {
     url = "https://github.com/jenskutilek/sudo-font/releases/download/v${version}/sudo.zip";
-    hash = "sha256-WPoqWhCKk2gZ/cdIjvmiNZ95xZ9sqnGzZuw4OEHxtrI=";
+    hash = "sha256-xnIDCuCUP8ErUsWTJedWpy4lo77Ji+FO2vO9BRDAmV0=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index fc39e2c8ec5..7f2e9a1b158 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation rec {
   pname = "unifont";
-  version = "15.1.01";
+  version = "15.1.04";
 
   otf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.otf";
-    hash = "sha256-JJi4D5Zk/vkeaYjX4IIUaiCCp+e7Si3rL7+aNlqilww=";
+    hash = "sha256-J8g8ojXDq5nV013zXXi1rEAYQhpCh7G06mV7IpmZbTg=";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.pcf.gz";
-    hash = "sha256-8ggUx6X1kwwd2qGl/XcqxkN35kaJbQYxoCMGIV0N6zU=";
+    hash = "sha256-XHKP8xx+GvhFYBW03Sambpd2gclKvQUz1JAjIlb59OI=";
   };
 
   nativeBuildInputs = [ libfaketime xorg.fonttosfnt xorg.mkfontscale ];
diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix
index 267dc7d8977..e7820a85842 100644
--- a/pkgs/data/fonts/unifont_upper/default.nix
+++ b/pkgs/data/fonts/unifont_upper/default.nix
@@ -2,11 +2,11 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "unifont_upper";
-  version = "15.1.01";
+  version = "15.1.04";
 
   src = fetchurl {
     url = "mirror://gnu/unifont/unifont-${version}/${pname}-${version}.otf";
-    hash = "sha256-+aSVF8taBuAmkrQDvCH5bqdnEo21LwidMSYaiWjTrOg=";
+    hash = "sha256-SUsG2xhrn47zrGpNzRn1g76qyt2vQyH/UBmYtzCD0UA=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/data/fonts/vazir-fonts/default.nix b/pkgs/data/fonts/vazir-fonts/default.nix
index d65b270c881..d65b270c881 100755..100644
--- a/pkgs/data/fonts/vazir-fonts/default.nix
+++ b/pkgs/data/fonts/vazir-fonts/default.nix
diff --git a/pkgs/data/fonts/whatsapp-emoji/default.nix b/pkgs/data/fonts/whatsapp-emoji/default.nix
deleted file mode 100644
index 5e34282891b..00000000000
--- a/pkgs/data/fonts/whatsapp-emoji/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenvNoCC
-, lib
-, fetchFromGitHub
-, imagemagick
-, nix-update-script
-, pngquant
-, python3Packages
-, which
-, zopfli
-}:
-
-stdenvNoCC.mkDerivation rec {
-  pname = "whatsapp-emoji-linux";
-  version = "2.23.2.72-1";
-
-  src = fetchFromGitHub {
-    rev = "refs/tags/${version}";
-    owner = "dmlls";
-    repo = "whatsapp-emoji-linux";
-    hash = "sha256-dwX+y8jCpR+SyiH13Os9VeXLDwmAYB7ARW2lAMl/7RE=";
-  };
-
-  makeFlags = [
-    "PREFIX=$(out)"
-  ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    imagemagick
-    pngquant
-    python3Packages.nototools
-    which
-    zopfli
-  ];
-
-  passthru.updateScript = nix-update-script { };
-
-  meta = {
-    description = "WhatsApp Emoji for GNU/Linux";
-    homepage = "https://github.com/dmlls/whatsapp-emoji-linux";
-    maintainers = [ lib.maintainers.lucasew ];
-    sourceProvenance = [ lib.sourceTypes.fromSource ];
-    license = lib.licenses.unfree;
-  };
-}