diff --git a/bin/scripts/Hack/postprocess.sh b/bin/scripts/Hack/postprocess.sh index 16bff989a..f26d94dc3 100755 --- a/bin/scripts/Hack/postprocess.sh +++ b/bin/scripts/Hack/postprocess.sh @@ -9,6 +9,6 @@ echo "dir $dir" "${dir}/autohint.sh" "$fontfile" "${dir}/../fpfix.py" "$fontfile" -printf "\n" -printf "[Nerd Fonts] Post Processed Hack '%s'\n" "$fontfile" +printf "\\n" +printf "[Nerd Fonts] Post Processed Hack '%s'\\n" "$fontfile" diff --git a/bin/scripts/generate-css.sh b/bin/scripts/generate-css.sh index 9ca76131a..4e4791bfd 100755 --- a/bin/scripts/generate-css.sh +++ b/bin/scripts/generate-css.sh @@ -2,6 +2,7 @@ # version: 1.2.0 # Generates CSS file for the font +# shellcheck disable=SC1091 source ./lib/i_all.sh output_css_file="../../css/nerd-fonts-generated.css" @@ -11,17 +12,17 @@ LINE_PREFIX="# [Nerd Fonts] " version="1.2.0" # clear files -> "$output_css_file" 2> /dev/null -> "$output_cheat_sheet_file" 2> /dev/null +true > "$output_css_file" 2> /dev/null +true > "$output_cheat_sheet_file" 2> /dev/null # describe how the classes were established { - printf "/*\n" - printf " *%s Website: https://www.nerdfonts.com\n" "$LINE_PREFIX" - printf " *%s Development Website: https://github.com/ryanoasis/nerd-fonts\n" "$LINE_PREFIX" - printf " *%s Version: %s\n" "$LINE_PREFIX" "$version" - printf " *%s The following is generated from the build script\n" "$LINE_PREFIX" - printf " */\n\n" + printf "/*\\n" + printf " *%s Website: https://www.nerdfonts.com\\n" "$LINE_PREFIX" + printf " *%s Development Website: https://github.com/ryanoasis/nerd-fonts\\n" "$LINE_PREFIX" + printf " *%s Version: %s\\n" "$LINE_PREFIX" "$version" + printf " *%s The following is generated from the build script\\n" "$LINE_PREFIX" + printf " */\\n\\n" # add top section of CSS cat $header_css_file } >> "$output_css_file" @@ -49,25 +50,25 @@ for var in "${!i@}"; do # generate css rules { printf ".nf-%s:before, .nerd-font-%s:before, .nerd-fonts-%s:before {" "$glyph_name" "$glyph_name" "$glyph_name" - printf "\n" - printf " content: \"\%s\";" "$glyph_code" - printf "\n" + printf "\\n" + printf " content: \"\\%s\";" "$glyph_code" + printf "\\n" printf "}" - printf "\n" + printf "\\n" } >> "$output_css_file" # generate HTML cheat sheet { printf "
" - printf "\n" + printf "\\n" printf "
" "$glyph_name" - printf "\n" + printf "\\n" printf " nf-%s
(%s)
" "$glyph_name" "$glyph_code" - printf "\n" + printf "\\n" printf "
" - printf "\n" + printf "\\n" } >> "$output_cheat_sheet_file" done -printf "Generated CSS and Cheat Sheet HTML\n" +printf "Generated CSS and Cheat Sheet HTML\\n" diff --git a/bin/scripts/generate-fontconfig.sh b/bin/scripts/generate-fontconfig.sh index 207dec815..1527d4bd5 100755 --- a/bin/scripts/generate-fontconfig.sh +++ b/bin/scripts/generate-fontconfig.sh @@ -18,7 +18,7 @@ cd $unpatched_parent_dir || { } # clear output file (needed for multiple runs or updates): -> "$to" 2> /dev/null +true > "$to" 2> /dev/null # add to the file { @@ -60,6 +60,6 @@ done # add to the file { - printf "\n\n" + printf "\\n\\n" } >> "$to" diff --git a/bin/scripts/gotta-patch-em-all-font-patcher!.sh b/bin/scripts/gotta-patch-em-all-font-patcher!.sh index 57a8f1af6..e44f2539f 100755 --- a/bin/scripts/gotta-patch-em-all-font-patcher!.sh +++ b/bin/scripts/gotta-patch-em-all-font-patcher!.sh @@ -1,8 +1,8 @@ #!/bin/bash # version: 1.2.0 -# used for debugging -#set -x + # used for debugging + #set -x # for executing script to rebuild JUST the readmes: # ./gotta-patch-em-all-font-patcher\!.sh "" info @@ -75,9 +75,11 @@ function patch_font { # source the font config file if exists: if [ -f "$config_dir/config.cfg" ] then + # shellcheck source=/dev/null source "$config_dir/config.cfg" elif [ -f "$config_parent_dir/config.cfg" ] then + # shellcheck source=/dev/null source "$config_parent_dir/config.cfg" fi @@ -88,13 +90,15 @@ function patch_font { post_process="" fi + # shellcheck disable=SC2154 + # we know the '$config_has_powerline' is from the sourced file if [ "$config_has_powerline" ] then powerline="" - combinations=$(printf "./font-patcher ${f##*/} %s\n" {' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) + combinations=$(printf "./font-patcher ${f##*/} %s\\n" {' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) else powerline="--powerline" - combinations=$(printf "./font-patcher ${f##*/} %s\n" {' --powerline',}{' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) + combinations=$(printf "./font-patcher ${f##*/} %s\\n" {' --powerline',}{' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) fi cd "$parent_dir" || { @@ -138,19 +142,21 @@ function generate_info { # source the font config file if exists: if [ -f "$config_dir/config.cfg" ] then + # shellcheck source=/dev/null source "$config_dir/config.cfg" elif [ -f "$config_parent_dir/config.cfg" ] then + # shellcheck source=/dev/null source "$config_parent_dir/config.cfg" fi if [ "$config_has_powerline" ] then powerline="" - combinations=$(printf "./font-patcher ${f##*/} %s\n" {' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) + combinations=$(printf "./font-patcher ${f##*/} %s\\n" {' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) else powerline="--powerline" - combinations=$(printf "./font-patcher ${f##*/} %s\n" {' --powerline',}{' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) + combinations=$(printf "./font-patcher ${f##*/} %s\\n" {' --powerline',}{' --use-single-width-glyphs',}{' --windows',}{' --fontawesome',}{' --octicons',}{' --fontlinux',}{' --pomicons',}{' --powerlineextra',}{' --fontawesomeextension',}{' --powersymbols',}) fi font_families_count=$((font_families_count+1)) @@ -184,7 +190,7 @@ function generate_readme { local font_info="$patched_font_dir/font-info.md" # clear output file (needed for multiple runs or updates): - > "$combinations_filename" + true > "$combinations_filename" if [ -f "$font_info" ]; then @@ -202,16 +208,16 @@ function generate_readme { # add to the file { printf "\`\`\`sh" - printf "\n# %s Possible Combinations:\n" "$combination_count" - printf "\n" + printf "\\n# %s Possible Combinations:\\n" "$combination_count" + printf "\\n" printf "%s" "$combinations" - printf "\n" + printf "\\n" printf "\`\`\`" } >> "$combinations_filename" fi } -if [ ! $info_only ] +if [ ! "$info_only" ] then # Iterate through source fonts for i in "${!source_fonts[@]}" @@ -227,7 +233,7 @@ then # however we want to run a certain number in parallel to decrease # the amount of time patching all the fonts will take # for now set a 'wait' for each X set of processes: - if [[ $(($i % $max_parallel_process)) == 0 ]]; + if [[ $((i % max_parallel_process)) == 0 ]]; then echo "$LINE_PREFIX Complete Variation Count after max parallel process is $complete_variation_count" wait @@ -259,11 +265,11 @@ dt3=$(echo "$dt2-3600*$dh" | bc) dm=$(echo "$dt3/60" | bc) ds=$(echo "$dt3-60*$dm" | bc) -printf "$LINE_PREFIX Total runtime: %d:%02d:%02d:%02d\n" "$dd" "$dh" "$dm" "$ds" +printf "$LINE_PREFIX Total runtime: %d:%02d:%02d:%02d\\n" "$dd" "$dh" "$dm" "$ds" -printf "# All fonts patched to sub-directories in \t\t\t'%s'\n" "$patched_parent_dir" -printf "# The total number of font typefaces patched was \t\t'%s'\n" "$font_typefaces_count" -printf "# The total number of font families patched was \t\t'%s'\n" "$font_families_count" -printf "# The total number of 'complete' patched fonts created was \t'%s'\n" "$complete_variation_count" -printf "# The total number of 'variation' patched fonts created was \t'%s'\n" "$total_variation_count" -printf "# The total number of patched fonts created was \t\t'%s'\n" "$total_count" +printf "# All fonts patched to sub-directories in \\t\\t\\t'%s'\\n" "$patched_parent_dir" +printf "# The total number of font typefaces patched was \\t\\t'%s'\\n" "$font_typefaces_count" +printf "# The total number of font families patched was \\t\\t'%s'\\n" "$font_families_count" +printf "# The total number of 'complete' patched fonts created was \\t'%s'\\n" "$complete_variation_count" +printf "# The total number of 'variation' patched fonts created was \\t'%s'\\n" "$total_variation_count" +printf "# The total number of patched fonts created was \\t\\t'%s'\\n" "$total_count" diff --git a/bin/scripts/lib/i_all.sh b/bin/scripts/lib/i_all.sh index 74d072b5d..f70d8785c 100644 --- a/bin/scripts/lib/i_all.sh +++ b/bin/scripts/lib/i_all.sh @@ -1,6 +1,7 @@ #!/bin/bash for i in $(dirname "${BASH_SOURCE[0]:-$0}")/i_{dev,fae,fa,iec,linux,oct,ple,pom,seti}.sh; do + # shellcheck source=/dev/null test -f "$i" -a -r "$i" && source "$i" done unset i diff --git a/bin/scripts/standardize-and-complete-readmes.sh b/bin/scripts/standardize-and-complete-readmes.sh index 2653fe815..11093e7ad 100755 --- a/bin/scripts/standardize-and-complete-readmes.sh +++ b/bin/scripts/standardize-and-complete-readmes.sh @@ -24,7 +24,7 @@ function appendRfnInfo { then # add to the file { - printf "\n## Why \`%s\` and not \`%s\`?\n" "$config_rfn_substitue" "$config_rfn" + printf "\\n## Why \`%s\` and not \`%s\`?\\n" "$config_rfn_substitue" "$config_rfn" cat "$working_dir/../../src/readme-rfn-addendum.md" } >> "$to" fi @@ -35,7 +35,7 @@ function clearDestination { local to=$1; shift [[ -d "$to_dir" ]] || mkdir -p "$to_dir" # clear output file (needed for multiple runs or updates): - > "$to" 2> /dev/null + true > "$to" 2> /dev/null } #find ./ProFont -type d | # uncomment to test 1 font (with txt) @@ -67,6 +67,7 @@ do # source the font config file if exists: if [ -f "$searchdir/config.cfg" ] then + # shellcheck source=/dev/null source "$searchdir/config.cfg" else # reset the variables @@ -145,7 +146,7 @@ do clearDestination "$to_dir" "$to" { - printf "# %s\n\n" "$base_directory" + printf "# %s\\n\\n" "$base_directory" } >> "$to" appendRfnInfo "$config_rfn" "$config_rfn_substitue" "$PWD" "$to" diff --git a/bin/scripts/test-fonts.sh b/bin/scripts/test-fonts.sh index a7dcee588..832752e07 100755 --- a/bin/scripts/test-fonts.sh +++ b/bin/scripts/test-fonts.sh @@ -27,6 +27,8 @@ function print-decimal-unicode-range() { # add fillers to array to maintain table: if [[ "$leftoverSpaces" < "$wrapAt" ]]; then + # shellcheck disable=SC2034 + # needs rework without 'i' var? for i in $(seq 1 $leftoverSpaces); do originalSequence+=(0) done @@ -34,15 +36,16 @@ function print-decimal-unicode-range() { local sequenceLength=${#originalSequence[@]} - printf "%b\n" "$topLine" + printf "%b\\n" "$topLine" for decimalCode in "${originalSequence[@]}"; do - local hexCode=$(printf '%x' "${decimalCode}") + local hexCode + hexCode=$(printf '%x' "${decimalCode}") local code="${hexCode}" - local char="\u${hexCode}" + local char="\\u${hexCode}" # fill in placeholder cells properly formatted: - if [ "${char}" = "\u0" ]; then + if [ "${char}" = "\\u0" ]; then char=" " code=" " fi @@ -63,12 +66,12 @@ function print-decimal-unicode-range() { fi printf "%b%b%b" "$bar" "$allCodes" "$reset_color" - printf "\n" + printf "\\n" printf "%b%b%b" "$bar" "$allChars" "$reset_color" - printf "\n" + printf "\\n" if [ "$counter" != "$sequenceLength" ]; then - printf "%b\n" "$line" + printf "%b\\n" "$line" fi allCodes="" @@ -77,7 +80,7 @@ function print-decimal-unicode-range() { done - printf "%b\n" "$bottomLine" + printf "%b\\n" "$bottomLine" } diff --git a/bin/scripts/test-powerlines.sh b/bin/scripts/test-powerlines.sh index d84dd5014..4ec903348 100755 --- a/bin/scripts/test-powerlines.sh +++ b/bin/scripts/test-powerlines.sh @@ -6,14 +6,22 @@ text2='Nerd Fonts' leftSymbolsCodes=('E0B0' 'E0B4' 'E0B8' 'E0BC' 'E0C0' 'E0C4' 'E0C6' 'E0C8' 'E0CC' 'E0CE' 'E0CF' 'E0CF' 'E0D1' 'E0D2') rightSymbolsCodes=('E0B2' 'E0B6' 'E0BA' 'E0BE' 'E0C2' 'E0C5' 'E0C7' 'E0C8' 'E0CC' 'E0CE' 'E0CF' 'E0CF' 'E0D1' 'E0D4') +# shellcheck disable=SC2034 +# don't check unused vars we might want to use them later on colorReset='\033[0m' colorBgWhite='\033[107m' +# shellcheck disable=SC2034 +# don't check unused vars we might want to use them later on colorBgLightBlue='\033[104m' # light blue, bright green is 102 colorBgBlack='\033[40m' colorBg1='\033[100m' colorBg2=$colorBgBlack +# shellcheck disable=SC2034 +# don't check unused vars we might want to use them later on colorFgLightBlue='\033[94m' colorFgLightGray='\033[90m' +# shellcheck disable=SC2034 +# don't check unused vars we might want to use them later on colorFgLightYellow='\033[93m' colorFgBlack='\033[30m' colorFg1=$colorFgBlack @@ -23,18 +31,18 @@ colorBgDefault='\033[49m' echo -e "$colorReset Nerd Fonts :: Testing Powerline Symbol size and alignment" for i in "${!leftSymbolsCodes[@]}"; do - symbol="\u${leftSymbolsCodes[$i]}" - symbol2="\u${rightSymbolsCodes[$i]}" + symbol="\\u${leftSymbolsCodes[$i]}" + symbol2="\\u${rightSymbolsCodes[$i]}" code="${leftSymbolsCodes[$i]}" code2="${rightSymbolsCodes[$i]}" if [ "$code" = "$code2" ]; then - symbol2="\u${rightSymbolsCodes[0]}" + symbol2="\\u${rightSymbolsCodes[0]}" code2='None' fi - echo -e "$colorBg1$colorFg1$text1 $code $colorFg2$colorBg2$symbol $text2 $colorFg1$colorBgDefault$symbol -- $colorFg1$colorBgDefault$symbol2$colorFg2$colorBg2 $text2 $symbol2$colorBg1$colorFg1 $code2 $colorReset$colorBgWhite\n$colorReset" + echo -e "$colorBg1$colorFg1$text1 $code $colorFg2$colorBg2$symbol $text2 $colorFg1$colorBgDefault$symbol -- $colorFg1$colorBgDefault$symbol2$colorFg2$colorBg2 $text2 $symbol2$colorBg1$colorFg1 $code2 $colorReset$colorBgWhite\\n$colorReset" done -printf "\n" +printf "\\n" diff --git a/bin/scripts/tests.sh b/bin/scripts/tests.sh index 1dd6f46a8..0eded9937 100755 --- a/bin/scripts/tests.sh +++ b/bin/scripts/tests.sh @@ -6,13 +6,13 @@ echo "Click to start" # Window geometry # source: https://www.maketecheasier.com/record-screen-as-animated-gif-ubuntu/ XWININFO=$(xwininfo) -read X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO") -read Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO") -read W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO") -read H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO") +read -r X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO") +read -r Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO") +read -r W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO") +read -r H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO") -byzanz-record -c --exec=./test-fonts.sh --x=$X --y=$Y --width=$W --height=$H "rec3.gif" +byzanz-record -c --exec=./test-fonts.sh --x="$X" --y="$Y" --width="$W" --height="$H" "rec3.gif" convert -coalesce "rec3.gif" "results/nerd-fonts.png" -convert -append $(ls -v results/*.png) ./test-combined.png +convert -append $"(ls -v results/*.png)" ./test-combined.png diff --git a/bin/scripts/upload-archives.sh b/bin/scripts/upload-archives.sh index 1beac53e0..b182af3c5 100755 --- a/bin/scripts/upload-archives.sh +++ b/bin/scripts/upload-archives.sh @@ -16,12 +16,15 @@ private_config="../private.cfg" # source the private confit file if exists: if [ -f "$private_config" ] then + # shellcheck source=/dev/null source "$private_config" else echo >&2 "$LINE_PREFIX Could not source private config" exit 1 fi +# shellcheck disable=SC2154 +# # we know the '$github_access_token' is from the sourced file TOKEN=$github_access_token OWNER="ryanoasis" REPO="nerd-fonts" @@ -63,7 +66,7 @@ do printf "$LINE_PREFIX Uploading %s" "$basename" - curl -# -XPOST -H "Authorization:token $TOKEN" -H "Content-Type:application/octet-stream" --data-binary @"$basename" https://uploads.github.com/repos/$OWNER/$REPO/releases/$RELEASE/assets?name="$basename" + curl -# -XPOST -H "Authorization:token $TOKEN" -H "Content-Type:application/octet-stream" --data-binary @"$basename" https://uploads.github.com/repos/"$OWNER"/"$REPO"/releases/"$RELEASE"/assets?name="$basename" #exit # uncomment to test only 1 zip diff --git a/bin/scripts/version-bump.sh b/bin/scripts/version-bump.sh index 5293261b8..7c046a8ab 100755 --- a/bin/scripts/version-bump.sh +++ b/bin/scripts/version-bump.sh @@ -15,9 +15,9 @@ fi release=$1 -sed -i "s|[0-9]\.[0-9]\.[0-9]|$release|g" ../../font-patcher -sed -i "s|\# version: [0-9]\.[0-9]\.[0-9]|\# version: $release|g" ../../bin/scripts/*.sh -sed -i "s|version=\"[0-9]\.[0-9]\.[0-9]\"|version=\"$release\"|g" ../../bin/scripts/*.sh +sed -i "s|[0-9]\\.[0-9]\\.[0-9]|$release|g" ../../font-patcher +sed -i "s|\\# version: [0-9]\\.[0-9]\\.[0-9]|\\# version: $release|g" ../../bin/scripts/*.sh +sed -i "s|version=\"[0-9]\\.[0-9]\\.[0-9]\"|version=\"$release\"|g" ../../bin/scripts/*.sh exit diff --git a/install.sh b/install.sh index b31426749..a061263f5 100755 --- a/install.sh +++ b/install.sh @@ -1,13 +1,11 @@ #!/bin/bash # Install Nerd Fonts -__ScriptVersion="0.2" +__ScriptVersion="0.3" # Default values for option variables: quiet=false mode="copy" clean=false -mono=false -windows=false extension="otf" patches=("Complete") compat=() @@ -110,7 +108,7 @@ while getopts "$optspec" optchar; do # If the user has picked one of these options, # we need to unset `Complete` delete=("Complete") - patches=( "${patches[@]/$delete}" ) + patches=( "${patches[@]/${delete[0]}}" ) case "${OPTARG}" in fontawesome) patches=( "${patches[@]}" "Font Awesome" );; fontlinux) patches=( "${patches[@]}" "Font Linux" );; @@ -133,7 +131,7 @@ while getopts "$optspec" optchar; do esac done -shift $(($OPTIND-1)) +shift $((OPTIND-1)) # Set source and target directories, default: all fonts nerdfonts_root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/patched-fonts" @@ -146,7 +144,7 @@ if [ ! -z "$*" ]; then if [ ! -z "$font" ]; then # Ensure that directory exists, and offer suggestions if not if [[ ! -d "$nerdfonts_root_dir/$font" ]]; then - echo -e "Font $font doesn't exist. Options are: \n" + echo -e "Font $font doesn't exist. Options are: \\n" find "$nerdfonts_root_dir" -maxdepth 1 -type d \( \! -name "$(basename "$nerdfonts_root_dir")" \) -exec basename {} \; exit -1 fi @@ -164,7 +162,7 @@ implode() { # $3... are the elements to join local retname=$1 sep=$2 ret=$3 shift 3 || shift $(($#)) - printf -v "$retname" "%s" "$ret${@/#/$sep}" + printf -v "$retname" "%s" "$ret${*/#/$sep}" } find_include= find_exclude= @@ -179,7 +177,7 @@ if [ ! -z "${compat[*]}" ]; then fi # Delete empty elements for i in "${!include[@]}"; do - [ "${include[$i]}" = '' ] && unset include[$i] + [ "${include[$i]}" = '' ] && unset include["$i"] done if [ ! -z "${include[*]}" ]; then implode find_include "*' -and -name '*" "${include[@]}" @@ -193,11 +191,11 @@ for delete in "${include[@]}"; do done # Delete empty elements for i in "${!exclude[@]}"; do - [ "${exclude[$i]}" = '' ] && unset exclude[$i] + [ "${exclude[$i]}" = '' ] && unset exclude["$i"] done if [ ! -z "${exclude[*]}" ]; then - implode find_exclude "*' -and \! -name '*" "${exclude[@]}" - find_exclude="-and \! -name '*${find_exclude}*'" + implode find_exclude "*' -and \\! -name '*" "${exclude[@]}" + find_exclude="-and \\! -name '*${find_exclude}*'" fi # Construct directories to be searched @@ -205,7 +203,7 @@ implode find_dirs "\" \"" "${nerdfonts_dirs[@]}" find_dirs="\"$find_dirs\"" # Put it all together into the find command we want -find_command="find $find_dirs \( \( -name '*.[o,t]tf' -or -name '*.pcf.gz' \) $find_include $find_exclude \) -type f -print0" +find_command="find $find_dirs \\( \\( -name '*.[o,t]tf' -or -name '*.pcf.gz' \\) $find_include $find_exclude \\) -type f -print0" # Find all the font files and store in array files=() @@ -226,12 +224,12 @@ done # Remove duplicates for i in "${!files_dedup[@]}"; do for j in "${!files_dedup[@]}"; do - [ $i = $j ] && continue + [ "$i" = "$j" ] && continue if [ "${files_dedup[$i]}" = "${files_dedup[$j]}" ]; then ext="${files[$i]##*.}" # Only remove if the extension is the one we don’t want if [ "$ext" != "$extension" ]; then - unset files[$i] + unset files["$i"] fi fi done