iOS/Tools/BuildMaterialDesignIconsFon...

72 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
# This script is needed to update MDI to latest and install it in such a way that it works with Iconic.
# Just run this script and it should handle everything.
# You do need enough of a Python environment setup to be able to pip install things.
set -euo pipefail
pushd `dirname $0` >/dev/null
# helper tool
FONT_RENAME_COMMIT=77734a1a165d25c8c83b2201c15e268da4a107b6
# updating this requires re-executing swiftgen to pick up the new names
# failing to keep the MDI and SVG versions in-sync will produce problems, as we use the SVG's JSON for codepoints
MDI_COMMIT=081279cbda3e72e34a2c2a445a4a92dffa1e0314
SVG_COMMIT=d022f3ecd4bf33d588b145dd59bb11eac7a23c46
MDI_VERSION=7.1.96
echo "Checking for latest..."
LATEST=$(curl --silent https://api.github.com/repos/Templarian/MaterialDesign-Webfont/tags | sed -n -e 's/.*"name": "v\([^"]*\)".*/\1/p' | head -1)
echo "Latest available: $LATEST; latest supported: $MDI_VERSION"
if [[
-f MaterialDesignIcons.ttf && \
-f MaterialDesignIcons-$MDI_VERSION.ttf && \
-f MaterialDesignIcons.json && \
-f MaterialDesignIcons-$MDI_VERSION.json ]]; then
if [ $LATEST != $MDI_VERSION ]; then
echo "Out of date, but latest supported installed"
else
echo "Up-to-date"
fi
exit
fi
echo "Ensuring fonttools is installed via pip..."
pip3 install --user fonttools
if [ ! -f fontname-$FONT_RENAME_COMMIT.py ]; then
echo "Downloading the fontname script..."
curl -O --silent https://raw.githubusercontent.com/chrissimpkins/fontname.py/77734a1a165d25c8c83b2201c15e268da4a107b6/fontname.py >fontname-$FONT_RENAME_COMMIT.py
else
echo "fontname.py is already downloaded"
fi
echo "Downloading the latest MaterialDesignIcons TTF..."
curl -O --silent https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/$MDI_COMMIT/fonts/materialdesignicons-webfont.ttf
echo "Downloading the latest MaterialDesignIcons JSON..."
curl -O --silent https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/$SVG_COMMIT/meta.json
echo "Renaming raw files..."
mv materialdesignicons-webfont.ttf MaterialDesignIcons-$MDI_VERSION.ttf
mv meta.json MaterialDesignIcons-$MDI_VERSION.json
echo "Changing font name..."
python3 fontname-$FONT_RENAME_COMMIT.py MaterialDesignIcons MaterialDesignIcons-$MDI_VERSION.ttf
echo "Creating links..."
ln -f MaterialDesignIcons-$MDI_VERSION.ttf MaterialDesignIcons.ttf
ln -f MaterialDesignIcons-$MDI_VERSION.json MaterialDesignIcons.json
echo "Successfully built MaterialDesignIcons at version $MDI_VERSION"
echo "Running Swiftgen..."
pushd ..
Pods/SwiftGen/bin/swiftgen
popd
popd