From efb9f909d6102d8f7eb02c2bec049a391578f6d4 Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sun, 20 Aug 2023 17:40:34 +0300 Subject: [PATCH 1/6] junicode: 1.003 -> 2.001 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.001 This is a breaking change, at least in font file naming (Junicode.ttf is now Junicode-Regular.ttf). In general, 2.0 adds a lot more font variants and opentype and web font versions of the font. Seeing as backward compatibility is broken anyway, I opted to break it a bit more and change custom install path (`junicode-ttf`) to seemingly more conventional `truetype`; new .otf and .woff2 variants are then naturally placed in corresponding directories. This does *not* affect the `fonts.packages` NixOS option, which rearranges font files anyway, but brings a degree of consistency with other fonts. Both the file renaming and the directory structure change break satysfi, however, so I adjusted its builder accordingly, copying over only those font variants that were also present in 1.0 series. --- .../manual/release-notes/rl-2311.section.md | 2 ++ pkgs/data/fonts/junicode/default.nix | 24 ++++++++++--------- pkgs/tools/typesetting/satysfi/default.nix | 6 +++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 822ba67a40df..e720885b5d91 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -339,6 +339,8 @@ - `mkDerivation` now rejects MD5 hashes. +- The `junicode` font package has been updated to [major version 2](https://github.com/psb1558/Junicode-font/releases/tag/v2.001), which is now a font family. In particular, plain `Junicode.ttf` no longer exists. In addition, TrueType font files are now placed in `font/truetype` instead of `font/junicode-ttf`; this change does not affect use via `fonts.packages` NixOS option. + ## Other Notable Changes {#sec-release-23.11-notable-changes} - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration. diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 4e42cf1c4174..622f9d841611 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.001"; - 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-AEbRU0KiB9gLdxcXn8Mn/XLjBEm0qa4cV6+xE1HKU5s="; }; + outputs = [ "out" "doc" ]; + installPhase = '' runHook preInstall - local out_ttf=$out/share/fonts/junicode-ttf - mkdir -p $out_ttf - cp legacy/*.ttf $out_ttf + install -Dt $out/share/fonts/truetype TTF/*.ttf VAR/*.ttf + install -Dt $out/share/fonts/opentype OTF/*.otf + install -Dt $out/share/fonts/woff2 WOFF2/*.woff2 + + install -Dt $doc/share/doc/${pname}-${version} docs/*.pdf runHook postInstall ''; diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix index 8b341298f311..6d77faac76a9 100644 --- a/pkgs/tools/typesetting/satysfi/default.nix +++ b/pkgs/tools/typesetting/satysfi/default.nix @@ -65,10 +65,12 @@ in cp -r lib-satysfi/dist/ $out/share/satysfi/ cp -r \ ${ipaexfont}/share/fonts/opentype/* \ - ${junicode}/share/fonts/junicode-ttf/* \ ${lmodern}/share/fonts/opentype/public/lm/* \ ${lmmath}/share/fonts/opentype/latinmodern-math.otf \ - $out/share/satysfi/dist/fonts + ${junicode}/share/fonts/truetype/Junicode-{Bold,BoldItalic,Italic}.ttf \ + $out/share/satysfi/dist/fonts/ + cp ${junicode}/share/fonts/truetype/Junicode-Regular.ttf \ + $out/share/satysfi/dist/fonts/Junicode.ttf ''; meta = with lib; { From 8ed7ffbd79bdd6441f982adc6a8b00df1f7043ba Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sun, 27 Aug 2023 17:56:51 +0300 Subject: [PATCH 2/6] junicode: 2.001 -> 2.002 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.002 From it: Version 2.002 adds U+0243 B with stroke (with small cap and petite cap variants) and variants of U+014A Eng (with small cap and petite cap variants). It also adds many anchors and refines and corrects many outlines (especially in roman). --- pkgs/data/fonts/junicode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 622f9d841611..63af7e05ebf4 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "junicode"; - version = "2.001"; + version = "2.002"; src = fetchzip { url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip"; - hash = "sha256-AEbRU0KiB9gLdxcXn8Mn/XLjBEm0qa4cV6+xE1HKU5s="; + hash = "sha256-AHy4uT0LEof69+ECoFlKmALPTTPbvRNjmFD240koWAE="; }; outputs = [ "out" "doc" ]; From f6d4bbb4f82dc0c68d11223138a07b9178603bcb Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sat, 2 Sep 2023 12:58:16 +0300 Subject: [PATCH 3/6] junicode: 2.002 -> 2.003 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.003 From it: This is mostly a bug-fix version. It (1) fixes several non-functioning tag sequences; (2) fixes an incompatibility with InDesign that caused OpenType features to misbehave in that program; (3) improved several outlines and adjusted badly positioned anchors. --- pkgs/data/fonts/junicode/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 63af7e05ebf4..6a1c9e896e7c 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "junicode"; - version = "2.002"; + version = "2.003"; src = fetchzip { url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip"; - hash = "sha256-AHy4uT0LEof69+ECoFlKmALPTTPbvRNjmFD240koWAE="; + hash = "sha256-PD4rAZKTLVVblrQZgWKuuSF693nv2Od/uj1IOav+8/0="; }; outputs = [ "out" "doc" ]; @@ -14,11 +14,11 @@ stdenvNoCC.mkDerivation rec { installPhase = '' runHook preInstall - install -Dt $out/share/fonts/truetype TTF/*.ttf VAR/*.ttf - install -Dt $out/share/fonts/opentype OTF/*.otf - install -Dt $out/share/fonts/woff2 WOFF2/*.woff2 + 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 -Dt $doc/share/doc/${pname}-${version} docs/*.pdf + install -Dm 444 -t $doc/share/doc/${pname}-${version} docs/*.pdf runHook postInstall ''; From 082549907b3f9ef028c6b7e4cfbba128be66cd9b Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sat, 16 Sep 2023 13:46:46 +0300 Subject: [PATCH 4/6] junicode: 2.003 -> 2.004 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.004 From it: This release includes (mainly in the italic face) revisions of metrics and kerning of numbers and of kerning around parentheses and brackets. It also fixes some spacing problems (in the roman face) with capitals in parentheses (U+1F110-U+1F129) and a few problems with disordered or wrong components. --- pkgs/data/fonts/junicode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 6a1c9e896e7c..9a9925554720 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "junicode"; - version = "2.003"; + version = "2.004"; src = fetchzip { url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip"; - hash = "sha256-PD4rAZKTLVVblrQZgWKuuSF693nv2Od/uj1IOav+8/0="; + hash = "sha256-bdtyfdNjCATlk74T6aADUmcf5nhyGSM/7kIpRl324Go="; }; outputs = [ "out" "doc" ]; From 7eb1f016f9519d518ad5783b7eee4295208b3f22 Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sat, 21 Oct 2023 11:34:00 +0300 Subject: [PATCH 5/6] junicode: 2.004 -> 2.100 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.100 From it: Version 2.100 features a thorough reworking of the font's number system. The default numbers are now oldstyle (or "lowercase") proportional, and the metrics, kerning, and often the outlines of the number glyphs have been refined, along with those of glyphs typically associated with numbers (e.g. currency symbols). An alternate, more modern style of some oldstyle numbers has been supplied and made available via Stylistic Set 9 (ss09). --- pkgs/data/fonts/junicode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index 9a9925554720..e4bc954dec34 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "junicode"; - version = "2.004"; + version = "2.100"; src = fetchzip { url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip"; - hash = "sha256-bdtyfdNjCATlk74T6aADUmcf5nhyGSM/7kIpRl324Go="; + hash = "sha256-Sd3WhG846m2CXz+NKDAod5bfF91MOR1Vq0wpuOE+cDQ="; }; outputs = [ "out" "doc" ]; From 49c7d93c55d54a1eb1c7fca8490abc469344ad95 Mon Sep 17 00:00:00 2001 From: Ivan Timokhin Date: Sun, 22 Oct 2023 09:20:59 +0300 Subject: [PATCH 6/6] junicode: 2.100 -> 2.200 Release announcement: https://github.com/psb1558/Junicode-font/releases/tag/v2.200 From it: Junicode 2.200 features miscellaneous fixes and additions, and it also inaugurates a long-term program of adding glyphs for the benefit of the Ansund HTR (Handwritten Text Recognition) project, which is developing tools for the automated reading of medieval manuscripts. Of the additions made so far, the ones likely to be of greatest interest to users are two series of medieval capitals, available via features ss11[1] and ss11[2]. The first series consists of rustic capitals, often used for text in late ancient and early medieval times and for rubrics (headings) in the central Middle Ages. The second consists of Lombardic capitals, used in the central and later Middle Ages for what are now called drop caps. These capitals are designed to harmonize with Junicode to the greatest degree possible while remaining faithful to the medieval sources. --- pkgs/data/fonts/junicode/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix index e4bc954dec34..88ef4e588c77 100644 --- a/pkgs/data/fonts/junicode/default.nix +++ b/pkgs/data/fonts/junicode/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "junicode"; - version = "2.100"; + version = "2.200"; src = fetchzip { url = "https://github.com/psb1558/Junicode-font/releases/download/v${version}/Junicode_${version}.zip"; - hash = "sha256-Sd3WhG846m2CXz+NKDAod5bfF91MOR1Vq0wpuOE+cDQ="; + hash = "sha256-2K+zPq6Bjg+hZQhQrWWm1bxHVfwwRdsV7EseRGBnpUw="; }; outputs = [ "out" "doc" ];