Z80 Sans
What's your favourite disassembler? Mine's a font:
1.mp4
This font converts sequences of hexadecimal lowercase characters into disassembled Z80 instructions, by making extensive use of OpenType's Glyph Substitution Table (GSUB) and Glyph Positioning Table (GPOS).
If you just want to try it out, a copy is available under ./test/z80-sans.ttf .
Install
Tested on Debian GNU/Linux 12. Note that this Debian version ships with ruby version 3, while fontcustom was written for ruby version 2, and is incompatible with later versions (e.g. syntax errors). A ruby install also requires a compatible OpenSSL version. Therefore, RVM can be used to manage both ruby and a local install of OpenSSL.
apt install imagemagick potrace pip install fonttools git submodule update --init --recursive # fontforge ( cd ./modules/fontforge/ git checkout 4f4907d9541857b135bd0b361099e778325b4e28 git apply ../../resources/fontforge.diff mkdir -p build cd build cmake -GNinja .. ninja ninja install ) # woff2 ( cd ./modules/woff2/ make clean all ) # fontcustom rvm use 2.7 rvm pkg install openssl rvm install 2.4 --with-openssl-dir= $HOME /.rvm/usr gem update --system 3.3.22 ( export PATH= $PWD /modules/woff2/build: $PATH cd ./modules/fontcustom/ git apply ../../resources/fontcustom.diff gem build fontcustom.gemspec gem install ./fontcustom-2.0.0.gem )
Running
cp ./resources/droid-sans-mono.ttf /tmp/base.ttf ./gen.py ./resources/instructions.json
... continue reading