diff options
| author | Mattias Andrée <maandree@kth.se> | 2021-03-25 18:20:34 +0100 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2021-03-25 18:21:22 +0100 |
| commit | bb053447a1e19e3b14b9afe522ecc04057a79c27 (patch) | |
| tree | e9044d93a4600968c4c9f3b5ce8b1444d349ff19 /large.sh | |
| parent | First commit (diff) | |
| download | pdatools-bb053447a1e19e3b14b9afe522ecc04057a79c27.tar.gz pdatools-bb053447a1e19e3b14b9afe522ecc04057a79c27.tar.bz2 pdatools-bb053447a1e19e3b14b9afe522ecc04057a79c27.tar.xz | |
Add clock
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'large.sh')
| -rwxr-xr-x | large.sh | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/large.sh b/large.sh new file mode 100755 index 0000000..248f0d8 --- /dev/null +++ b/large.sh @@ -0,0 +1,194 @@ +#!/bin/sh + +large_0() { + printf '%s\n' \ + ' [XX] ' \ + '[] [] ' \ + '[] [] ' \ + '[] [] ' \ + '[] [] ' \ + '[] [] ' \ + ' [XX] ' +} + +large_1() { + printf '%s\n' \ + ' [XX] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [XXXX] ' +} + +large_2() { + printf '%s\n' \ + ' [XX] ' \ + '[] [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + '[] ' \ + '[XXXXXX] ' +} + +large_3() { + printf '%s\n' \ + '[XXXX] ' \ + ' [] ' \ + ' [] ' \ + ' [XXX] ' \ + ' [] ' \ + ' [] ' \ + '[XXXX] ' +} + +large_4() { + printf '%s\n' \ + '[] [] ' \ + '[] [] ' \ + '[] [] ' \ + '[XXXXXX] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' +} + +large_5() { + printf '%s\n' \ + '[XXXXX] ' \ + '[] ' \ + '[] ' \ + '[XXXX] ' \ + ' [] ' \ + ' [] ' \ + '[XXXX] ' +} + +large_6() { + printf '%s\n' \ + ' [XXX] ' \ + '[] ' \ + '[] ' \ + '[XXXX] ' \ + '[] [] ' \ + '[] [] ' \ + ' [XX] ' +} + +large_7() { + printf '%s\n' \ + '[XXXXXX] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' \ + ' [] ' +} + +large_8() { + printf '%s\n' \ + ' [XX] ' \ + '[] [] ' \ + '[] [] ' \ + ' [XX] ' \ + '[] [] ' \ + '[] [] ' \ + ' [XX] ' +} + +large_9() { + printf '%s\n' \ + ' [XX] ' \ + '[] [] ' \ + '[] [] ' \ + ' [XXXX] ' \ + ' [] ' \ + ' [] ' \ + ' [XXX] ' +} + +large_colon() { + printf '%s\n' \ + ' ' \ + ' ' \ + ' [] ' \ + ' ' \ + ' ' \ + ' [] ' \ + ' ' +} + +printf '#define LARGE_Y %i\n' $(large_0 | wc -l) +printf '#define LARGE_XD %i\n' $(large_0 | head -n 1 | tr -d '\n' | wc -c) +printf '#define LARGE_XC %i\n' $(large_colon | head -n 1 | tr -d '\n' | wc -c) + +printf '#define SMALL_Y %i\n' $(expr \( $(large_0 | wc -l) + 1 \) / 2) +printf '#define SMALL_XD %i\n' $(expr \( $(large_0 | head -n 1 | tr -d '\n' | wc -c) + 1 \) / 2) +printf '#define SMALL_XC %i\n' $(expr \( $(large_colon | head -n 1 | tr -d '\n' | wc -c) + 1 \) / 2) + +for c in 0 1 2 3 4 5 6 7 8 9 colon; do + printf 'static const char *large_%s[] = {\n' $c + large_$c | \ + sed -e 's/X/ /g' -e 's/\[/\\033\[7m /g' -e 's/\]/ \\033\[m/g' | \ + sed -e 's/^/"/' -e 's/$/",/' | \ + sed '$s/,$//' + printf '};\n' + + printf 'static const char *small_%s[] = {\n' $c + ( + if expr $(large_$c | wc -l) % 2 >/dev/null; then + printf '%*.s\n' $(expr \( $(large_0 | head -n 1 | tr -d '\n' | wc -c) + 1 \) / 2 \* 2) '' + fi + if expr $(large_$c | head -n 1 | tr -d '\n' | wc -c) % 2 >/dev/null; then + large_$c | tr '][' XX | sed 's/$/ /g' + else + large_$c | tr '][' XX + fi + ) | tr ' \n' ., | sed 's/\([^,]*\),\([^,]*\),/:\1:\2:\n/g' | while read line; do + high="$(printf '%s\n' "$line" | cut -d : -f 2)" + low="$(printf '%s\n' "$line" | cut -d : -f 3)" + while test -n "$high"; do + block="$(printf '%s\n' "$high" | colrm 3)$(printf '%s\n' "$low" | colrm 3)" + high="$(printf '%s\n' "$high" | colrm 1 2)" + low="$(printf '%s\n' "$low" | colrm 1 2)" + if test "$block" = '....'; then + printf ' ' + elif test "$block" = '...X'; then + printf '▗' + elif test "$block" = '..X.'; then + printf '▖' + elif test "$block" = '..XX'; then + printf '▄' + elif test "$block" = '.X..'; then + printf '▝' + elif test "$block" = '.X.X'; then + printf '▐' + elif test "$block" = '.XX.'; then + printf '▞' + elif test "$block" = '.XXX'; then + printf '▟' + elif test "$block" = 'X...'; then + printf '▘' + elif test "$block" = 'X..X'; then + printf '▚' + elif test "$block" = 'X.X.'; then + printf '▌' + elif test "$block" = 'X.XX'; then + printf '▙' + elif test "$block" = 'XX..'; then + printf '▀' + elif test "$block" = 'XX.X'; then + printf '▜' + elif test "$block" = 'XXX.'; then + printf '▛' + elif test "$block" = 'XXXX'; then + printf '█' + fi + done + printf '\n' + done | sed -e 's/^/"/' -e 's/$/",/' | sed '$s/,$//' + printf '};\n' +done |
