diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix index b26d3bd8c1d..2030fb3ab1d 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 00000000000..503e62cfa29 --- /dev/null +++ b/pkgs/data/fonts/corefonts/no-op.conf @@ -0,0 +1,9 @@ + + + + + diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix index 19996f3f1a3..f3165b33cca 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 00000000000..503e62cfa29 --- /dev/null +++ b/pkgs/data/fonts/vista-fonts/no-op.conf @@ -0,0 +1,9 @@ + + + + +