diff options
author | Thomas Tuegel <ttuegel@gmail.com> | 2015-09-20 08:50:13 -0500 |
---|---|---|
committer | Thomas Tuegel <ttuegel@gmail.com> | 2015-09-20 08:50:13 -0500 |
commit | 37a2a20d376cf5ead799d90c86cff223b786db31 (patch) | |
tree | 8a6019b9dad9c43d222de11cec2fc51408c8baa3 /pkgs | |
parent | aeb4aa05f68e42638f0b197e7806e97d3b7e9432 (diff) | |
parent | 2017fa5f4e4b4ddc6cd4eff89f83222bb192a11b (diff) |
Merge pull request #9949 from Mathnerd314/noto-fonts
Noto fonts
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/data/fonts/noto-fonts/default.nix | 119 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 3 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 32 |
3 files changed, 149 insertions, 5 deletions
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix new file mode 100644 index 0000000000000..a231d3b93c14f --- /dev/null +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -0,0 +1,119 @@ +{ stdenv, fetchurl, fetchFromGitHub, optipng, cairo, unzip, fontforge, pythonPackages, pkgconfig }: +rec { + # 18MB + noto-fonts = let version = "git-2015-09-08"; in stdenv.mkDerivation { + name = "noto-fonts-${version}"; + src = fetchFromGitHub { + owner = "googlei18n"; + repo = "noto-fonts"; + rev = "9d677e7e47a13f6e88052833277783fe4f27671f"; + sha256 = "1dw1142znlk19a4mzhfi9pg3jzmz8pl1ivix7sd2grg70vxscxqc"; + }; + phases = "unpackPhase installPhase"; + installPhase = '' + mkdir -p $out/share/fonts/noto + cp 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 unhinted/*.ttf $out/share/fonts/noto + cp -n alpha/*.ttf $out/share/fonts/noto + ''; + 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 doesn’t 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 Google’s answer to tofu. The + name noto is to convey the idea that Google’s 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 ]; + }; + }; + # 89MB + noto-fonts-cjk = let version = "1.004"; in stdenv.mkDerivation { + name = "noto-fonts-cjk-${version}"; + + src = fetchurl { + # Same as https://noto-website.storage.googleapis.com/pkgs/NotoSansCJK.ttc.zip but versioned & with no extra SIL license file + url = "https://raw.githubusercontent.com/googlei18n/noto-cjk/40d9f5b179a59a06b98373c76bdc3e2119e4e6b2/NotoSansCJK.ttc.zip"; + sha256 = "1vg3si6slvk8cklq6s5c76s84kqjc4wvwzr4ysljzjpgzra2rfn6"; + }; + + buildInputs = [ unzip ]; + + phases = "unpackPhase installPhase"; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/share/fonts/noto + cp *.ttc $out/share/fonts/noto + ''; + + preferLocalBuild = true; + + meta = with stdenv.lib; { + inherit version; + description = "Beautiful and free fonts for CJK languages"; + homepage = https://www.google.com/get/noto/help/cjk/; + longDescription = + '' + Noto Sans CJK is a sans serif typeface designed as an intermediate style + between the modern and traditional. It is intended to be a multi-purpose + digital font for user interface designs, digital content, reading on laptops, + mobile devices, and electronic books. Noto Sans CJK comprehensively covers + Simplified Chinese, Traditional Chinese, Japanese, and Korean in a unified font + family. It supports regional variants of ideographic characters for each of the + four languages. In addition, it supports Japanese kana, vertical forms, and + variant characters (itaiji); it supports Korean hangeul — both contemporary and + archaic. + ''; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ mathnerd314 ]; + }; + }; + # 12MB + noto-fonts-emoji = let version = "git-2015-08-17"; in stdenv.mkDerivation { + name = "noto-fonts-emoji-${version}"; + + src = fetchFromGitHub { + owner = "googlei18n"; + repo = "noto-emoji"; + rev = "ffd7cfd0c84b7bf37210d0908ac94adfe3259ff2"; + sha256 = "1pa94gw2y0b6p8r81zbjzcjgi5nrx4dqrqr6mk98wj6jbi465sh2"; + }; + + buildInputs = [ optipng cairo fontforge pythonPackages.nototools pythonPackages.fonttools pkgconfig ]; + + preBuild = '' + export PYTHONPATH=$PYTHONPATH:$PWD + ''; + + installPhase = '' + mkdir -p $out/share/fonts/noto + cp NotoColorEmoji.ttf NotoEmoji-Regular.ttf $out/share/fonts/noto + ''; + + meta = with stdenv.lib; { + inherit version; + description = "Color and Black-and-White emoji fonts"; + homepage = https://github.com/googlei18n/noto-emoji; + license = licenses.asl20; + platforms = platforms.all; + maintainers = with maintainers; [ mathnerd314 ]; + }; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4fd3a1b08a754..30668c593a900 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10441,6 +10441,9 @@ let nafees = callPackage ../data/fonts/nafees { }; + inherit (callPackages ../data/fonts/noto-fonts {}) + noto-fonts noto-fonts-cjk noto-fonts-emoji; + numix-icon-theme = callPackage ../data/icons/numix-icon-theme { }; numix-icon-theme-circle = callPackage ../data/icons/numix-icon-theme-circle { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 219ab56c46640..1a77df0b5cf8e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6248,13 +6248,12 @@ let }); fonttools = buildPythonPackage (rec { - version = "2.4"; + version = "3.0"; name = "fonttools-${version}"; - disabled = isPy3k; src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/F/FontTools/FontTools-${version}.tar.gz"; - sha256 = "13ggkzcj34kcca6bsxjkaqsxkp2bvxxf6ijiyhq1xlyb0z37z4qa"; + url = "https://pypi.python.org/packages/source/F/FontTools/fonttools-${version}.tar.gz"; + sha256 = "0f4iblpbf3y3ghajiccvdwk2f46cim6dsj6fq1kkrbqfv05dr4nz"; }; buildInputs = with self; [ @@ -6262,7 +6261,7 @@ let ]; meta = { - homepage = "http://sourceforge.net/projects/fonttools/"; + homepage = "https://github.com/behdad/fonttools"; description = "Font file processing tools"; }; }); @@ -8266,6 +8265,29 @@ let }; }; + nototools = buildPythonPackage rec { + version = "git-2015-09-16"; + name = "nototools-${version}"; + disabled = isPy3k; + + pythonPath = with self; [ fonttools numpy ]; + + postPatch = '' + sed -ie "s^join(_DATA_DIR_PATH,^join(\"$out/third_party/ucd\",^" nototools/unicode_data.py + ''; + + postInstall = '' + cp -r third_party $out + ''; + + src = pkgs.fetchFromGitHub { + owner = "googlei18n"; + repo = "nototools"; + rev = "5a79bee819941849da7b414447929fc7ba6c2c08"; + sha256 = "0srrmyrjgksk4c6smgi1flyq325r4ma8r6bpkvbn731q3yykhmaa"; + }; + }; + rainbowstream = buildPythonPackage rec { name = "rainbowstream-${version}"; version = "1.2.7"; |