mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-12-19 20:12:52 +02:00
archive-fonts: Whitespace
No functional change except working in sorted order. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This commit is contained in:
parent
6511284741
commit
6b49625585
@ -1,11 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
# Nerd Fonts Version: 3.0.1
|
||||
# Script Version: 1.1.2
|
||||
# Script Version: 1.1.3
|
||||
# Iterates over all patched fonts directories
|
||||
# to generate ruby cask files for homebrew-fonts (https://github.com/caskroom/homebrew-fonts)
|
||||
# adds Windows versions of the fonts as well (casks files just won't download them)
|
||||
# used for debugging
|
||||
# set -x
|
||||
# to generate release archives of the patched font(s)
|
||||
#
|
||||
# Example run with pattern matching:
|
||||
# ./archive-fonts heavydata
|
||||
# Example with same font names for different paths
|
||||
@ -16,19 +14,17 @@ set -e
|
||||
LINE_PREFIX="# [Nerd Fonts] "
|
||||
scripts_root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/"
|
||||
parent_dir="${PWD}/../../"
|
||||
echo "dir $scripts_root_dir"
|
||||
outputdir=$scripts_root_dir../../archives
|
||||
|
||||
mkdir -p "$outputdir"
|
||||
|
||||
cd "$scripts_root_dir/../../patched-fonts/" || {
|
||||
echo >&2 "$LINE_PREFIX Could not find patched fonts directory"
|
||||
exit 1
|
||||
echo >&2 "$LINE_PREFIX Could not find patched fonts directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# limit archiving to given pattern (first script param) or entire root folder if no param given:
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
if [ $# -eq 1 ]; then
|
||||
pattern=$1
|
||||
search_pattern="*$1*.zip"
|
||||
echo "$LINE_PREFIX Limiting archive to pattern '$pattern'"
|
||||
@ -46,41 +42,38 @@ cat "$parent_dir/src/archive-readme.md" >> "$mini_readme"
|
||||
# clear out the directory zips
|
||||
find "${outputdir:?}" -name "$search_pattern" -type f -delete
|
||||
|
||||
#find ./Hack -maxdepth 0 -type d | # uncomment to test 1 font
|
||||
#find ./ProFont -maxdepth 0 -type d | # uncomment to test 1 font
|
||||
# find ./IBMPlexMono -maxdepth 0 -type d | # uncomment to test 1 font
|
||||
# uncomment to test all fonts:
|
||||
find . -maxdepth 1 -iregex "\./$pattern" -type d |
|
||||
while read -r filename
|
||||
do
|
||||
find . -maxdepth 1 -iregex "\./$pattern" -type d | sort |
|
||||
while read -r filename; do
|
||||
basename=$(basename "$filename")
|
||||
searchdir=$filename
|
||||
|
||||
basename=$(basename "$filename")
|
||||
searchdir=$filename
|
||||
[[ -d "$outputdir" ]] || mkdir -p "$outputdir"
|
||||
|
||||
[[ -d "$outputdir" ]] || mkdir -p "$outputdir"
|
||||
|
||||
# add font files:
|
||||
# -ic (ignore case not working)
|
||||
zip -9 "$outputdir/$basename" -rj "$searchdir" -i '*.[ot]tf' -i '*.[OT]TF' -q
|
||||
zipStatus=$?
|
||||
if [ "$zipStatus" != "0" ]
|
||||
then
|
||||
echo "$LINE_PREFIX Could not create archive with the path junked (-j option) - likely same font names for different paths, zip status: $zipStatus"
|
||||
echo "$LINE_PREFIX Retrying with full path"
|
||||
# add font files and license files as full paths:
|
||||
zip -9 "$outputdir/$basename" -r "$searchdir" -i '*.[ot]tf' -i '*.[OT]TF' -i '*[Ll]icen[sc]e*' -i '*LICEN[SC]E*' -i 'OFL*' -i 'ofl*' -q
|
||||
else
|
||||
# we can copy the font files without full paths but not necessarily the license files:
|
||||
# add license files separately:
|
||||
# zip -9 "$outputdir/$basename" -rj "$searchdir" -i '*license*' -i '*LICENSE*'
|
||||
# work around to copy duplicate license files (only the last duplicate found)
|
||||
# so we don't have to copy entire paths and can still use the junk option (-j)
|
||||
find "$searchdir" -type f -iname "*licen[sc]e*" -o -iname 'ofl*' | awk -F/ '{a[$NF]=$0}END{for(i in a)print a[i]}' | zip -9 -j "$outputdir/$basename" -@
|
||||
fi;
|
||||
|
||||
# add mini readme file
|
||||
zip -9 "$outputdir/$basename" -rj "$mini_readme" -q
|
||||
# ZIP stuff:
|
||||
# add font files:
|
||||
# -ic (ignore case not working)
|
||||
echo "${LINE_PREFIX} Packing ${basename}.zip"
|
||||
zip -9 "$outputdir/$basename" -rj "$searchdir" -i '*.[ot]tf' -i '*.[OT]TF' -q
|
||||
zipStatus=$?
|
||||
if [ "$zipStatus" != "0" ]; then
|
||||
echo "$LINE_PREFIX Could not create archive with the path junked (-j option) - likely same font names for different paths, zip status: $zipStatus"
|
||||
echo "$LINE_PREFIX Retrying with full path"
|
||||
# add font files and license files as full paths:
|
||||
zip -9 "$outputdir/$basename" -r "$searchdir" -i '*.[ot]tf' -i '*.[OT]TF' -i '*[Ll]icen[sc]e*' -i '*LICEN[SC]E*' -i 'OFL*' -i 'ofl*' -q
|
||||
else
|
||||
# we can copy the font files without full paths but not necessarily the license files:
|
||||
# add license files separately:
|
||||
# zip -9 "$outputdir/$basename" -rj "$searchdir" -i '*license*' -i '*LICENSE*'
|
||||
# work around to copy duplicate license files (only the last duplicate found)
|
||||
# so we don't have to copy entire paths and can still use the junk option (-j)
|
||||
find "$searchdir" -type f -iname "*licen[sc]e*" -o -iname 'ofl*' | awk -F/ '{a[$NF]=$0}END{for(i in a)print a[i]}' | zip -9 -j "$outputdir/$basename" -@
|
||||
fi;
|
||||
|
||||
# add mini readme file
|
||||
zip -9 "$outputdir/$basename" -rj "$mini_readme" -q
|
||||
done
|
||||
rm -f "$mini_readme"
|
||||
|
||||
rm -f "$mini_readme"
|
||||
ls -al "$outputdir"
|
||||
|
Loading…
Reference in New Issue
Block a user