about summary refs log tree commit diff
path: root/pkgs/data
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-04-09 20:06:53 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-04-09 20:06:53 +0200
commit3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0 (patch)
tree54243ffb05d73a1e0b935d9f5869cea847282702 /pkgs/data
parentda158672bde9f76ce9ab81a7ba4c4b8a0835abbb (diff)
parent2fcb4118196157fac635351c7bd4e15ee9019db1 (diff)
downloadnixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar.gz
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar.bz2
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar.lz
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar.xz
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.tar.zst
nixlib-3f0c0c3029ee7b1ff820538e5bcebc2821e5b4e0.zip
Merge #6793: add packages for some fonts
Also handle font-family aliases.
Diffstat (limited to 'pkgs/data')
-rw-r--r--pkgs/data/fonts/corefonts/default.nix22
-rw-r--r--pkgs/data/fonts/corefonts/no-op.conf9
-rw-r--r--pkgs/data/fonts/vista-fonts/default.nix19
-rw-r--r--pkgs/data/fonts/vista-fonts/no-op.conf9
4 files changed, 53 insertions, 6 deletions
diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix
index b26d3bd8c1d6..2030fb3ab1dc 100644
--- a/pkgs/data/fonts/corefonts/default.nix
+++ b/pkgs/data/fonts/corefonts/default.nix
@@ -34,18 +34,34 @@ stdenv.mkDerivation {
 
   buildInputs = [cabextract];
 
-  buildCommand = "
+  buildCommand = ''
     for i in $exes; do
         cabextract --lowercase $i
     done
 
     cabextract --lowercase viewer1.cab
-  
+
     fontDir=$out/share/fonts/truetype
     mkdir -p $fontDir
     cp *.ttf $fontDir
 
     # Also put the EULA there to be on the safe side.
     cp ${eula} $fontDir/eula.html
-  ";
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Andale-Mono Arial-Black Arial Comic-Sans-MS \
+                Courier-New Georgia Impact Times-New-Roman \
+                Trebuchet Verdana Webdings ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname "''${name//-/ }"
+    done
+  '';
+
+  meta = {
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
+  };
 }
diff --git a/pkgs/data/fonts/corefonts/no-op.conf b/pkgs/data/fonts/corefonts/no-op.conf
new file mode 100644
index 000000000000..503e62cfa295
--- /dev/null
+++ b/pkgs/data/fonts/corefonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix
index 19996f3f1a31..f3165b33ccaf 100644
--- a/pkgs/data/fonts/vista-fonts/default.nix
+++ b/pkgs/data/fonts/vista-fonts/default.nix
@@ -18,13 +18,26 @@ stdenv.mkDerivation {
   
   buildPhase = "true";
   
-  installPhase = "
-    mkdir -p $out/share/fonts/truetype; cp *.ttf $out/share/fonts/truetype
-  ";
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Calibri Cambria Candara Consolas Constantia Corbel ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname $name
+    done
+  '';
 
   meta = {
     description = "Some TrueType fonts from Microsoft Windows Vista (Calibri, Cambria, Candara, Consolas, Constantia, Corbel)";
     homepage = http://www.microsoft.com/typography/ClearTypeFonts.mspx;
     binaryDistribution = false; # haven't read the EULA, but we probably can't redistribute these files, so...
+
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
   };
 }
diff --git a/pkgs/data/fonts/vista-fonts/no-op.conf b/pkgs/data/fonts/vista-fonts/no-op.conf
new file mode 100644
index 000000000000..503e62cfa295
--- /dev/null
+++ b/pkgs/data/fonts/vista-fonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>