+3
.gitignore
+3
.gitignore
+1
-1
LICENSE
+1
-1
LICENSE
-46
build.sh
-46
build.sh
···
1
-
#! /usr/bin/env bash
2
-
3
-
ff_filter() {
4
-
fontforge -c 'open(argv[1]).generate(argv[2])' "$1" "$2"
5
-
}
6
-
7
-
ttf_filter() {
8
-
# 1 - source file
9
-
# 2 - destination file
10
-
BNP=${BNP:="./BitsNPicas.jar"}
11
-
java -jar "$BNP" convertbitmap -f ttf -o "$2" "$1"
12
-
}
13
-
14
-
export_fonts() {
15
-
for i in src/*; do
16
-
local file_name
17
-
file_name=$(basename "${i%.*}")
18
-
ttf_filter "$i" "build/scientifica/ttf/$file_name.ttf"
19
-
ff_filter "$i" "build/scientifica/otb/$file_name.otb"
20
-
ff_filter "$i" "build/scientifica/bdf/$file_name.bdf"
21
-
done
22
-
}
23
-
24
-
export_plugins() {
25
-
cp -r ligature_plugins build/scientifica/ligature_plugins
26
-
}
27
-
28
-
main() {
29
-
rm -rf build
30
-
mkdir -p build/scientifica/{otb,ttf,bdf}
31
-
32
-
echo "[~] Exporting ligature plugins ..."
33
-
export_plugins
34
-
35
-
echo "[~] Exporting fonts ..."
36
-
export_fonts
37
-
38
-
echo "[~] Entering build directory ..."
39
-
cd build || echo "[!] Failed to enter build directory!"
40
-
tar c --file scientifica.tar scientifica ligature_plugins
41
-
echo "[~] Leaving build directory ..."
42
-
43
-
echo "[!] Done!"
44
-
}
45
-
46
-
main
+44
flake.lock
+44
flake.lock
···
1
+
{
2
+
"nodes": {
3
+
"bitsnpicas-src": {
4
+
"flake": false,
5
+
"locked": {
6
+
"lastModified": 1632715939,
7
+
"narHash": "sha256-7QnQeKEAQry1aSXqmgwwTnuXVroUdpo+8t6aJhfO+1I=",
8
+
"owner": "kreativekorp",
9
+
"repo": "bitsnpicas",
10
+
"rev": "b47896afe02a381f5e76871a8c7da0ce50d76a99",
11
+
"type": "github"
12
+
},
13
+
"original": {
14
+
"owner": "kreativekorp",
15
+
"repo": "bitsnpicas",
16
+
"type": "github"
17
+
}
18
+
},
19
+
"nixpkgs": {
20
+
"locked": {
21
+
"lastModified": 1632918953,
22
+
"narHash": "sha256-XY3TKBfhP7wCu/SeqrwIkTWkyYHy5W1yRR8pxyzRY9Y=",
23
+
"owner": "NixOS",
24
+
"repo": "nixpkgs",
25
+
"rev": "ee90403e147b181300dffca5b0afa405e14f1945",
26
+
"type": "github"
27
+
},
28
+
"original": {
29
+
"owner": "NixOS",
30
+
"ref": "nixos-21.05",
31
+
"repo": "nixpkgs",
32
+
"type": "github"
33
+
}
34
+
},
35
+
"root": {
36
+
"inputs": {
37
+
"bitsnpicas-src": "bitsnpicas-src",
38
+
"nixpkgs": "nixpkgs"
39
+
}
40
+
}
41
+
},
42
+
"root": "root",
43
+
"version": 7
44
+
}
+88
flake.nix
+88
flake.nix
···
1
+
{
2
+
description = "Scientifica: tall and condensed bitmap font for geeks";
3
+
4
+
inputs = {
5
+
6
+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-21.05";
7
+
8
+
bitsnpicas-src = {
9
+
url = "github:kreativekorp/bitsnpicas";
10
+
flake = false;
11
+
};
12
+
13
+
};
14
+
15
+
outputs =
16
+
{ self
17
+
, nixpkgs
18
+
, bitsnpicas-src
19
+
, ...
20
+
}:
21
+
let
22
+
supportedSystems = [ "x86_64-linux" "x86_64-darwin" ];
23
+
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
24
+
25
+
nixpkgsFor = forAllSystems (system:
26
+
import nixpkgs {
27
+
inherit system;
28
+
overlays = [ self.overlay ];
29
+
});
30
+
in
31
+
{
32
+
33
+
overlay = final: prev: rec {
34
+
35
+
bitsnpicas = with final; pkgs.writeScriptBin "bitsnpicas" ''
36
+
${jdk}/bin/java -jar ${bitsnpicas-src}/downloads/BitsNPicas.jar "$@"
37
+
'';
38
+
39
+
scientifica = with final; pkgs.stdenvNoCC.mkDerivation {
40
+
pname = "scientifica";
41
+
version = "v2.3";
42
+
src = ./src;
43
+
44
+
buildPhase = ''
45
+
runHook preBuild
46
+
47
+
ff_filter() {
48
+
${pkgs.fontforge}/bin/fontforge -c 'open(argv[1]).generate(argv[2])' "$@"
49
+
}
50
+
51
+
ttf_filter() {
52
+
${pkgs.bitsnpicas}/bin/bitsnpicas convertbitmap -f ttf -o "$2" "$1"
53
+
}
54
+
55
+
mkdir -p $out/{ttf,otb,bdf}
56
+
57
+
pushd $src
58
+
59
+
# generate font files
60
+
for i in *; do
61
+
local file_name
62
+
file_name="''${i%.*}"
63
+
ttf_filter "$i" "$out/ttf/$file_name.ttf"
64
+
ff_filter "$i" "$out/otb/$file_name.otb"
65
+
ff_filter "$i" "$out/bdf/$file_name.bdf"
66
+
done
67
+
68
+
popd
69
+
70
+
runHook postBuild
71
+
'';
72
+
73
+
installPhase = ''
74
+
true
75
+
'';
76
+
77
+
};
78
+
79
+
};
80
+
81
+
packages = forAllSystems (system: {
82
+
inherit (nixpkgsFor."${system}") scientifica bitsnpicas;
83
+
});
84
+
85
+
defaultPackage = forAllSystems (system: self.packages."${system}".scientifica);
86
+
87
+
};
88
+
}
+1
-1
ligature_plugins/README.md
+1
-1
ligature_plugins/README.md
···
15
15
cp ligature_plugins/rust.vim ~/.vim/after/syntax/
16
16
```
17
17
18
-
If you have `set conceallevel=0` if your `vimrc`, remove it.
18
+
If you have `set conceallevel=0` in your `vimrc`, remove it.
19
19
20
20
Big thanks to [romeovs](https://github.com/romeovs/) for
21
21
creating the haskell plugin and the idea of ligatures via
+24
-15
src/scientifica.sfd
+24
-15
src/scientifica.sfd
···
3
3
FullName: scientifica
4
4
FamilyName: scientifica
5
5
Weight: Medium
6
-
Copyright: Copyright (c) 2016, romeovs
6
+
Copyright: Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>
7
7
UComments: "2018-6-13: Created with FontForge (http://fontforge.org)"
8
8
Version: 001.000
9
9
ItalicAngle: 0
···
16
16
Layer: 0 0 "Back" 1
17
17
Layer: 1 0 "Fore" 0
18
18
XUID: [1021 714 -1221848914 16334107]
19
-
StyleMap: 0x0000
19
+
StyleMap: 0x0040
20
20
FSType: 0
21
21
OS2Version: 0
22
22
OS2_WeightWidthSlopeOnly: 0
23
23
OS2_UseTypoMetrics: 1
24
24
CreationTime: 1528931547
25
-
ModificationTime: 1586791767
25
+
ModificationTime: 315532800
26
+
PfmFamily: 49
27
+
TTFWeight: 500
28
+
TTFWidth: 5
29
+
LineGap: 90
30
+
VLineGap: 0
26
31
OS2TypoAscent: 0
27
32
OS2TypoAOffset: 1
28
33
OS2TypoDescent: 0
···
37
42
HheadDescent: 0
38
43
HheadDOffset: 1
39
44
OS2Vendor: 'PfEd'
45
+
MarkAttachClasses: 1
40
46
DEI: 91125
47
+
LangName: 1033
41
48
Encoding: UnicodeBmp
42
49
UnicodeInterp: none
43
50
NameList: AGL For New Fonts
44
51
DisplaySize: 11
45
52
AntiAlias: 1
46
53
FitToEm: 0
47
-
WinInfo: 56712 68 18
54
+
WinInfo: 0 68 18
48
55
OnlyBitmaps: 1
56
+
BeginPrivate: 0
57
+
EndPrivate
49
58
BeginChars: 65536 1085
50
59
51
60
StartChar: space
···
1594
1603
1595
1604
StartChar: Abreve
1596
1605
Encoding: 258 258 193
1597
-
Width: 1000
1606
+
Width: 454
1598
1607
VWidth: 0
1599
1608
Flags: W
1600
1609
LayerCount: 2
···
1826
1835
1827
1836
StartChar: gbreve
1828
1837
Encoding: 287 287 222
1829
-
Width: 1000
1838
+
Width: 454
1830
1839
VWidth: 0
1831
1840
Flags: W
1832
1841
LayerCount: 2
···
2330
2339
2331
2340
StartChar: Scedilla
2332
2341
Encoding: 350 350 285
2333
-
Width: 1000
2342
+
Width: 454
2334
2343
VWidth: 0
2335
2344
Flags: W
2336
2345
LayerCount: 2
···
2834
2843
2835
2844
StartChar: uni019D
2836
2845
Encoding: 413 413 348
2837
-
Width: 1000
2846
+
Width: 454
2838
2847
VWidth: 0
2839
2848
Flags: W
2840
2849
LayerCount: 2
···
8737
8746
CHARSET_COLLECTIONS 16 "ASCII ISOLatin1Encoding ISO8859-2 ISO8859-9 ISO8859-4 Symbol ISO10646-1"
8738
8747
FONT_NAME 16 "scientifica"
8739
8748
FACE_NAME 16 "scientifica"
8740
-
COPYRIGHT 16 "Copyright (c) 2016, romeovs"
8749
+
COPYRIGHT 16 "Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>"
8741
8750
FONT_VERSION 16 "1.0.0"
8742
8751
FONT_ASCENT 18 9
8743
8752
FONT_DESCENT 18 2
···
9068
9077
BDFChar: 155 220 5 0 3 0 8
9069
9078
O8tB(OH>QcDu]k<
9070
9079
BDFChar: 156 221 5 0 3 0 8
9071
-
+@)$MODkbm?iU0,
9080
+
+@)$MODkbmDu]k<
9072
9081
BDFChar: 157 222 5 0 3 0 6
9073
9082
JDcNNOPkWh
9074
9083
BDFChar: 158 223 5 0 3 -1 5
···
9141
9150
n,QjXORS?nO8o7\
9142
9151
BDFChar: 192 257 11 0 3 0 6
9143
9152
Duaj=OK_O]
9144
-
BDFChar: 193 258 11 0 3 0 8
9153
+
BDFChar: 193 258 5 0 3 0 8
9145
9154
OC2IXORS?nO8o7\
9146
9155
BDFChar: 194 259 5 0 3 0 7
9147
9156
OC/'-OH?\C
···
9199
9208
+A`&WOH>QC&7>J<
9200
9209
BDFChar: 221 286 5 0 3 0 8
9201
9210
OC2IXJ:Okc?iU0,
9202
-
BDFChar: 222 287 11 0 3 -2 7
9211
+
BDFChar: 222 287 5 0 3 -2 7
9203
9212
OC/'-OH>QC&7>J<
9204
9213
BDFChar: 223 288 5 0 3 0 8
9205
9214
5QG2RJ:Okc?iU0,
···
9325
9334
+AcI-J7&qM?iU0,
9326
9335
BDFChar: 284 349 11 0 3 0 7
9327
9336
+A`&WJ7&rH
9328
-
BDFChar: 285 350 11 0 3 -2 6
9337
+
BDFChar: 285 350 5 0 3 -2 6
9329
9338
@$#nH&<L9B?iU0,
9330
9339
BDFChar: 286 351 5 0 3 -2 4
9331
9340
E.D=-i#lD-
···
9451
9460
:nSpR@$$HM
9452
9461
BDFChar: 347 412 11 0 3 0 6
9453
9462
OH>QcORS>3
9454
-
BDFChar: 348 413 11 0 3 -2 6
9455
-
OH@hnY`OqX?iU0,
9463
+
BDFChar: 348 413 5 -1 3 -2 6
9464
+
88)[==@btJJ,fQL
9456
9465
BDFChar: 349 414 11 0 3 -2 4
9457
9466
i/j%^O:Vs'
9458
9467
BDFChar: 350 415 11 0 3 0 5
+19
-9
src/scientificaBold.sfd
+19
-9
src/scientificaBold.sfd
···
3
3
FullName: scientifica
4
4
FamilyName: scientifica
5
5
Weight: Bold
6
-
Copyright: Copyright (c) 2016, romeovs
6
+
Copyright: Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>
7
7
UComments: "2018-6-13: Created with FontForge (http://fontforge.org)"
8
8
Version: 001.000
9
9
ItalicAngle: 0
···
22
22
OS2_WeightWidthSlopeOnly: 0
23
23
OS2_UseTypoMetrics: 1
24
24
CreationTime: 1528931301
25
-
ModificationTime: 1528931301
25
+
ModificationTime: 315532800
26
+
PfmFamily: 17
27
+
TTFWeight: 700
28
+
TTFWidth: 5
29
+
LineGap: 90
30
+
VLineGap: 0
26
31
OS2TypoAscent: 0
27
32
OS2TypoAOffset: 1
28
33
OS2TypoDescent: 0
···
37
42
HheadDescent: 0
38
43
HheadDOffset: 1
39
44
OS2Vendor: 'PfEd'
45
+
MarkAttachClasses: 1
40
46
DEI: 91125
47
+
LangName: 1033
41
48
Encoding: UnicodeBmp
42
49
UnicodeInterp: none
43
50
NameList: AGL For New Fonts
44
51
DisplaySize: 11
45
52
AntiAlias: 1
46
53
FitToEm: 0
47
-
WinInfo: 9570 58 15
54
+
WinInfo: 58 58 15
48
55
OnlyBitmaps: 1
56
+
BeginPrivate: 0
57
+
EndPrivate
58
+
TeXData: 1 0 0 476054 238026 158684 0 1048576 158684 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
49
59
BeginChars: 65536 982
50
60
51
61
StartChar: space
···
2834
2844
2835
2845
StartChar: uni019D
2836
2846
Encoding: 413 413 348
2837
-
Width: 1000
2847
+
Width: 454
2838
2848
VWidth: 0
2839
2849
Flags: W
2840
2850
LayerCount: 2
···
7894
7904
LayerCount: 2
7895
7905
EndChar
7896
7906
EndChars
7897
-
BitmapFont: 11 982 9 2 1 nerdypepper
7907
+
BitmapFont: 11 983 9 2 1 nerdypepper
7898
7908
BDFStartProperties: 39
7899
7909
FONT 1 "-nerdypepper-scientifica-bold-r-normal--11-80-100-100-C-50-ISO10646-1"
7900
7910
SIZE 1 "11 75 75"
···
7919
7929
CHARSET_COLLECTIONS 16 "ASCII ISOLatin1Encoding ISO8859-2 ISO8859-9 ISO8859-4 Symbol ISO10646-1"
7920
7930
FONT_NAME 16 "scientificaBold"
7921
7931
FACE_NAME 16 "scientifica"
7922
-
COPYRIGHT 16 "Copyright (c) 2016, romeovs"
7932
+
COPYRIGHT 16 "Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>"
7923
7933
FONT_VERSION 16 "1.0.0"
7924
7934
FONT_ASCENT 18 9
7925
7935
FONT_DESCENT 18 2
···
8250
8260
BDFChar: 155 220 5 0 3 0 8
8251
8261
O8tB(OH>QcDu]k<
8252
8262
BDFChar: 156 221 5 0 3 0 8
8253
-
+@)$MODkbm?iU0,
8263
+
+@)$MODkbmDu]k<
8254
8264
BDFChar: 157 222 5 0 3 0 6
8255
8265
JDcNNOPkWh
8256
8266
BDFChar: 158 223 5 0 3 -1 5
···
8633
8643
:nSpR@$$HM
8634
8644
BDFChar: 347 412 11 0 3 0 6
8635
8645
OH>QcORS>3
8636
-
BDFChar: 348 413 11 0 3 -2 6
8637
-
OH@hnY`OqX?iU0,
8646
+
BDFChar: 348 413 5 -1 3 -2 6
8647
+
84[Dr=@btJJ,fQL
8638
8648
BDFChar: 349 414 11 0 3 -2 4
8639
8649
i/j%^O:Vs'
8640
8650
BDFChar: 350 415 11 0 3 0 5
+11
-11
src/scientificaItalic.sfd
+11
-11
src/scientificaItalic.sfd
···
3
3
FullName: scientifica
4
4
FamilyName: scientifica
5
5
Weight: Italic
6
-
Copyright: Copyright (c) 2016, romeovs
6
+
Copyright: Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>
7
7
Version: 001.000
8
8
ItalicAngle: 0
9
9
UnderlinePosition: -49
···
16
16
Layer: 0 0 "Back" 1
17
17
Layer: 1 0 "Fore" 0
18
18
XUID: [1021 552 -1923360401 8491390]
19
-
StyleMap: 0x0000
19
+
StyleMap: 0x0001
20
20
FSType: 0
21
21
OS2Version: 4
22
22
OS2_WeightWidthSlopeOnly: 0
23
23
OS2_UseTypoMetrics: 1
24
24
CreationTime: 1528752866
25
-
ModificationTime: 1586963935
26
-
PfmFamily: 17
25
+
ModificationTime: 315532800
26
+
PfmFamily: 49
27
27
TTFWeight: 500
28
28
TTFWidth: 5
29
29
LineGap: 90
···
1444
1444
1445
1445
StartChar: Abreve
1446
1446
Encoding: 258 258 196
1447
-
Width: 1000
1447
+
Width: 454
1448
1448
Flags: W
1449
1449
LayerCount: 2
1450
1450
EndChar
···
2529
2529
2530
2530
StartChar: uni019D
2531
2531
Encoding: 413 413 351
2532
-
Width: 1000
2532
+
Width: 454
2533
2533
Flags: W
2534
2534
LayerCount: 2
2535
2535
EndChar
···
7606
7606
CHARSET_COLLECTIONS 16 "ASCII ISOLatin1Encoding ISO8859-2 ISO8859-9 ISO8859-4 Symbol ISO10646-1"
7607
7607
FONT_NAME 16 "scientificaItalic"
7608
7608
FACE_NAME 16 "scientifica"
7609
-
COPYRIGHT 16 "Copyright (c) 2016, romeovs"
7609
+
COPYRIGHT 16 "Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>"
7610
7610
FONT_VERSION 16 "1.0.0"
7611
7611
FONT_ASCENT 18 9
7612
7612
FONT_DESCENT 18 2
···
7942
7942
BDFChar: 158 220 5 0 3 0 8
7943
7943
O8tB(OH>QcDu]k<
7944
7944
BDFChar: 159 221 5 0 3 0 8
7945
-
+@)$MODkbm?iU0,
7945
+
+@)$MODkbmDu]k<
7946
7946
BDFChar: 160 222 5 0 3 0 6
7947
7947
JDcNNOPkWh
7948
7948
BDFChar: 161 223 5 0 3 -1 5
···
8015
8015
n,QjXORS?nO8o7\
8016
8016
BDFChar: 195 257 11 0 3 0 6
8017
8017
Duaj=OK_O]
8018
-
BDFChar: 196 258 11 0 3 0 8
8018
+
BDFChar: 196 258 5 0 3 0 8
8019
8019
OC2IXORS?nO8o7\
8020
8020
BDFChar: 197 259 5 0 3 0 7
8021
8021
OC/'-OH?\C
···
8325
8325
:nSpR@$$HM
8326
8326
BDFChar: 350 412 11 0 3 0 6
8327
8327
OH>QcORS>3
8328
-
BDFChar: 351 413 11 0 3 -2 6
8329
-
OH@hnY`OqX?iU0,
8328
+
BDFChar: 351 413 5 -1 3 -2 6
8329
+
84[Dr=@btJJ,fQL
8330
8330
BDFChar: 352 414 11 0 3 -2 4
8331
8331
i/j%^O:Vs'
8332
8332
BDFChar: 353 415 11 0 3 0 5