#! /usr/bin/gawk -f
# Last edited on 1999-07-13 22:56:02 by stolfi
# Usage: rotate-labels [-v width=N ] [-v shift=M] < LABIN > LABOUT
# Reads a list of labels, one per line.
# Prints them vertically, one per column.
# Optionally spreads the labels so that each takes "width" columns,
# with "shift" blank columns at its left.
BEGIN {
m = 0;
split("", w);
n = 0;
}
// {
len = length($0);
if (len > m) m = len;
w[n] = $0;
n++;
}
END {
for (i=1; i<=m; i++)
{ for (j=0; j<n; j++)
{ for (k=1; k<shift; k++) printf " ";
len = length(w[j]);
printf "%s", (i > len ? " " : substr(w[j],i,1));
for (k=shift+1; k<width; k++) printf " ";
}
printf "\n";
}
}