Fix bug with ascii size, the pure bash solution counted the file a little weirdly causing issues for some ascii art

This commit is contained in:
Dylan Araps 2016-05-18 17:07:55 +10:00
parent 4dfa6863d6
commit eeefd05b8e
1 changed files with 6 additions and 9 deletions

View File

@ -2126,16 +2126,13 @@ getascii () {
# Turn the file into a variable and strip escape codes.
ascii_strip=$(<"$ascii")
ascii_strip=${ascii_strip//\$\{??\}}
ascii_strip=${ascii_strip//\\\\/ }
ascii_strip=${ascii_strip//\\}
ascii_strip=${ascii_strip//'\\'/ }
ascii_strip=${ascii_strip//'\'}
# Get length of longest line
# Get lines/columns of the ascii file in pure bash.
while read -r line 2>/dev/null; do
[ ${#line} -gt ${ascii_length:-0} ] && ascii_length=${#line}
lines=$((lines+=1))
done <<< "$ascii_strip"
lines=$((lines+=1))
# Get ascii file size in rows/cols
ascii_size="$(awk 'END {printf NR " "}length>max{max=length}END{printf max}' <<< "$ascii_strip")"
lines=${ascii_size/ *}
ascii_length=${ascii_size/$lines}
padding="\033[$((ascii_length + gap))C"
printf "%b%s" "$print"