dina-font: use fonttosfnt instead of fontforge

+26 -20
+26 -20
pkgs/data/fonts/dina/default.nix
··· 1 1 { lib, stdenv, fetchurl, unzip 2 - , bdftopcf, mkfontscale, fontforge 2 + , bdftopcf, mkfontscale, fonttosfnt 3 3 }: 4 4 5 5 stdenv.mkDerivation { 6 6 pname = "dina-font"; 7 7 version = "2.92"; 8 8 9 + outputs = [ "out" "bdf" ]; 10 + 9 11 src = fetchurl { 10 12 url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip"; 11 13 sha256 = "1kq86lbxxgik82aywwhawmj80vsbz3hfhdyhicnlv9km7yjvnl8z"; 12 14 }; 13 15 14 16 nativeBuildInputs = 15 - [ unzip bdftopcf mkfontscale fontforge ]; 17 + [ unzip bdftopcf mkfontscale fonttosfnt ]; 16 18 17 - patchPhase = "sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf"; 19 + postPatch = '' 20 + sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf 21 + ''; 18 22 19 23 buildPhase = '' 24 + runHook preBuild 25 + 20 26 newName() { 21 - test "''${1:5:1}" = i && _it=Italic || _it= 22 - case ''${1:6:3} in 23 - 400) test -z $it && _weight=Medium ;; 24 - 700) _weight=Bold ;; 25 - esac 26 - _pt=''${1%.bdf} 27 - _pt=''${_pt#*-} 28 - echo "Dina$_weight$_it$_pt" 27 + test "''${1:5:1}" = i && _it=Italic || _it= 28 + case ''${1:6:3} in 29 + 400) test -z $it && _weight=Medium ;; 30 + 700) _weight=Bold ;; 31 + esac 32 + _pt=''${1%.bdf} 33 + _pt=''${_pt#*-} 34 + echo "Dina$_weight$_it$_pt" 29 35 } 30 36 31 - # convert bdf fonts to pcf 32 - for i in *.bdf; do 33 - bdftopcf -t -o $(newName "$i").pcf "$i" 37 + for f in *.bdf; do 38 + name=$(newName "$f") 39 + bdftopcf -t -o "$name.pcf" "$f" 40 + fonttosfnt -v -o "$name.otb" "$f" 34 41 done 35 42 gzip -n -9 *.pcf 36 43 37 - # convert bdf fonts to otb 38 - for i in *.bdf; do 39 - fontforge -lang=ff -c "Open(\"$i\"); Generate(\"$(newName $i).otb\")" 40 - done 44 + runHook postBuild 41 45 ''; 42 46 43 47 installPhase = '' 48 + runHook preInstall 49 + 44 50 install -D -m 644 -t "$out/share/fonts/misc" *.pcf.gz *.otb 45 51 install -D -m 644 -t "$bdf/share/fonts/misc" *.bdf 46 52 mkfontdir "$out/share/fonts/misc" 47 53 mkfontdir "$bdf/share/fonts/misc" 48 - ''; 49 54 50 - outputs = [ "out" "bdf" ]; 55 + runHook postInstall 56 + ''; 51 57 52 58 meta = with lib; { 53 59 description = "A monospace bitmap font aimed at programmers";