Merge pull request #41184 from ttuegel/feature/noto-fonts-extra

noto-fonts: separate package for unusual weights
This commit is contained in:
Thomas Tuegel 2018-05-29 06:08:29 -05:00 committed by GitHub
commit 7b62752464
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 41 deletions

View File

@ -1,47 +1,59 @@
{ stdenv, fetchzip, fetchFromGitHub, optipng, cairo, unzip, pythonPackages, pkgconfig, pngquant, which, imagemagick }:
rec {
# 18MB
noto-fonts = let version = "2017-10-24-phase3-second-cleanup"; in fetchzip {
name = "noto-fonts-${version}";
url = "https://github.com/googlei18n/noto-fonts/archive/v${version}.zip";
postFetch = ''
unzip $downloadedFile
mkdir -p $out/share/fonts/noto
cp noto-fonts-*/hinted/*.ttf $out/share/fonts/noto
# Also copy unhinted & alpha fonts for better glyph coverage,
# if they don't have a hinted version
# (see https://groups.google.com/d/msg/noto-font/ZJSkZta4n5Y/tZBnLcPdbS0J)
cp -n noto-fonts-*/unhinted/*.ttf $out/share/fonts/noto
cp -n noto-fonts-*/alpha/*.ttf $out/share/fonts/noto
'';
sha256 = "013l816cq9svdji266sccscm9sf9pfn472gq9lnqkzlwaxx9qrrl";
meta = with stdenv.lib; {
inherit version;
description = "Beautiful and free fonts for many languages";
homepage = https://www.google.com/get/noto/;
longDescription =
''
When text is rendered by a computer, sometimes characters are displayed as
tofu. They are little boxes to indicate your device doesnt have a font to
display the text.
Google has been developing a font family called Noto, which aims to support all
languages with a harmonious look and feel. Noto is Googles answer to tofu. The
name noto is to convey the idea that Googles goal is to see no more tofu.
Noto has multiple styles and weights, and freely available to all.
This package also includes the Arimo, Cousine, and Tinos fonts.
let
mkNoto = { name, weights, sha256, }:
let version = "2017-10-24-phase3-second-cleanup"; in
fetchzip {
name = "${name}-${version}";
inherit sha256;
url = "https://github.com/googlei18n/noto-fonts/archive/v${version}.zip";
postFetch = ''
unzip $downloadedFile
mkdir -p $out/share/fonts/noto
# Also copy unhinted & alpha fonts for better glyph coverage,
# if they don't have a hinted version
# (see https://groups.google.com/d/msg/noto-font/ZJSkZta4n5Y/tZBnLcPdbS0J)
for ttf in noto-fonts-*/{hinted,unhinted,alpha}/*-${weights}.ttf
do
cp -n "$ttf" -t "$out/share/fonts/noto"
done
'';
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ];
meta = with stdenv.lib; {
inherit version;
description = "Beautiful and free fonts for many languages";
homepage = https://www.google.com/get/noto/;
longDescription =
''
When text is rendered by a computer, sometimes characters are
displayed as tofu. They are little boxes to indicate your device
doesnt have a font to display the text.
Google has been developing a font family called Noto, which aims to
support all languages with a harmonious look and feel. Noto is
Googles answer to tofu. The name noto is to convey the idea that
Googles goal is to see no more tofu. Noto has multiple styles and
weights, and freely available to all.
This package also includes the Arimo, Cousine, and Tinos fonts.
'';
license = licenses.asl20;
platforms = platforms.all;
maintainers = with maintainers; [ mathnerd314 ];
};
};
in
rec {
noto-fonts = mkNoto {
name = "noto-fonts";
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
sha256 = "1dmarbsfank6xzzx31h5jdv6n99rzblqyb1iqjkpll6dl3627pnb";
};
noto-fonts-extra = mkNoto {
name = "noto-fonts-extra";
weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
sha256 = "1lih49bqmsmblczvbl7qb1bhn0bq8v5xkr991b3gjghpdkx584bc";
};
# 89MB
noto-fonts-cjk = let version = "1.004"; in fetchzip {
name = "noto-fonts-cjk-${version}";
@ -74,7 +86,6 @@ rec {
maintainers = with maintainers; [ mathnerd314 ];
};
};
# 12MB
noto-fonts-emoji = let version = "2017-09-13-design-refresh"; in stdenv.mkDerivation {
name = "noto-fonts-emoji-${version}";

View File

@ -14524,7 +14524,7 @@ with pkgs;
nafees = callPackage ../data/fonts/nafees { };
inherit (callPackages ../data/fonts/noto-fonts {})
noto-fonts noto-fonts-cjk noto-fonts-emoji;
noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra;
nullmailer = callPackage ../servers/mail/nullmailer {
stdenv = gccStdenv;