#!/usr/bin/env bash msdf="msdf-atlas-gen" gen_glyph_map="dune exec --no-print-directory --display=quiet scripts/gen_glyph_map.exe" out_dir=assets/fonts/ mkdir -p $out_dir function gen() { echo "$1..." src=$(fc-list "$2" --format='%{file}\n') [[ -f "$src" ]] || (echo "no font matching $2"; exit 1) dst_png=$out_dir/$1.png dst_map=$out_dir/$1.map emsize=$3 [[ "$src" -nt "$dst_png" ]] && ($msdf \ -font $src \ -type mtsdf \ -imageout $dst_png \ -json >($gen_glyph_map > $dst_map) \ -size $emsize \ -yorigin top \ | exit 1) } #gen liberation-lg "Liberation Mono:style=regular" 128 gen mono-sm "Liberation Mono:style=regular" 24 gen roman-md "P052:style=roman" 80 #gen p052-roman.32 "P052:style=roman" 32