Merge pull request #259047 from linsui/source-han

sourceHanPackages: add variable fonts

authored by taku0 and committed by GitHub d7998a6d fbce04c0

+67 -7
+63 -7
pkgs/data/fonts/source-han/default.nix
··· 5 }: 6 7 let 8 - makePackage = 9 { family 10 , description 11 , rev ··· 13 , zip ? "" 14 , prefix ? "" 15 }: 16 - let Family = 17 - lib.toUpper (lib.substring 0 1 family) + 18 - lib.substring 1 (lib.stringLength family) family; 19 in 20 stdenvNoCC.mkDerivation rec { 21 pname = "source-han-${family}"; ··· 49 maintainers = with lib.maintainers; [ taku0 emily ]; 50 }; 51 }; 52 in 53 { 54 - sans = makePackage { 55 family = "sans"; 56 description = "sans-serif"; 57 rev = "2.004R"; ··· 59 zip = ".zip"; 60 }; 61 62 - serif = makePackage { 63 family = "serif"; 64 description = "serif"; 65 rev = "2.001R"; ··· 68 prefix = "01_"; 69 }; 70 71 - mono = makePackage { 72 family = "mono"; 73 description = "monospaced"; 74 rev = "1.002"; 75 hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME="; 76 }; 77 }
··· 5 }: 6 7 let 8 + makeSuperOTC = 9 { family 10 , description 11 , rev ··· 13 , zip ? "" 14 , prefix ? "" 15 }: 16 + let 17 + Family = 18 + lib.toUpper (lib.substring 0 1 family) + 19 + lib.substring 1 (lib.stringLength family) family; 20 in 21 stdenvNoCC.mkDerivation rec { 22 pname = "source-han-${family}"; ··· 50 maintainers = with lib.maintainers; [ taku0 emily ]; 51 }; 52 }; 53 + 54 + makeVariable = 55 + { family 56 + , version 57 + , hash 58 + , format 59 + }: 60 + let 61 + Family = 62 + lib.toUpper (lib.substring 0 1 family) + 63 + lib.substring 1 (lib.stringLength family) family; 64 + in 65 + fetchurl { 66 + pname = "source-han-${family}-vf-${format}"; 67 + inherit version hash; 68 + url = "https://raw.githubusercontent.com/adobe-fonts/source-han-${family}/${version}R/Variable/OTC/SourceHan${Family}-VF.${format}.ttc"; 69 + recursiveHash = true; 70 + downloadToTemp = true; 71 + postFetch = "install -Dm444 $downloadedFile $out/share/fonts/variable/SourceHan${Family}-VF.${format}.ttc"; 72 + 73 + meta = { 74 + description = "An open source Pan-CJK ${Family} typeface"; 75 + homepage = "https://github.com/adobe-fonts/source-han-${family}"; 76 + license = lib.licenses.ofl; 77 + maintainers = with lib.maintainers; [ taku0 emily ]; 78 + }; 79 + }; 80 in 81 { 82 + sans = makeSuperOTC { 83 family = "sans"; 84 description = "sans-serif"; 85 rev = "2.004R"; ··· 87 zip = ".zip"; 88 }; 89 90 + serif = makeSuperOTC { 91 family = "serif"; 92 description = "serif"; 93 rev = "2.001R"; ··· 96 prefix = "01_"; 97 }; 98 99 + mono = makeSuperOTC { 100 family = "mono"; 101 description = "monospaced"; 102 rev = "1.002"; 103 hash = "sha256-DBkkSN6QhI8R64M2h2iDqaNtxluJZeSJYAz8x6ZzWME="; 104 + }; 105 + 106 + sans-vf-otf = makeVariable { 107 + family = "sans"; 108 + version = "2.004"; 109 + hash = "sha256-V7PE09c7h4RDS8Ij4PSI36Gy+LM+PVDi73Rcs+4DfHo="; 110 + format = "otf"; 111 + }; 112 + 113 + sans-vf-ttf = makeVariable { 114 + family = "sans"; 115 + version = "2.004"; 116 + hash = "sha256-mXTG/d30gUxzxkJpaH4vOawRXMSxxTXlHCvHEsfGqbc="; 117 + format = "ttf"; 118 + }; 119 + 120 + serif-vf-otf = makeVariable { 121 + family = "serif"; 122 + version = "2.002"; 123 + hash = "sha256-8sD4bU6w7HBm4vBuPAjcjpxN2rtEJugAw+X0bAOcmjA="; 124 + format = "otf"; 125 + }; 126 + 127 + serif-vf-ttf = makeVariable { 128 + family = "serif"; 129 + version = "2.002"; 130 + hash = "sha256-dmTZFRsD55WCOg2+sqd8bkmTSnSNn5xUYf0PgzIvzww="; 131 + format = "ttf"; 132 }; 133 }
+4
pkgs/top-level/all-packages.nix
··· 30219 source-han-sans = sourceHanPackages.sans; 30220 source-han-serif = sourceHanPackages.serif; 30221 source-han-mono = sourceHanPackages.mono; 30222 30223 spleen = callPackage ../data/fonts/spleen { }; 30224
··· 30219 source-han-sans = sourceHanPackages.sans; 30220 source-han-serif = sourceHanPackages.serif; 30221 source-han-mono = sourceHanPackages.mono; 30222 + source-han-sans-vf-otf = sourceHanPackages.sans-vf-otf; 30223 + source-han-sans-vf-ttf = sourceHanPackages.sans-vf-ttf; 30224 + source-han-serif-vf-otf = sourceHanPackages.serif-vf-otf; 30225 + source-han-serif-vf-ttf = sourceHanPackages.serif-vf-ttf; 30226 30227 spleen = callPackage ../data/fonts/spleen { }; 30228