openpilot/selfdrive/assets/prep-svg.sh
Vehicle Researcher c5d5c5d1f3 openpilot v0.10.1 release
date: 2025-10-24T00:30:59
master commit: 405631baf9685e171a0dd19547cb763f1b163d18
2025-10-24 00:31:03 -07:00

47 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
ICONS_DIR="$DIR/icons"
BOOTSTRAP_SVG="$DIR/../../third_party/bootstrap/bootstrap-icons.svg"
ICON_IDS=(
arrow-right
backspace
capslock-fill
shift
shift-fill
)
ICON_FILL_COLOR="#fff"
# extract bootstrap icons
for id in "${ICON_IDS[@]}"; do
svg="${ICONS_DIR}/${id}.svg"
perl -0777 -ne "print \$& if /<symbol[^>]*id=\"$id\"[^>]*>.*?<\/symbol>/s" "$BOOTSTRAP_SVG" \
| sed "s/<symbol/<svg fill=\"$ICON_FILL_COLOR\"/; s/<\/symbol>/<\/svg>/" > "$svg"
done
# sudo apt install inkscape
for svg in $(find $DIR -type f | grep svg$); do
bunx svgo $svg --multipass --pretty --indent 2
# convert to PNG
png="${svg%.svg}.png"
width=$(inkscape --query-width "$svg")
height=$(inkscape --query-height "$svg")
if (( $(echo "$width > $height" | bc -l) )); then
export_dim="--export-width=512"
else
export_dim="--export-height=512"
fi
inkscape "$svg" --export-filename="$png" "$export_dim"
optipng -o7 -strip all "$png"
done
# cleanup bootstrap SVGs
for id in "${ICON_IDS[@]}"; do
rm "${ICONS_DIR}/${id}.svg"
done