Chapter 2
Start Here

<..configure mozilla Preamble..>
 \:CheckOption{xht} \if:Option
   \Configure{ext}{xht}
 \else
   \Configure{ext}{xml}
 \fi
-_-_-

It looks like frames on (just current?) browsers require html extension fot file names.

Mozilla complaints about version 1.1 :-(

<..configure mozilla tex4ht..>
 \:CheckOption{frames}  \if:Option
   \Configure{frames-altDOCTYPE}{<.no frames DOCTYPE.>}
 \else
   <.no frames DOCTYPE.>
 \fi
 \:CheckOption{-css} \if:Option \else
   \Configure{XML-STYLESHEET}
     {\HCode{<?xml-stylesheet type="text/css"
                              href="\aa:CssFile"?>\Hnewline}}
 \fi
-_-_-

<..no frames DOCTYPE..>
 \:CheckOption{pmathml} \if:Option
     <.pmathml dtd.>
 \else
     <.non pmathml dtd.>
 \fi
-_-_-

<..non pmathml dtd..>
 \Configure{DOCTYPE}
   {\IgnorePar
     \HCode{<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//<.dtd lang.>"\Hnewline
    "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd"
    >\Hnewline
 %   "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [\Hnewline
 %     <!ENTITY mathml "http://www.w3.org/1998/Math/MathML">\Hnewline
 %  ]>\Hnewline
   }}
-_-_-

<..dtd lang..>
 \expandafter
 \ifx \csname a:dtd-lang\endcsname\relax EN\else
   \csname a:dtd-lang\endcsname
 \fi
-_-_-

<..xmlns..>
 xmlns="http://www.w3.org/1999/xhtml"
-_-_-

<..configure mozilla tex4ht..>+
 \Configure{HTML}
      {\IgnorePar\HCode{<html \a:@HTML\Hnewline
             \:xhtml{<.xmlns.>}\Hnewline>}}
      {\HCode{\Hnewline</html>\Hnewline}}
-_-_-

<..configure mozilla tex4ht..>+
 \Configure{DviMath}
     {\mathmltrue
      \ifOption{mml-fonts}{<.mml fonts.>}{\NoFonts}\IgnoreRule\HCode{<!--l.
        \the\inputlineno-->}{\Tg<\a:mathml math\Hnewline
          <.math xmlns.>\a:@math>}\a:math
        <.sv dvimath par.>\IgnorePar}
     {\Tg</\a:mathml math>\EndIgnoreRule
      \ifOption{mml-fonts}{<.html fonts.>}{\EndNoFonts}%
      <.recall dvimath par.>\mathmlfalse}
-_-_-

<..html fonts..>
 \Configure{htf}{0}{+}{<span\Hnewline
    class="}{\%s}{-\%s}{x-x-\%d}{}{">}{</span>}%
-_-_-

<..mml fonts..>
 \Configure{htf}{0}{+}{<mstyle\Hnewline
    class="}{\%s}{-\%s}{x-x-\%d}{}{">}{</mstyle>}%
-_-_-

<..recall dvimath par..>
 \sv:ignore
-_-_-

<..sv dvimath par..>
 \edef\sv:ignore{\if:nopar
     \noexpand\IgnorePar\else \noexpand\ShowPar\fi}%
-_-_-

<..math xmlns..>
 \csname a:math-xmlns\endcsname
-_-_-

The amphersand chracter must be embeded within group parentheses, to hide it in tables from halign.

<..configure mozilla tex4htDEPRECATED..>
 \Configure{$$}
    {\Configure{@math}{mode="display"}\IgnorePar\EndP\DviMath}
    {\EndDviMath\ShowPar\par{\HCondtrue\noindent}}{}
 \Configure{$}
    {\Configure{@math}{mode="inline"}\DviMath}
    {\EndDviMath}{}
-_-_-

<..configure mozilla latexDEPRECATED..>
 \Configure{[]}
   {\Configure{@math}{mode="display"}\csname a:mathml[]\endcsname
    \DviMath\Tg<\a:mathml mrow\Hnewline>$$}
   {$$\Tg</\a:mathml mrow>\EndDviMath\csname b:mathml[]\endcsname}
-_-_-

<..configure mozilla latexDEPRECATED..>+
 \Configure{()}
   {\Configure{@math}{mode="inline"}\csname a:mathml()\endcsname
    \DviMath\Tg<\a:mathml mrow\Hnewline>$}
   {$\Tg</\a:mathml mrow>\EndDviMath\csname b:mathml()\endcsname}
 \Css{math[mode="display"]
     {margin-top:0.8em; margin-bottom:0.8em; display:block; text-align:center;}}
-_-_-

<..configure mozilla latex..>
 \Configure{Roman}{I}{V}{X}{L}{C}{D}{M}
 \Configure{roman}{i}{v}{x}{l}{c}{d}{m}
-_-_-

<..configure mozilla latex..>+
 \Configure{underline}
    {\bgroup\ifmathml <.mathml underline.>%
     \else <.nomath underline.>\HCode{<span class="underline">}\fi}
    {\ifmathml <.end mathml underline.>\else \HCode{</span>}\fi\egroup}
-_-_-

<..configure mozilla plain..>
 \Configure{underline}
    {\bgroup <.mathml underline.>}
    {<.end mathml underline.>\egroup}
-_-_-

<..mathml underline..>
 \HCode{<\a:mathml munder
 class="mml-underline"><\a:mathml mrow>}%
-_-_-

<..end mathml underline..>
 \HCode{</\a:mathml mrow><\a:mathml mo\Hnewline
 accent="true">&\#x00AF;</\a:mathml mo></\a:mathml munder>}%
-_-_-

The code 0332 for underbar is not recognized. Hence, we use the code 00AF of overbar (&OverBar; is not recognized anymore).

<..nomath underline..>
 \expandafter\everymath
 \expandafter{\expandafter\everymath
              \expandafter{\the\everymath}}%
 \let\o::@underline:\o:@@underline:
 \def\o:@@underline:{\let\o:@@underline:\o::@underline:}%
-_-_-

<..configure mozilla latex..>+
 \Configure{equation}
   {\ifmmode\else\par \IgnorePar\fi \EndP
            \HCode{<table\Hnewline class="equation"><tr><td>}\IgnorePar
   }
   {\IgnorePar\EndP\HCode{</td><td class="eq-no">}}
   {\end:TTT \ifmmode\else \ShowPar\par{\HCondtrue\noindent}\fi}
-_-_-

Mozilla has problem dealing with double and triple unicode prime characters.

<..configure mozilla latex..>+
 <.plain,latex math.>
-_-_-

<..configure mozilla plain..>+
 <.plain,latex math.>
-_-_-

<..plain,latex math..>
 \Configure{’}
    {\let\:primes=\empty}
    {\relax \csname SUB:prime\endcsname
      \sp{\global\let\SUB:prime=\:UnDef \:primes}}
    {\let\prime=\relax \xdef\:primes{\:primes\prime}}
-_-_-
 2.1 Spaces after mtext
 2.2 Accents
 2.3 Thin Spaces
 2.4 Fonts