1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2025-03-03 14:36:18 +02:00

Updates script to display in ascii table (WIP)

This commit is contained in:
Ryan L McIntyre 2017-04-08 17:34:59 -04:00
parent f0c9999fc3
commit 7d255e5c3d

View File

@ -6,66 +6,161 @@ function print-decimal-unicode-range() {
local start="$1"
local end="$2"
local continuedCount="$3"
#echo "1 is $1"
#echo "2 is $2"
#echo "3 is $3"
local counter=0
local count="${continuedCount:-0}"
# Use alternating colors to see which symbols extend out of the bounding
# box.
#local bgColor='\x1b[48;2;54;11;0m'
#local alternateBgColor='\x1b[48;2;0;54;11m'
local bgColor='\e[48;5;124m%03d'
local alternateBgColor='\e[48;5;202m%03d'
local bgColor='\x1b[48;2;54;11;0m'
local alternateBgColor='\x1b[48;2;0;54;11m'
#local bgColor='\e[48;5;124m%03d'
#local alternateBgColor='\e[48;5;202m%03d'
local currentColor="${bgColor}"
local reset_color='\e[0m'
local allChars="${currentColor}"
local wrapAt=25
for decimalCode in $(seq "${start}" "${end}"); do
local hexCode=$(printf '%x ' "${decimalCode}")
allChars+="\u${hexCode} "
count=$(( (count + 1) % $wrapAt))
if [[ count -eq 0 ]]; then
local allCodes="${currentColor}"
local wrapAt=5
local topLine='╔══════╦══════╦══════╦══════╦══════╗'
local bottomLine='╚══════╩══════╩══════╩══════╩══════╝'
local line='╠══════╬══════╬══════╬══════╬══════╣'
local bar='║'
local originalSequence=($(seq "${start}" "${end}"))
local originalSequenceLength=${#originalSequence[@]}
local leftoverSpaces=$((wrapAt - (originalSequenceLength % wrapAt)))
#printf "\nleftover is %s\n" "$leftoverSpaces"
# add fillers to array to maintain table:
if [[ "$leftoverSpaces" < "$wrapAt" ]]; then
for i in $(seq 1 $leftoverSpaces); do
#printf "adding a leftover\n"
originalSequence+=(0)
done
fi
local sequenceLength=${#originalSequence[@]}
#printf "orig seq len %s" "$originalSequenceLength"
#printf "\n"
#printf "leftover is %s" "$leftoverSpaces"
#printf "\n"
#printf "seq len %s" "$sequenceLength"
#printf "\n"
#exit
#printf "hey"
printf "$topLine\n"
#printf "║"
for decimalCode in "${originalSequence[@]}"; do
local hexCode=$(printf '%x' "${decimalCode}")
local code="${hexCode}"
local char="\u${hexCode}"
#echo "hexcode was $hexCode"
#echo -e "char was ${char}"
# fill in placeholder cells properly formatted:
if [ "${char}" = "\u0" ]; then
#echo "IN IF char was '$char'"
char=" "
code=" "
#else
#echo "IN ELSE char was '$char'"
fi
allCodes+=" ${code} $bar"
allChars+=" ${char} $bar"
#echo -e "\ncount was $count"
counter=$((counter + 1))
count=$(( (count + 1) % wrapAt))
#echo -e "\ncount was $count"
#echo -e "\nwrap was $wrapAt"
#echo -e "\nwrap-1 was $((wrapAt - 1))"
#leftoverSpaces=$((wrapAt - count))
if [[ $count -eq 0 ]]; then
#printf "║"
#echo -e "\ncount is at zero\n"
#echo -e "\nleftoversSpaces is $leftoverSpaces\n"
if [[ "${currentColor}" = "${alternateBgColor}" ]]; then
currentColor="${bgColor}"
else
currentColor="${alternateBgColor}"
fi
allChars+="\n${currentColor}"
allCodes+="${currentColor}"
allChars+="${currentColor}"
printf "%s%b%b" "$bar" "$allCodes" "$reset_color"
printf "\n"
printf "%s%b%b" "$bar" "$allChars" "$reset_color"
printf "\n"
#printf "counter is %s" "$counter"
if [ "$counter" != "$sequenceLength" ]; then
printf "%s\n" $line
fi
allCodes=""
allChars=""
fi
done
printf "${allChars}${reset_color}"
printf "$bottomLine\n"
# print left-overs:
#leftoverSpaces=$((wrapAt - count))
# printf "${allCodes}${reset_color}"
# printf "\n║${allChars}${reset_color}"
# printf "\n"
#printf "$bottomLine\n"
#printf "count was %s" $count
#printf "\nleftovers was %s" $leftoverSpaces
#printf "${allChars}${reset_color}"
}
function print-unicode-ranges() {
local count=0
#local count=0
local arr=($@)
for ((i=0; i<=$#; i+=2)); do
local len=$#
#echo "len was $len"
for ((j=0; j<len; j+=2)); do
#for i in "${!arr[@]}"
#echo "i $i"
#echo "j $j"
#local start="$@[i]"
#local start="${@[$i]}"
local start="${arr[$i]}"
#echo 'heyman'
local start="${arr[$j]}"
#echo "start $start"
#echo "i+1 $((i+1))"
#echo "before inc end -- now i is $j"
#local end="$@[i+1]"
local end="${arr[(($i+1))]}"
local end="${arr[(($j+1))]}"
#echo "after inc end -- now i is $j"
#echo "end $end"
local startDecimal=$((16#$start))
local endDecimal=$((16#$end))
#echo "startDec $startDecimal"
#echo "endDec $endDecimal"
print-decimal-unicode-range "${startDecimal}" "${endDecimal}" "${count}"
count=$(($count + $endDecimal - $startDecimal))
#echo "end loop - now i is $j"
print-decimal-unicode-range "${startDecimal}" "${endDecimal}" "0"
#echo "end loop - now i is $j"
#count=$(($count + $endDecimal - $startDecimal))
done
}
function test-fonts() {
echo "Nerd Fonts - Pomicons"
print-unicode-ranges e000 e00a
echo; echo
print-unicode-ranges e000 e00d
#print-unicode-ranges e000 e009
echo; echo
echo "Nerd Fonts - Powerline"
print-unicode-ranges e0a0 e0a2 e0b0 e0b3
echo; echo
echo "Nerd Fonts - Powerline Extra"
print-unicode-ranges e0a3 e0a3 e0b4 e0c8 e0cc e0d2 e0d4 e0d4
echo; echo
@ -98,10 +193,10 @@ function test-fonts() {
print-unicode-ranges 23fb 23fe 2b58 2b58
echo; echo
echo "Nerd Fonts - All"
print-unicode-ranges e000 e00a e0a0 e0a2 e0b0 e0b3 e0a3 e0a3 e0b4 e0c8 e0cc e0d2 e0d4 e0d4 e5fa e62b e700 e7c5 f000 f2e0 e200 e2a9 f400 f4a8 2665 2665 26A1 26A1 f27c f27c f300 f313 23fb 23fe 2b58 2b58
#echo "Nerd Fonts - All"
#print-unicode-ranges e000 e00a e0a0 e0a2 e0b0 e0b3 e0a3 e0a3 e0b4 e0c8 e0cc e0d2 e0d4 e0d4 e5fa e62b e700 e7c5 f000 f2e0 e200 e2a9 f400 f4a8 2665 2665 26A1 26A1 f27c f27c f300 f313 23fb 23fe 2b58 2b58
echo; echo
#echo; echo
}
test-fonts