tall, condensed bitmap font for geeks

Compare changes

Choose any two refs to compare.

+3
.gitignore
··· 8 8 9 9 # ttf converter binary 10 10 BitsNPicas.jar 11 + .envrc 12 + result 13 + .direnv
+1 -1
LICENSE
··· 1 - Copyright (c) 2018 Akshay Oppiliappan (nerdypepper@tuta.io) 1 + Copyright (c) 2020 Akshay Oppiliappan (nerdy@peppe.rs) 2 2 3 3 This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 4 This license is copied below, and is also available with a FAQ at:
-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
··· 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
··· 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
··· 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
+5
ligature_plugins/rust.vim
··· 19 19 syn match rustIsEqual /==/ contains=FirstEqual,SecondEqual 20 20 syn match FirstEqual /=/ contained containedin=rustIsEqual conceal cchar=๎‚ž 21 21 syn match SecondEqual /=\@<=>/ contained containedin=rustIsEqual conceal cchar=๎‚ž 22 + 23 + " #[ 24 + syn match rustAttributeHash /#\[/ contains=rustAH,rustAB 25 + syn match rustAH /#/ contained containedin=rustAH conceal cchar=๎ƒ‡ 26 + syn match rustAB /\[/ contained containedin=rustAB conceal cchar=๎ƒˆ
+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
··· 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
+18 -15
src/scientificaItalic.sfd
··· 1 - SplineFontDB: 3.0 1 + SplineFontDB: 3.2 2 2 FontName: scientificaItalic 3 3 FullName: scientifica 4 4 FamilyName: scientifica 5 - Weight: Medium 6 - Copyright: Copyright (c) 2016, romeovs 5 + Weight: Italic 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: 1528768782 26 - PfmFamily: 17 25 + ModificationTime: 315532800 26 + PfmFamily: 49 27 27 TTFWeight: 500 28 28 TTFWidth: 5 29 29 LineGap: 90 ··· 55 55 OS2Vendor: 'PfEd' 56 56 OS2CodePages: c0000093.cdd40000 57 57 OS2UnicodeRanges: a00000ff.1804f8ea.00040040.00000000 58 + MarkAttachClasses: 1 58 59 DEI: 91125 59 60 LangName: 1033 "" "" "" "FontForge : scientifica : 13-6-2018" 60 61 Encoding: UnicodeBmp ··· 63 64 DisplaySize: -48 64 65 AntiAlias: 1 65 66 FitToEm: 0 66 - WinInfo: 0 65 18 67 + WinInfo: 65 65 18 67 68 OnlyBitmaps: 1 69 + BeginPrivate: 0 70 + EndPrivate 68 71 BeginChars: 65539 1073 69 72 70 73 StartChar: .notdef ··· 1441 1444 1442 1445 StartChar: Abreve 1443 1446 Encoding: 258 258 196 1444 - Width: 1000 1447 + Width: 454 1445 1448 Flags: W 1446 1449 LayerCount: 2 1447 1450 EndChar ··· 2526 2529 2527 2530 StartChar: uni019D 2528 2531 Encoding: 413 413 351 2529 - Width: 1000 2532 + Width: 454 2530 2533 Flags: W 2531 2534 LayerCount: 2 2532 2535 EndChar ··· 7578 7581 LayerCount: 2 7579 7582 EndChar 7580 7583 EndChars 7581 - BitmapFont: 11 1073 9 2 1 7584 + BitmapFont: 11 1074 9 2 1 7582 7585 BDFStartProperties: 39 7583 7586 FONT 1 "-nerdypepper-scientifica-medium-i-normal--11-80-100-100-C-50-ISO10646-1" 7584 7587 SIZE 1 "11 75 75" ··· 7603 7606 CHARSET_COLLECTIONS 16 "ASCII ISOLatin1Encoding ISO8859-2 ISO8859-9 ISO8859-4 Symbol ISO10646-1" 7604 7607 FONT_NAME 16 "scientificaItalic" 7605 7608 FACE_NAME 16 "scientifica" 7606 - COPYRIGHT 16 "Copyright (c) 2016, romeovs" 7609 + COPYRIGHT 16 "Copyright (c) 2021, Akshay Oppiliappan <nerdy@peppe.rs>" 7607 7610 FONT_VERSION 16 "1.0.0" 7608 7611 FONT_ASCENT 18 9 7609 7612 FONT_DESCENT 18 2 ··· 7939 7942 BDFChar: 158 220 5 0 3 0 8 7940 7943 O8tB(OH>QcDu]k< 7941 7944 BDFChar: 159 221 5 0 3 0 8 7942 - +@)$MODkbm?iU0, 7945 + +@)$MODkbmDu]k< 7943 7946 BDFChar: 160 222 5 0 3 0 6 7944 7947 JDcNNOPkWh 7945 7948 BDFChar: 161 223 5 0 3 -1 5 ··· 8012 8015 n,QjXORS?nO8o7\ 8013 8016 BDFChar: 195 257 11 0 3 0 6 8014 8017 Duaj=OK_O] 8015 - BDFChar: 196 258 11 0 3 0 8 8018 + BDFChar: 196 258 5 0 3 0 8 8016 8019 OC2IXORS?nO8o7\ 8017 8020 BDFChar: 197 259 5 0 3 0 7 8018 8021 OC/'-OH?\C ··· 8322 8325 :nSpR@$$HM 8323 8326 BDFChar: 350 412 11 0 3 0 6 8324 8327 OH>QcORS>3 8325 - BDFChar: 351 413 11 0 3 -2 6 8326 - OH@hnY`OqX?iU0, 8328 + BDFChar: 351 413 5 -1 3 -2 6 8329 + 84[Dr=@btJJ,fQL 8327 8330 BDFChar: 352 414 11 0 3 -2 4 8328 8331 i/j%^O:Vs' 8329 8332 BDFChar: 353 415 11 0 3 0 5