The HTML output format does indeed use <pre></pre> tags. (See the files rules/_html.)
If you wanted to have tabs converted to spaces or vice versa you could either do it yourself with a separate program -- it's quite easy; I think I have at least five programs that do it -- or create rules that look like this:
Note that I don't know if that will work; keywords containing spaces might not match properly. (And codeform isn't on this computer so I can't test it.) It should however and if it doesn't just give me a shout.Code:=keyword <tab>::<space><space><space><space>:# converts tabs to spaces <space><space><space><space>:<tab>:# converts spaces to tabs
Comments are much appreciated.