the tab under most browsers just goes to the next tab point but makes no effort to line up the text.
you'll probably need to use a table here, just hide the table border.
if you must make this line up in ascii, then find the longest possible data length. Use your own function to pad (rather than \t) the strings.