inter/misc/makezip.sh
Rasmus 0796076659
UPM 2048 and opsz axis (#462)
- UPM is adjusted to 2048
- Additional opsz VF axis (multi master) added which will eventually replace the separate Display family
- New tooling that uses fontmake instead of Inter's own fontbuild toolchain. (The old toolchain is still supported, i.e. `make -f Makefile_v1.make ...`)
2022-05-26 11:20:06 -07:00

155 lines
4.7 KiB
Bash
Executable file

#!/bin/bash -e
cd "$(dirname "$0")/.."
OPT_HELP=false
OPT_TEXT=false
OPT_DISPLAY=false
OPT_REVEAL_IN_FINDER=false
OUTFILE=
# parse args
while [[ $# -gt 0 ]]; do
case "$1" in
-h*|--h*)
OPT_HELP=true
shift
;;
-text|--text)
OPT_TEXT=true
shift
;;
-display|--display)
OPT_DISPLAY=true
shift
;;
-a*|--a*)
OPT_TEXT=true
OPT_DISPLAY=true
shift
;;
-reveal-in-finder)
OPT_REVEAL_IN_FINDER=true
shift
;;
-*)
echo "$0: Unknown option $1" >&2
OPT_HELP=true
shift
;;
*)
if [[ "$OUTFILE" != "" ]] && ! $OPT_HELP; then
echo "$0: Extra unexpected argument(s) after <outfile>" >&2
OPT_HELP=true
fi
OUTFILE=$1
shift
;;
esac
done
if (! $OPT_TEXT && ! $OPT_DISPLAY); then
OPT_HELP=true
echo "$0: Need at least one of: -all, -display, -text" >&2
fi
if $OPT_HELP; then
echo "Usage: $0 [options] <outfile>"
echo "Options:"
echo " -h, -help Show help."
echo " -text Include Inter Text"
echo " -display Include Inter Display"
echo " -a, -all Include all fonts"
echo " -reveal-in-finder After creating the zip file, show it in Finder"
exit 1
fi
# tmp dir
ZIPDIR=build/tmp/zip
FONTDIR=build/fonts
# convert relative path to absolute if needed
OUTFILE_ABS=$OUTFILE
if [[ "$OUTFILE_ABS" != /* ]]; then
OUTFILE_ABS=$PWD/$OUTFILE_ABS
fi
# cleanup any previous build
rm -rf "$ZIPDIR"
rm -f build/tmp/a.zip
# create directories
mkdir -p \
"$ZIPDIR/Inter Desktop" \
"$ZIPDIR/Inter Hinted for Windows/Desktop" \
"$ZIPDIR/Inter Hinted for Windows/Web" \
"$ZIPDIR/Inter Variable" \
"$ZIPDIR/Inter Variable/Single axis" \
"$ZIPDIR/Inter Web"
# copy font files
# ----------------------------------------------------------------------------
if $OPT_TEXT; then
# Inter Desktop
cp $FONTDIR/const/Inter-*.otf "$ZIPDIR/Inter Desktop/" &
cp $FONTDIR/var/Inter-V.var.ttf "$ZIPDIR/Inter Desktop/Inter-V.ttf" &
# Inter Hinted for Windows
cp "misc/dist/about hinted fonts.txt" "$ZIPDIR/Inter Hinted for Windows/" &
cp $FONTDIR/const-hinted/Inter-*.ttf "$ZIPDIR/Inter Hinted for Windows/Desktop/" &
cp $FONTDIR/const-hinted/Inter-*.woff* "$ZIPDIR/Inter Hinted for Windows/Web/" &
cp misc/dist/inter.css "$ZIPDIR/Inter Hinted for Windows/Web/" &
# Inter Variable
cp $FONTDIR/var/Inter.var.ttf "$ZIPDIR/Inter Variable/Inter.ttf" &
cp $FONTDIR/var/Inter-roman.var.ttf "$ZIPDIR/Inter Variable/Single axis/Inter-roman.ttf" &
cp $FONTDIR/var/Inter-italic.var.ttf "$ZIPDIR/Inter Variable/Single axis/Inter-italic.ttf" &
# Inter Web
cp $FONTDIR/const/Inter-*.woff* "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/Inter.var.woff2 "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/Inter-roman.var.woff2 "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/Inter-italic.var.woff2 "$ZIPDIR/Inter Web/" &
cp misc/dist/inter.css "$ZIPDIR/Inter Web/" &
fi
# ----------------------------------------------------------------------------
if $OPT_DISPLAY; then
# Inter Desktop
cp $FONTDIR/const/InterDisplay-*.otf "$ZIPDIR/Inter Desktop/" &
cp $FONTDIR/var/InterDisplay-V.var.ttf "$ZIPDIR/Inter Desktop/InterDisplay-V.ttf" &
# Inter Hinted for Windows
cp "misc/dist/about hinted fonts.txt" "$ZIPDIR/Inter Hinted for Windows/" &
cp $FONTDIR/const-hinted/InterDisplay-*.ttf "$ZIPDIR/Inter Hinted for Windows/Desktop/" &
cp $FONTDIR/const-hinted/InterDisplay-*.woff* "$ZIPDIR/Inter Hinted for Windows/Web/" &
cp misc/dist/inter-display.css "$ZIPDIR/Inter Hinted for Windows/Web/" &
# Inter Variable
cp $FONTDIR/var/InterDisplay.var.ttf "$ZIPDIR/Inter Variable/InterDisplay.ttf" &
cp $FONTDIR/var/InterDisplay-roman.var.ttf "$ZIPDIR/Inter Variable/Single axis/InterDisplay-roman.ttf" &
cp $FONTDIR/var/InterDisplay-italic.var.ttf "$ZIPDIR/Inter Variable/Single axis/InterDisplay-italic.ttf" &
# Inter Web
cp $FONTDIR/const/InterDisplay-*.woff* "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/InterDisplay.var.woff2 "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/InterDisplay-roman.var.woff2 "$ZIPDIR/Inter Web/" &
cp $FONTDIR/var/InterDisplay-italic.var.woff2 "$ZIPDIR/Inter Web/" &
cp misc/dist/inter-display.css "$ZIPDIR/Inter Web/" &
fi
# ----------------------------------------------------------------------------
# copy misc stuff
cp misc/dist/install*.txt "$ZIPDIR/"
cp LICENSE.txt "$ZIPDIR/"
mkdir -p "$(dirname "$OUTFILE_ABS")"
# wait for processes to finish
wait
# zip
pushd "$ZIPDIR" >/dev/null
zip -q -X -r "$OUTFILE_ABS" *
popd >/dev/null
rm -rf "$ZIPDIR"
echo "Created $OUTFILE"
if $OPT_REVEAL_IN_FINDER && [ -f /usr/bin/open ]; then
/usr/bin/open --reveal "$OUTFILE"
fi