mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 09:53:10 +00:00
106 lines
4.0 KiB
Nix
106 lines
4.0 KiB
Nix
{ lib, stdenv, fetchurl, cabextract }:
|
|
|
|
let
|
|
fonts = [
|
|
{ name = "andale"; hash = "sha256-BST+QpUa3Dp+uHDjLwkgMTxx8XDIWbX3cNgrTuER6XA="; }
|
|
{ name = "arial"; hash = "sha256-hSl6TRRunIesb3SCJzS97l9LKnItfqpYS38sv3b0ePY="; }
|
|
{ name = "arialb"; hash = "sha256-pCXw/7ahpe3luXntYXf09PT972rnwwKnt3IO8zL+wKg="; }
|
|
{ name = "comic"; hash = "sha256-nG3z/u/eJtTkHUpP5dsqifkSOncllNf1mv0GJiXNIE4="; }
|
|
{ name = "courie"; hash = "sha256-u1EdhhZV3eh5rlUuuGsTTW+uZ8tYUC5v9z7F2RUfM4Q="; }
|
|
{ name = "georgi"; hash = "sha256-LCx9zaZgbqXPCJGPt80/M1np6EM43GkAE/IM1C6TAwE="; }
|
|
{ name = "impact"; hash = "sha256-YGHvO3QB2WQvXf218rN2qhRmP2J15gpRIHrU+s8vzPs="; }
|
|
{ name = "times"; hash = "sha256-21ZZXsbvXT3lwkmU8AHwOyoT43zuJ7wlxY9vQ+j4B6s="; }
|
|
{ name = "trebuc"; hash = "sha256-WmkNm7hRC+G4tP5J8fIxllH+UbvlR3Xd3djvC9B/2sk="; }
|
|
{ name = "webdin"; hash = "sha256-ZFlbWrwQgPuoYQxcNPq1hjQI6Aaq/oRlPKhXW+0X11o="; }
|
|
{ name = "verdan"; hash = "sha256-wcthJV42MWZ5TkdmTi8hr446JstjRuuNKuL6hd1arZY="; }
|
|
{ name = "wd97vwr"; hash = "sha256-9hEmptF7LRJqfzGxQlBNzkk095icVfHBPGR3s/6As9I="; }
|
|
];
|
|
|
|
eula = fetchurl {
|
|
url = "https://corefonts.sourceforge.net/eula.htm";
|
|
hash = "sha256-LOgNEsM+dANEreP2LsFi+pAnBNDMFB9Pg+KJAahlC6s=";
|
|
};
|
|
in
|
|
stdenv.mkDerivation {
|
|
pname = "corefonts";
|
|
version = "1";
|
|
|
|
exes = map ({name, hash}: fetchurl {
|
|
url = "mirror://sourceforge/corefonts/the%20fonts/final/${name}32.exe";
|
|
inherit hash;
|
|
}) fonts;
|
|
|
|
nativeBuildInputs = [ cabextract ];
|
|
|
|
buildCommand = ''
|
|
for i in $exes; do
|
|
cabextract --lowercase $i
|
|
done
|
|
cabextract --lowercase viewer1.cab
|
|
|
|
# rename to more standard names
|
|
# handle broken macOS file-system
|
|
mv andalemo.ttf Andale_Mono.ttf
|
|
mv ariblk.ttf Arial_Black.ttf
|
|
mv arial.ttf Arial.ttf.tmp
|
|
mv Arial.ttf.tmp Arial.ttf
|
|
mv arialbd.ttf Arial_Bold.ttf
|
|
mv arialbi.ttf Arial_Bold_Italic.ttf
|
|
mv ariali.ttf Arial_Italic.ttf
|
|
mv comic.ttf Comic_Sans_MS.ttf
|
|
mv comicbd.ttf Comic_Sans_MS_Bold.ttf
|
|
mv cour.ttf Courier_New.ttf
|
|
mv courbd.ttf Courier_New_Bold.ttf
|
|
mv couri.ttf Courier_New_Italic.ttf
|
|
mv courbi.ttf Courier_New_Bold_Italic.ttf
|
|
mv georgia.ttf Georgia.ttf.tmp
|
|
mv Georgia.ttf.tmp Georgia.ttf
|
|
mv georgiab.ttf Georgia_Bold.ttf
|
|
mv georgiai.ttf Georgia_Italic.ttf
|
|
mv georgiaz.ttf Georgia_Bold_Italic.ttf
|
|
mv impact.ttf Impact.ttf.tmp
|
|
mv Impact.ttf.tmp Impact.ttf
|
|
mv tahoma.ttf Tahoma.ttf.tmp
|
|
mv Tahoma.ttf.tmp Tahoma.ttf
|
|
mv times.ttf Times_New_Roman.ttf
|
|
mv timesbd.ttf Times_New_Roman_Bold.ttf
|
|
mv timesbi.ttf Times_New_Roman_Bold_Italic.ttf
|
|
mv timesi.ttf Times_New_Roman_Italic.ttf
|
|
mv trebuc.ttf Trebuchet_MS.ttf
|
|
mv trebucbd.ttf Trebuchet_MS_Bold.ttf
|
|
mv trebucit.ttf Trebuchet_MS_Italic.ttf
|
|
mv trebucbi.ttf Trebuchet_MS_Italic.ttf
|
|
mv verdana.ttf Verdana.ttf.tmp
|
|
mv Verdana.ttf.tmp Verdana.ttf
|
|
mv verdanab.ttf Verdana_Bold.ttf
|
|
mv verdanai.ttf Verdana_Italic.ttf
|
|
mv verdanaz.ttf Verdana_Bold_Italic.ttf
|
|
mv webdings.ttf Webdings.ttf.tmp
|
|
mv Webdings.ttf.tmp Webdings.ttf
|
|
|
|
install -m444 -Dt $out/share/fonts/truetype *.ttf
|
|
|
|
# Also put the EULA there to be on the safe side.
|
|
cp ${eula} $out/share/fonts/truetype/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 = with lib; {
|
|
homepage = "https://corefonts.sourceforge.net/";
|
|
description = "Microsoft's TrueType core fonts for the Web";
|
|
platforms = platforms.all;
|
|
license = licenses.unfreeRedistributable;
|
|
# Set a non-zero priority to allow easy overriding of the
|
|
# fontconfig configuration files.
|
|
priority = 5;
|
|
};
|
|
}
|