tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
dina-font: use fonttosfnt instead of fontforge
Naïm Favier
4 years ago
00bda76b
b5a9df01
+26
-20
1 changed file
expand all
collapse all
unified
split
pkgs
data
fonts
dina
default.nix
+26
-20
pkgs/data/fonts/dina/default.nix
···
1
1
{ lib, stdenv, fetchurl, unzip
2
2
-
, bdftopcf, mkfontscale, fontforge
2
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
9
+
outputs = [ "out" "bdf" ];
10
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
15
-
[ unzip bdftopcf mkfontscale fontforge ];
17
17
+
[ unzip bdftopcf mkfontscale fonttosfnt ];
16
18
17
17
-
patchPhase = "sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf";
19
19
+
postPatch = ''
20
20
+
sed -i 's/microsoft-cp1252/ISO8859-1/' *.bdf
21
21
+
'';
18
22
19
23
buildPhase = ''
24
24
+
runHook preBuild
25
25
+
20
26
newName() {
21
21
-
test "''${1:5:1}" = i && _it=Italic || _it=
22
22
-
case ''${1:6:3} in
23
23
-
400) test -z $it && _weight=Medium ;;
24
24
-
700) _weight=Bold ;;
25
25
-
esac
26
26
-
_pt=''${1%.bdf}
27
27
-
_pt=''${_pt#*-}
28
28
-
echo "Dina$_weight$_it$_pt"
27
27
+
test "''${1:5:1}" = i && _it=Italic || _it=
28
28
+
case ''${1:6:3} in
29
29
+
400) test -z $it && _weight=Medium ;;
30
30
+
700) _weight=Bold ;;
31
31
+
esac
32
32
+
_pt=''${1%.bdf}
33
33
+
_pt=''${_pt#*-}
34
34
+
echo "Dina$_weight$_it$_pt"
29
35
}
30
36
31
31
-
# convert bdf fonts to pcf
32
32
-
for i in *.bdf; do
33
33
-
bdftopcf -t -o $(newName "$i").pcf "$i"
37
37
+
for f in *.bdf; do
38
38
+
name=$(newName "$f")
39
39
+
bdftopcf -t -o "$name.pcf" "$f"
40
40
+
fonttosfnt -v -o "$name.otb" "$f"
34
41
done
35
42
gzip -n -9 *.pcf
36
43
37
37
-
# convert bdf fonts to otb
38
38
-
for i in *.bdf; do
39
39
-
fontforge -lang=ff -c "Open(\"$i\"); Generate(\"$(newName $i).otb\")"
40
40
-
done
44
44
+
runHook postBuild
41
45
'';
42
46
43
47
installPhase = ''
48
48
+
runHook preInstall
49
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
48
-
'';
49
54
50
50
-
outputs = [ "out" "bdf" ];
55
55
+
runHook postInstall
56
56
+
'';
51
57
52
58
meta = with lib; {
53
59
description = "A monospace bitmap font aimed at programmers";