<..HTable..>+
\def\HT:ble{\bgroup \let\sv:row=\HRow \let\sv:col=\HCol
\gHAssign\HRow=1 \gHAssign\HCol=0
\htbl: }
-_-_-
<..HTable..>+
\def\htbl:{%
\let\GetInt=\Get:Int
\let\GetArg=\Get:Arg \a:HTable
<.script at start of tables.>%
\c:HTable\hfil\break
\ht:everypar{}\futurelet\:temp\tbl:bd }
\NewConfigure{HTable}{6}
-_-_-
<..HTable..>+
\def\EndHTable{%
\end:cell \d:HTable \b:HTable
\global\let\HRow=\sv:row \global\let\HCol=\sv:col \egroup
<.nullify script.>}
-_-_-
<..HTable..>+
\def\tbl:bd{\ifx \:temp\bgroup \let\tbl:typ=\tbl:bdy
\else \ifx /\:temp \def\tbl:typ##1{\env:tbl}%
\else \let\tbl:typ=\env:tbl
\fi \fi \tbl:typ }
\long\def\tbl:bdy#1{%
\def\hfil{\ifx \EndPicture\:UnDef \space \else\:hfil\fi}%
\def\hfill{\ifx \EndPicture\:UnDef \space \else\:hfill\fi}%
\expandafter\let\csname cr\endcsname=\:cr
\:HTable#1&\EndH:Table }
\let\:hfil=\hfil
\let\:hfill=\hfill
-_-_-
Without the restructuring of the hfil’s TeX4ht gets cofused and looses spaces between words.