diff --git a/Text/TeXMath.hs b/Text/TeXMath.hs
--- a/Text/TeXMath.hs
+++ b/Text/TeXMath.hs
@@ -1,5 +1,5 @@
 {-
-Copyright (C) 2009 John MacFarlane <jgm@berkeley.edu>
+Copyright (C) 2009-2012 John MacFarlane <jgm@berkeley.edu>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
@@ -19,12 +19,18 @@
 {- | Functions for converting LaTeX math formulas to MathML.
 -}
 
-module Text.TeXMath ( texMathToMathML, DisplayType(..) )
+module Text.TeXMath ( texMathToMathML, texMathToOMML, DisplayType(..) )
 where
 import Text.TeXMath.Parser
 import Text.TeXMath.MathML
+import Text.TeXMath.OMML
+import Text.TeXMath.Types
 import Text.XML.Light
 
 texMathToMathML :: DisplayType -> String -> Either String Element
 texMathToMathML dt inp = inp `seq`
   either Left (Right . toMathML dt) $ parseFormula inp
+
+texMathToOMML :: DisplayType -> String -> Either String Element
+texMathToOMML dt inp = inp `seq`
+  either Left (Right . toOMML dt) $ parseFormula inp
diff --git a/Text/TeXMath/MathML.hs b/Text/TeXMath/MathML.hs
--- a/Text/TeXMath/MathML.hs
+++ b/Text/TeXMath/MathML.hs
@@ -19,7 +19,7 @@
 {- | Functions for writing a parsed formula as MathML.
 -}
 
-module Text.TeXMath.MathML (toMathML, DisplayType(..), showExp)
+module Text.TeXMath.MathML (toMathML, showExp)
 where
 
 import qualified Data.Map as M
@@ -27,10 +27,6 @@
 import Text.TeXMath.Types
 import Data.Generics (everywhere, mkT)
 
-data DisplayType = DisplayBlock
-                 | DisplayInline
-                 deriving Show
-
 toMathML :: DisplayType -> [Exp] -> Element
 toMathML dt exprs =
   add_attr dtattr $ math $ map showExp $ everywhere (mkT $ handleDownup dt) exprs
@@ -111,13 +107,22 @@
 makeScaled :: String -> Element -> Element
 makeScaled s = withAttribute "minsize" s . withAttribute "maxsize" s
 
-makeText :: String -> String -> Element
+makeText :: TextType -> String -> Element
 makeText a s = if trailingSp
                   then mrow [s', sp]
                   else s'
   where sp = spaceWidth "0.333em"
-        s' = withAttribute "mathvariant" a $ unode "mtext" s
+        s' = withAttribute "mathvariant" attr $ unode "mtext" s
         trailingSp = not (null s) && last s `elem` " \t"
+        attr = case a of
+                    TextNormal       -> "normal"
+                    TextBold         -> "bold"
+                    TextItalic       -> "italic"
+                    TextMonospace    -> "monospace"
+                    TextSansSerif    -> "sans-serif"
+                    TextDoubleStruck -> "double-struck"
+                    TextScript       -> "script"
+                    TextFraktur      -> "fraktur"
 
 makeArray :: [Alignment] -> [ArrayLine] -> Element
 makeArray as ls = unode "mtable" $
@@ -151,6 +156,10 @@
    ENumber x        -> unode "mn" x
    EGrouped [x]     -> showExp x
    EGrouped xs      -> mrow $ map showExp xs
+   EDelimited start end xs -> mrow $
+                       [ makeStretchy (unode "mo" start) | not (null start) ] ++
+                       map showExp xs ++
+                       [ makeStretchy (unode "mo" end) | not (null end) ] 
    EIdentifier x    -> unode "mi" x
    EMathOperator x  -> unode "mi" x
    ESymbol Accent x -> accent x
diff --git a/Text/TeXMath/OMML.hs b/Text/TeXMath/OMML.hs
new file mode 100644
--- /dev/null
+++ b/Text/TeXMath/OMML.hs
@@ -0,0 +1,231 @@
+{-
+Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+-}
+
+{- | Functions for writing a parsed formula as OMML.
+-}
+
+module Text.TeXMath.OMML (toOMML, showExp)
+where
+
+import Text.XML.Light
+import Text.TeXMath.Types
+import Data.Generics (everywhere, mkT)
+
+toOMML :: DisplayType -> [Exp] -> Element
+toOMML dt = container . concatMap showExp
+            . everywhere (mkT $ handleDownup dt)
+    where container = case dt of
+                  DisplayBlock  -> mnode "oMathPara" . mnode "oMath"
+                  DisplayInline -> mnode "oMath"
+
+mnode :: Node t => String -> t -> Element
+mnode s = node (QName s Nothing (Just "m"))
+
+mnodeA :: Node t => String -> String -> t -> Element
+mnodeA s v = add_attr (Attr (QName "val" Nothing (Just "m")) v) . mnode s
+
+str :: [Element] -> String -> Element
+str props s = mnode "r" [ mnode "rPr" props
+                        , mnode "t" s ]
+
+showBinary :: String -> Exp -> Exp -> Element
+showBinary c x y =
+  case c of
+       "\\frac" -> mnode "f" [ mnode "fPr" $
+                                mnodeA "type" "bar" ()
+                             , mnode "num" x'
+                             , mnode "den" y']
+       "\\dfrac" -> showBinary "\\frac" x y
+       "\\tfrac" -> mnode "f" [ mnode "fPr" $
+                                 mnodeA "type" "lin" ()
+                              , mnode "num" x'
+                              , mnode "den" y']
+       "\\sqrt"  -> mnode "rad" [ mnode "radPr" $
+                                   mnodeA "degHide" "on" ()
+                                , mnode "deg" y'
+                                , mnode "e" x']
+       "\\stackrel" -> mnode "limUpp" [ mnode "e" x'
+                                       , mnode "lim" y']
+       "\\overset" -> mnode "limUpp" [ mnode "e" x'
+                                     , mnode "lim" y' ]
+       "\\underset" -> mnode "limLow" [ mnode "e" x'
+                                      , mnode "lim" y' ]
+       "\\binom"    -> mnode "d" [ mnode "dPr" $
+                                     mnodeA "sepChr" "," ()
+                                 , mnode "e" $
+                                     mnode "f" [ mnode "fPr" $
+                                                   mnodeA "type"
+                                                     "noBar" ()
+                                               , mnode "num" x'
+                                               , mnode "den" y' ]] 
+       _ -> error $ "Unknown binary operator " ++ c
+    where x' = showExp x
+          y' = showExp y
+
+makeArray :: [Alignment] -> [ArrayLine] -> Element
+makeArray as rs = mnode "m" $ mProps : map toMr rs
+  where mProps = mnode "mPr"
+                  [ mnodeA "baseJc" "center" ()
+                  , mnodeA "plcHide" "on" ()
+                  , mnode "mcs" $ map toMc as' ]
+        as'    = take (length rs) $ as ++ cycle [AlignDefault]
+        toMr r = mnode "mr" $ map (mnode "e" . concatMap showExp) r
+        toMc a = mnode "mc" $ mnode "mcPr"
+                            $ mnodeA "mcJc" (toAlign a) ()
+        toAlign AlignLeft    = "left"
+        toAlign AlignRight   = "right"
+        toAlign AlignCenter  = "center"
+        toAlign AlignDefault = "left"
+
+makeText :: TextType -> String -> Element
+makeText a s = str attrs s
+  where attrs = case a of
+                     TextNormal       -> [sty "p"]
+                     TextBold         -> [sty "b"]
+                     TextItalic       -> [sty "i"]
+                     TextMonospace    -> [sty "p", scr "monospace"]
+                     TextSansSerif    -> [sty "p", scr "sans-serif"]
+                     TextDoubleStruck -> [sty "p", scr "double-struck"]
+                     TextScript       -> [sty "p", scr "script"]
+                     TextFraktur      -> [sty "p", scr "fraktur"]
+        sty x = mnodeA "sty" x ()
+        scr x = mnodeA "scr" x ()
+
+handleDownup :: DisplayType -> [Exp] -> [Exp]
+handleDownup dt (exp' : xs) =
+  case exp' of
+       EDown x y
+         | isNary x  -> EGrouped [constructor x y emptyGroup, next] : rest
+         | otherwise -> case dt of
+                             DisplayBlock  -> EUnder x y : xs
+                             DisplayInline -> ESub x y : xs
+       EUp   x y
+         | isNary x  -> EGrouped [constructor x emptyGroup y, next] : rest
+         | otherwise -> case dt of
+                             DisplayBlock  -> EOver x y : xs
+                             DisplayInline -> ESuper x y : xs
+       EDownup x y z
+         | isNary x  -> EGrouped [constructor x y z, next] : rest
+         | otherwise -> case dt of
+                             DisplayBlock  -> EUnderover x y z : xs
+                             DisplayInline -> ESubsup x y z : xs
+       ESub x y
+         | isNary x  -> EGrouped [ESubsup x y emptyGroup, next] : rest
+       ESuper x y
+         | isNary x  -> EGrouped [ESubsup x emptyGroup y, next] : rest
+       ESubsup x y z
+         | isNary x  -> EGrouped [ESubsup x y z, next] : rest
+       EOver x y
+         | isNary x  -> EGrouped [EUnderover x y emptyGroup, next] : rest
+       EUnder x y
+         | isNary x  -> EGrouped [EUnderover x emptyGroup y, next] : rest
+       EUnderover x y z
+         | isNary x  -> EGrouped [EUnderover x y z, next] : rest
+       _             -> exp' : next : rest
+    where (next, rest) = case xs of
+                              (t:ts) -> (t,ts)
+                              []     -> (emptyGroup, [])
+          emptyGroup = EGrouped []
+          constructor = case dt of
+                             DisplayBlock  -> EUnderover
+                             DisplayInline -> ESubsup
+handleDownup _ []            = []
+
+showExp :: Exp -> [Element]
+showExp e =
+ case e of
+   ENumber x        -> [str [] x]
+   EGrouped [EUnderover (ESymbol Op s) y z, w] -> [makeNary "undOvr" s y z w]
+   EGrouped [ESubsup (ESymbol Op s) y z, w] -> [makeNary "subSup" s y z w]
+   EGrouped xs      -> concatMap showExp xs
+   EDelimited start end xs ->
+                       [mnode "d" [ mnode "dPr"
+                                    [ mnodeA "begChr" start ()
+                                    , mnodeA "endChr" end ()
+                                    , mnode "grow" () ]
+                                  , mnode "e" $ concatMap showExp xs
+                                  ] ]
+
+   EIdentifier x    -> [str [] x]
+   EMathOperator x  -> [str [] x]
+   EStretchy x      -> showExp x  -- no support for stretchy in OMML
+   ESymbol _ x      -> [str [] x]
+   ESpace "0.167em" -> [str [] "\x2009"]
+   ESpace "0.222em" -> [str [] "\x2005"]
+   ESpace "0.278em" -> [str [] "\x2004"]
+   ESpace "0.333em" -> [str [] "\x2004"]
+   ESpace "1em"     -> [str [] "\x2001"]
+   ESpace "2em"     -> [str [] "\x2001\x2001"]
+   ESpace _         -> [] -- this is how the xslt sheet handles all spaces
+   EBinary c x y    -> [showBinary c x y]
+   EUnder x (ESymbol Accent [c]) | isBarChar c ->
+                       [mnode "bar" [ mnode "barPr" $
+                                        mnodeA "pos" "bot" ()
+                                    , mnode "e" $ showExp x ]]
+   EOver x (ESymbol Accent [c]) | isBarChar c ->
+                       [mnode "bar" [ mnode "barPr" $
+                                        mnodeA "pos" "top" ()
+                                    , mnode "e" $ showExp x ]]
+   EOver x (ESymbol Accent y) ->
+                       [mnode "acc" [ mnode "accPr" $
+                                        mnodeA "chr" y ()
+                                    , mnode "e" $ showExp x ]]
+   ESub x y         -> [mnode "sSub" [ mnode "e" $ showExp x
+                                     , mnode "sub" $ showExp y]]
+   ESuper x y       -> [mnode "sSup" [ mnode "e" $ showExp x
+                                     , mnode "sup" $ showExp y]]
+   ESubsup x y z    -> [mnode "sSubSup" [ mnode "e" $ showExp x
+                                        , mnode "sub" $ showExp y
+                                        , mnode "sup" $ showExp z]]
+   EUnder x y       -> [mnode "limLow" [ mnode "e" $ showExp x
+                                       , mnode "lim" $ showExp y]]
+   EOver x y        -> [mnode "limUpp" [ mnode "e" $ showExp x
+                                       , mnode "lim" $ showExp y]]
+   EUnderover x y z -> showExp (EUnder x (EOver y z))
+   EUnary "\\sqrt" x  -> [mnode "rad" [ mnode "radPr" $ mnodeA "degHide" "on" ()
+                                      , mnode "deg" ()
+                                      , mnode "e" $ showExp x]]
+   EUnary "\\surd" x  -> showExp $ EUnary "\\sqrt" x
+   EScaled _ x      -> showExp x   -- no support for scaler?
+   EArray as ls     -> [makeArray as ls]
+   EText a s        -> [makeText a s]
+   x                -> error $ "showExp encountered " ++ show x
+   -- note: EUp, EDown, EDownup should be removed by handleDownup
+
+isBarChar :: Char -> Bool
+isBarChar c = c == '\x203E' || c == '\x00AF'
+
+isNary :: Exp -> Bool
+isNary (ESymbol Op _) = True
+isNary _ = False
+
+makeNary :: String -> String -> Exp -> Exp -> Exp -> Element
+makeNary t s y z w =
+  mnode "nary" [ mnode "naryPr"
+                 [ mnodeA "chr" s ()
+                 , mnodeA "limLoc" t ()
+                 , mnode "grow" ()
+                 , mnodeA "supHide"
+                    (if y == EGrouped [] then "on" else "off") ()
+                 , mnodeA "supHide"
+                    (if y == EGrouped [] then "on" else "off") ()
+                 ]
+               , mnode "e" $ showExp w
+               , mnode "sub" $ showExp y
+               , mnode "sup" $ showExp z ]
+
diff --git a/Text/TeXMath/Parser.hs b/Text/TeXMath/Parser.hs
--- a/Text/TeXMath/Parser.hs
+++ b/Text/TeXMath/Parser.hs
@@ -136,7 +136,13 @@
   contents <- manyTill expr
                (try $ symbol "\\right" >> lookAhead basicEnclosure)
   end <- basicEnclosure
-  return $ EGrouped $ EStretchy start : (contents ++ [EStretchy end])
+  let startChar = case start of
+                     ESymbol _ c -> c
+                     _           -> ""
+  let endChar   = case end of
+                     ESymbol _ c -> c
+                     _           -> ""
+  return $ EDelimited startChar endChar contents
 
 scaledEnclosure :: GenParser Char st Exp
 scaledEnclosure = try $ do
@@ -170,9 +176,7 @@
   inEnvironment keywd $ do
     aligns <- option [] arrayAlignments
     lines' <- sepEndBy1 arrayLine endLine
-    return $ EGrouped [ EStretchy (ESymbol Open opendelim)
-                      , EArray aligns lines'
-                      , EStretchy (ESymbol Close closedelim)]
+    return $ EDelimited opendelim closedelim [EArray aligns lines']
 
 stdarray :: GenParser Char st Exp
 stdarray = inEnvironment "array" $ do
@@ -192,7 +196,7 @@
 cases :: GenParser Char st Exp
 cases = inEnvironment "cases" $ do
   rs <- sepEndBy1 arrayLine endLine
-  return $ EGrouped [EStretchy (ESymbol Open "{"), EArray [] rs]
+  return $ EDelimited "{" "" [EArray [] rs]
 
 split :: GenParser Char st Exp
 split = inEnvironment "split" $ do
@@ -287,20 +291,20 @@
 
 textOps :: M.Map String (String -> Exp)
 textOps = M.fromList
-          [ ("\\textrm", EText "normal" . parseText)
-          , ("\\mathrm", EText "normal")
-          , ("\\text",   EText "normal" . parseText)
-          , ("\\mbox",   EText "normal")
-          , ("\\mathbf", EText "bold")
-          , ("\\textbf", EText "bold" . parseText)
-          , ("\\mathit", EText "italic")
-          , ("\\textit", EText "italic" . parseText)
-          , ("\\mathtt", EText "monospace")
-          , ("\\texttt", EText "monospace")
-          , ("\\mathsf", EText "sans-serif")
-          , ("\\mathbb", \e -> maybe (EText "double-struck" e) (ESymbol Pun) (M.lookup e mathbb))
-          , ("\\mathcal", \e -> maybe (EText "script" e) (ESymbol Pun) (M.lookup e mathcal))
-          , ("\\mathfrak", EText "fraktur")
+          [ ("\\textrm", EText TextNormal . parseText)
+          , ("\\mathrm", EText TextNormal)
+          , ("\\text",   EText TextNormal . parseText)
+          , ("\\mbox",   EText TextNormal)
+          , ("\\mathbf", EText TextBold)
+          , ("\\textbf", EText TextBold . parseText)
+          , ("\\mathit", EText TextItalic)
+          , ("\\textit", EText TextItalic . parseText)
+          , ("\\mathtt", EText TextMonospace)
+          , ("\\texttt", EText TextMonospace)
+          , ("\\mathsf", EText TextSansSerif)
+          , ("\\mathbb", \e -> maybe (EText TextDoubleStruck e) (ESymbol Pun) (M.lookup e mathbb))
+          , ("\\mathcal", \e -> maybe (EText TextScript e) (ESymbol Pun) (M.lookup e mathcal))
+          , ("\\mathfrak", EText TextFraktur)
           ]
 
 parseText :: String -> String
diff --git a/Text/TeXMath/Types.hs b/Text/TeXMath/Types.hs
--- a/Text/TeXMath/Types.hs
+++ b/Text/TeXMath/Types.hs
@@ -20,7 +20,8 @@
 {- | Types for representing a structured formula.
 -}
 
-module Text.TeXMath.Types (Exp(..), TeXSymbolType(..), ArrayLine, Alignment(..))
+module Text.TeXMath.Types (Exp(..), TeXSymbolType(..), ArrayLine,
+                           TextType(..), Alignment(..), DisplayType(..))
 where
 
 import Data.Generics
@@ -36,6 +37,7 @@
 data Exp =
     ENumber String
   | EGrouped [Exp]
+  | EDelimited String String [Exp]
   | EIdentifier String
   | EMathOperator String
   | ESymbol TeXSymbolType String
@@ -54,5 +56,19 @@
   | EScaled String Exp
   | EStretchy Exp
   | EArray [Alignment] [ArrayLine]
-  | EText String String
+  | EText TextType String
   deriving (Show, Read, Eq, Data, Typeable)
+
+data DisplayType = DisplayBlock
+                 | DisplayInline
+                 deriving Show
+
+data TextType = TextNormal
+              | TextBold
+              | TextItalic
+              | TextMonospace
+              | TextSansSerif
+              | TextDoubleStruck
+              | TextScript
+              | TextFraktur
+              deriving (Show, Read, Eq, Data, Typeable)
diff --git a/tests/01.omml b/tests/01.omml
new file mode 100644
--- /dev/null
+++ b/tests/01.omml
@@ -0,0 +1,80 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>−</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>b</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>±</m:t>
+        </m:r>
+        <m:rad>
+          <m:radPr>
+            <m:degHide m:val="on" />
+          </m:radPr>
+          <m:deg />
+          <m:e>
+            <m:sSup>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>b</m:t>
+                </m:r>
+              </m:e>
+              <m:sup>
+                <m:r>
+                  <m:rPr />
+                  <m:t>2</m:t>
+                </m:r>
+              </m:sup>
+            </m:sSup>
+            <m:r>
+              <m:rPr />
+              <m:t>−</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>4</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>a</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>c</m:t>
+            </m:r>
+          </m:e>
+        </m:rad>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/01.xhtml b/tests/01.xhtml
--- a/tests/01.xhtml
+++ b/tests/01.xhtml
@@ -10,16 +10,16 @@
         <mo>=</mo>
         <mfrac>
           <mrow>
-            <mo>&#8722;</mo>
+            <mo>−</mo>
             <mi>b</mi>
-            <mo>&#177;</mo>
+            <mo>±</mo>
             <msqrt>
               <mrow>
                 <msup>
                   <mi>b</mi>
                   <mn>2</mn>
                 </msup>
-                <mo>&#8722;</mo>
+                <mo>−</mo>
                 <mn>4</mn>
                 <mi>a</mi>
                 <mi>c</mi>
diff --git a/tests/02.omml b/tests/02.omml
new file mode 100644
--- /dev/null
+++ b/tests/02.omml
@@ -0,0 +1,72 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>2</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="(" />
+        <m:endChr m:val=")" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="bar" />
+          </m:fPr>
+          <m:num>
+            <m:d>
+              <m:dPr>
+                <m:begChr m:val="(" />
+                <m:endChr m:val=")" />
+                <m:grow />
+              </m:dPr>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>3</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>−</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>x</m:t>
+                </m:r>
+              </m:e>
+            </m:d>
+            <m:r>
+              <m:rPr />
+              <m:t>×</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>2</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:rPr />
+              <m:t>3</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>−</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>x</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+      </m:e>
+    </m:d>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/02.xhtml b/tests/02.xhtml
--- a/tests/02.xhtml
+++ b/tests/02.xhtml
@@ -15,16 +15,16 @@
               <mrow>
                 <mo stretchy="true">(</mo>
                 <mn>3</mn>
-                <mo>&#8722;</mo>
+                <mo>−</mo>
                 <mi>x</mi>
                 <mo stretchy="true">)</mo>
               </mrow>
-              <mo>&#215;</mo>
+              <mo>×</mo>
               <mn>2</mn>
             </mrow>
             <mrow>
               <mn>3</mn>
-              <mo>&#8722;</mo>
+              <mo>−</mo>
               <mi>x</mi>
             </mrow>
           </mfrac>
diff --git a/tests/03.omml b/tests/03.omml
new file mode 100644
--- /dev/null
+++ b/tests/03.omml
@@ -0,0 +1,51 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>a</m:t>
+    </m:r>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>x</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>b</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>c</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>0</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/04.omml b/tests/04.omml
new file mode 100644
--- /dev/null
+++ b/tests/04.omml
@@ -0,0 +1,89 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>S</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>new</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>S</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>old</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>−</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:sSup>
+          <m:e>
+            <m:d>
+              <m:dPr>
+                <m:begChr m:val="(" />
+                <m:endChr m:val=")" />
+                <m:grow />
+              </m:dPr>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>5</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>−</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>T</m:t>
+                </m:r>
+              </m:e>
+            </m:d>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/04.xhtml b/tests/04.xhtml
--- a/tests/04.xhtml
+++ b/tests/04.xhtml
@@ -15,13 +15,13 @@
           <mi>S</mi>
           <mtext mathvariant="normal">old</mtext>
         </msub>
-        <mo>&#8722;</mo>
+        <mo>−</mo>
         <mfrac>
           <msup>
             <mrow>
               <mo stretchy="true">(</mo>
               <mn>5</mn>
-              <mo>&#8722;</mo>
+              <mo>−</mo>
               <mi>T</mi>
               <mo stretchy="true">)</mo>
             </mrow>
diff --git a/tests/05.omml b/tests/05.omml
new file mode 100644
--- /dev/null
+++ b/tests/05.omml
@@ -0,0 +1,165 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∫" />
+        <m:limLoc m:val="subSup" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e />
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>x</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∫" />
+        <m:limLoc m:val="subSup" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>f</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>s</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>d</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>d</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>s</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∫" />
+        <m:limLoc m:val="subSup" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>f</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>x</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>−</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>d</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/05.xhtml b/tests/05.xhtml
--- a/tests/05.xhtml
+++ b/tests/05.xhtml
@@ -7,7 +7,7 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msubsup>
-          <mo>&#8747;</mo>
+          <mo>∫</mo>
           <mi>a</mi>
           <mi>x</mi>
         </msubsup>
@@ -15,7 +15,7 @@
         <mspace width="-0.167em" />
         <mspace width="-0.167em" />
         <msubsup>
-          <mo>&#8747;</mo>
+          <mo>∫</mo>
           <mi>a</mi>
           <mi>s</mi>
         </msubsup>
@@ -31,7 +31,7 @@
         <mi>s</mi>
         <mo>=</mo>
         <msubsup>
-          <mo>&#8747;</mo>
+          <mo>∫</mo>
           <mi>a</mi>
           <mi>x</mi>
         </msubsup>
@@ -41,7 +41,7 @@
         <mo stretchy="false">)</mo>
         <mo stretchy="false">(</mo>
         <mi>x</mi>
-        <mo>&#8722;</mo>
+        <mo>−</mo>
         <mi>y</mi>
         <mo stretchy="false">)</mo>
         <mspace width="0.167em" />
diff --git a/tests/06.omml b/tests/06.omml
new file mode 100644
--- /dev/null
+++ b/tests/06.omml
@@ -0,0 +1,169 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∑" />
+        <m:limLoc m:val="undOvr" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="∑" />
+            <m:limLoc m:val="undOvr" />
+            <m:grow />
+            <m:supHide m:val="off" />
+            <m:supHide m:val="off" />
+          </m:naryPr>
+          <m:e>
+            <m:f>
+              <m:fPr>
+                <m:type m:val="bar" />
+              </m:fPr>
+              <m:num>
+                <m:sSup>
+                  <m:e>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>m</m:t>
+                    </m:r>
+                  </m:e>
+                  <m:sup>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>2</m:t>
+                    </m:r>
+                  </m:sup>
+                </m:sSup>
+                <m:r>
+                  <m:rPr />
+                  <m:t> </m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:num>
+              <m:den>
+                <m:sSup>
+                  <m:e>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>3</m:t>
+                    </m:r>
+                  </m:e>
+                  <m:sup>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>m</m:t>
+                    </m:r>
+                  </m:sup>
+                </m:sSup>
+                <m:d>
+                  <m:dPr>
+                    <m:begChr m:val="(" />
+                    <m:endChr m:val=")" />
+                    <m:grow />
+                  </m:dPr>
+                  <m:e>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>m</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr />
+                      <m:t> </m:t>
+                    </m:r>
+                    <m:sSup>
+                      <m:e>
+                        <m:r>
+                          <m:rPr />
+                          <m:t>3</m:t>
+                        </m:r>
+                      </m:e>
+                      <m:sup>
+                        <m:r>
+                          <m:rPr />
+                          <m:t>n</m:t>
+                        </m:r>
+                      </m:sup>
+                    </m:sSup>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>+</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>n</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr />
+                      <m:t> </m:t>
+                    </m:r>
+                    <m:sSup>
+                      <m:e>
+                        <m:r>
+                          <m:rPr />
+                          <m:t>3</m:t>
+                        </m:r>
+                      </m:e>
+                      <m:sup>
+                        <m:r>
+                          <m:rPr />
+                          <m:t>m</m:t>
+                        </m:r>
+                      </m:sup>
+                    </m:sSup>
+                  </m:e>
+                </m:d>
+              </m:den>
+            </m:f>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>=</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>1</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>∞</m:t>
+            </m:r>
+          </m:sup>
+        </m:nary>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>m</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>∞</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/06.xhtml b/tests/06.xhtml
--- a/tests/06.xhtml
+++ b/tests/06.xhtml
@@ -7,22 +7,22 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <munderover>
-          <mo>&#8721;</mo>
+          <mo>∑</mo>
           <mrow>
             <mi>m</mi>
             <mo>=</mo>
             <mn>1</mn>
           </mrow>
-          <mo>&#8734;</mo>
+          <mo>∞</mo>
         </munderover>
         <munderover>
-          <mo>&#8721;</mo>
+          <mo>∑</mo>
           <mrow>
             <mi>n</mi>
             <mo>=</mo>
             <mn>1</mn>
           </mrow>
-          <mo>&#8734;</mo>
+          <mo>∞</mo>
         </munderover>
         <mfrac>
           <mrow>
diff --git a/tests/07.omml b/tests/07.omml
new file mode 100644
--- /dev/null
+++ b/tests/07.omml
@@ -0,0 +1,105 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>u</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>ʺ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>p</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>u</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>ʹ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>q</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>u</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>f</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>&gt;</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>a</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/07.xhtml b/tests/07.xhtml
--- a/tests/07.xhtml
+++ b/tests/07.xhtml
@@ -7,14 +7,14 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <mi>u</mi>
-        <mo>&#698;</mo>
+        <mo>ʺ</mo>
         <mo>+</mo>
         <mi>p</mi>
         <mo stretchy="false">(</mo>
         <mi>x</mi>
         <mo stretchy="false">)</mo>
         <mi>u</mi>
-        <mo>&#697;</mo>
+        <mo>ʹ</mo>
         <mo>+</mo>
         <mi>q</mi>
         <mo stretchy="false">(</mo>
diff --git a/tests/08.omml b/tests/08.omml
new file mode 100644
--- /dev/null
+++ b/tests/08.omml
@@ -0,0 +1,161 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:bar>
+      <m:barPr>
+        <m:pos m:val="top" />
+      </m:barPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+      </m:e>
+    </m:bar>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>z</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:bar>
+      <m:barPr>
+        <m:pos m:val="top" />
+      </m:barPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+      </m:e>
+    </m:bar>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>)</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∣</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>z</m:t>
+    </m:r>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>∣</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>arg</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>n</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>arg</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>z</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/08.xhtml b/tests/08.xhtml
--- a/tests/08.xhtml
+++ b/tests/08.xhtml
@@ -6,33 +6,33 @@
   <body>
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mover>
           <mi>z</mi>
-          <mo accent="true">&#8254;</mo>
+          <mo accent="true">‾</mo>
         </mover>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mo>=</mo>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mi>z</mi>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mo>,</mo>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mo stretchy="false">(</mo>
         <mover>
           <mi>z</mi>
-          <mo accent="true">&#8254;</mo>
+          <mo accent="true">‾</mo>
         </mover>
         <msup>
           <mo stretchy="false">)</mo>
           <mi>n</mi>
         </msup>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mo>=</mo>
-        <mo stretchy="false">&#8739;</mo>
+        <mo stretchy="false">∣</mo>
         <mi>z</mi>
         <msup>
-          <mo stretchy="false">&#8739;</mo>
+          <mo stretchy="false">∣</mo>
           <mi>n</mi>
         </msup>
         <mo>,</mo>
diff --git a/tests/09.omml b/tests/09.omml
new file mode 100644
--- /dev/null
+++ b/tests/09.omml
@@ -0,0 +1,83 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:limLow>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>lim</m:t>
+        </m:r>
+      </m:e>
+      <m:lim>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>→</m:t>
+        </m:r>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>z</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:lim>
+    </m:limLow>
+    <m:r>
+      <m:rPr />
+      <m:t>f</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>z</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>f</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>0</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/09.xhtml b/tests/09.xhtml
--- a/tests/09.xhtml
+++ b/tests/09.xhtml
@@ -10,7 +10,7 @@
           <mi>lim</mi>
           <mrow>
             <mi>z</mi>
-            <mo>&#8594;</mo>
+            <mo>→</mo>
             <msub>
               <mi>z</mi>
               <mn>0</mn>
diff --git a/tests/10.omml b/tests/10.omml
new file mode 100644
--- /dev/null
+++ b/tests/10.omml
@@ -0,0 +1,243 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>φ</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>κ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>4</m:t>
+        </m:r>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>π</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>κ</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:den>
+    </m:f>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∫" />
+        <m:limLoc m:val="subSup" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="bar" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:rPr />
+              <m:t>sin</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>κ</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>R</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>)</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:rPr />
+              <m:t>κ</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>R</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>0</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>∞</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>R</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="[" />
+        <m:endChr m:val="]" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>R</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>2</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="bar" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:rPr />
+              <m:t>∂</m:t>
+            </m:r>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>D</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>R</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>)</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:rPr />
+              <m:t>∂</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>R</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+      </m:e>
+    </m:d>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>d</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>R</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/10.xhtml b/tests/10.xhtml
--- a/tests/10.xhtml
+++ b/tests/10.xhtml
@@ -7,11 +7,11 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msub>
-          <mi>&#966;</mi>
+          <mi>φ</mi>
           <mi>n</mi>
         </msub>
         <mo stretchy="false">(</mo>
-        <mi>&#954;</mi>
+        <mi>κ</mi>
         <mo stretchy="false">)</mo>
         <mo>=</mo>
         <mfrac>
@@ -19,37 +19,37 @@
           <mrow>
             <mn>4</mn>
             <msup>
-              <mi>&#960;</mi>
+              <mi>π</mi>
               <mn>2</mn>
             </msup>
             <msup>
-              <mi>&#954;</mi>
+              <mi>κ</mi>
               <mn>2</mn>
             </msup>
           </mrow>
         </mfrac>
         <msubsup>
-          <mo>&#8747;</mo>
+          <mo>∫</mo>
           <mn>0</mn>
-          <mo>&#8734;</mo>
+          <mo>∞</mo>
         </msubsup>
         <mfrac>
           <mrow>
             <mi>sin</mi>
             <mo stretchy="false">(</mo>
-            <mi>&#954;</mi>
+            <mi>κ</mi>
             <mi>R</mi>
             <mo stretchy="false">)</mo>
           </mrow>
           <mrow>
-            <mi>&#954;</mi>
+            <mi>κ</mi>
             <mi>R</mi>
           </mrow>
         </mfrac>
         <mfrac>
-          <mo>&#8706;</mo>
+          <mo>∂</mo>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <mi>R</mi>
           </mrow>
         </mfrac>
@@ -61,7 +61,7 @@
           </msup>
           <mfrac>
             <mrow>
-              <mo>&#8706;</mo>
+              <mo>∂</mo>
               <msub>
                 <mi>D</mi>
                 <mi>n</mi>
@@ -71,7 +71,7 @@
               <mo stretchy="false">)</mo>
             </mrow>
             <mrow>
-              <mo>&#8706;</mo>
+              <mo>∂</mo>
               <mi>R</mi>
             </mrow>
           </mfrac>
diff --git a/tests/11.omml b/tests/11.omml
new file mode 100644
--- /dev/null
+++ b/tests/11.omml
@@ -0,0 +1,167 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>φ</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>κ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>0</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>.</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>033</m:t>
+    </m:r>
+    <m:sSubSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>C</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSubSup>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>κ</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>−</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>11</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>/</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>3</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>L</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:den>
+    </m:f>
+    <m:r>
+      <m:rPr />
+      <m:t>≪</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>κ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≪</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>l</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>0</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/11.xhtml b/tests/11.xhtml
--- a/tests/11.xhtml
+++ b/tests/11.xhtml
@@ -7,11 +7,11 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msub>
-          <mi>&#966;</mi>
+          <mi>φ</mi>
           <mi>n</mi>
         </msub>
         <mo stretchy="false">(</mo>
-        <mi>&#954;</mi>
+        <mi>κ</mi>
         <mo stretchy="false">)</mo>
         <mo>=</mo>
         <mn>0</mn>
@@ -23,9 +23,9 @@
           <mn>2</mn>
         </msubsup>
         <msup>
-          <mi>&#954;</mi>
+          <mi>κ</mi>
           <mrow>
-            <mo>&#8722;</mo>
+            <mo>−</mo>
             <mn>11</mn>
             <mo>/</mo>
             <mn>3</mn>
@@ -40,9 +40,9 @@
             <mn>0</mn>
           </msub>
         </mfrac>
-        <mo>&#8810;</mo>
-        <mi>&#954;</mi>
-        <mo>&#8810;</mo>
+        <mo>≪</mo>
+        <mi>κ</mi>
+        <mo>≪</mo>
         <mfrac>
           <mn>1</mn>
           <msub>
diff --git a/tests/12.omml b/tests/12.omml
new file mode 100644
--- /dev/null
+++ b/tests/12.omml
@@ -0,0 +1,160 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>f</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="{" />
+        <m:endChr m:val="" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>−</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>≤</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>x</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>&lt;</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:f>
+                <m:fPr>
+                  <m:type m:val="bar" />
+                </m:fPr>
+                <m:num>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>1</m:t>
+                  </m:r>
+                </m:num>
+                <m:den>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>2</m:t>
+                  </m:r>
+                </m:den>
+              </m:f>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>x</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>=</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>−</m:t>
+              </m:r>
+              <m:sSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>x</m:t>
+                  </m:r>
+                </m:e>
+                <m:sup>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>2</m:t>
+                  </m:r>
+                </m:sup>
+              </m:sSup>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr>
+                  <m:sty m:val="p" />
+                </m:rPr>
+                <m:t>otherwise</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/12.xhtml b/tests/12.xhtml
--- a/tests/12.xhtml
+++ b/tests/12.xhtml
@@ -19,9 +19,9 @@
                 <mn>1</mn>
               </mtd>
               <mtd>
-                <mo>&#8722;</mo>
+                <mo>−</mo>
                 <mn>1</mn>
-                <mo>&#8804;</mo>
+                <mo>≤</mo>
                 <mi>x</mi>
                 <mo>&lt;</mo>
                 <mn>0</mn>
@@ -43,7 +43,7 @@
             <mtr>
               <mtd>
                 <mn>1</mn>
-                <mo>&#8722;</mo>
+                <mo>−</mo>
                 <msup>
                   <mi>x</mi>
                   <mn>2</mn>
diff --git a/tests/13.omml b/tests/13.omml
new file mode 100644
--- /dev/null
+++ b/tests/13.omml
@@ -0,0 +1,339 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSub>
+      <m:e />
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>p</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>F</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>q</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>…</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>p</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>;</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>c</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>…</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>c</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>q</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>;</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>z</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∑" />
+        <m:limLoc m:val="undOvr" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="bar" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>a</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>1</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>)</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:r>
+              <m:rPr />
+              <m:t>⋯</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>a</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>p</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>)</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>c</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>1</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>)</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:r>
+              <m:rPr />
+              <m:t>⋯</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>(</m:t>
+            </m:r>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>c</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>q</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>)</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>n</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+          </m:den>
+        </m:f>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>0</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>∞</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>z</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>!</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/13.xhtml b/tests/13.xhtml
--- a/tests/13.xhtml
+++ b/tests/13.xhtml
@@ -20,7 +20,7 @@
           <mn>1</mn>
         </msub>
         <mo>,</mo>
-        <mo>&#8230;</mo>
+        <mo>…</mo>
         <mo>,</mo>
         <msub>
           <mi>a</mi>
@@ -32,7 +32,7 @@
           <mn>1</mn>
         </msub>
         <mo>,</mo>
-        <mo>&#8230;</mo>
+        <mo>…</mo>
         <mo>,</mo>
         <msub>
           <mi>c</mi>
@@ -43,13 +43,13 @@
         <mo stretchy="false">)</mo>
         <mo>=</mo>
         <munderover>
-          <mo>&#8721;</mo>
+          <mo>∑</mo>
           <mrow>
             <mi>n</mi>
             <mo>=</mo>
             <mn>0</mn>
           </mrow>
-          <mo>&#8734;</mo>
+          <mo>∞</mo>
         </munderover>
         <mfrac>
           <mrow>
@@ -62,7 +62,7 @@
               <mo stretchy="false">)</mo>
               <mi>n</mi>
             </msub>
-            <mo>&#8943;</mo>
+            <mo>⋯</mo>
             <mo stretchy="false">(</mo>
             <msub>
               <mi>a</mi>
@@ -83,7 +83,7 @@
               <mo stretchy="false">)</mo>
               <mi>n</mi>
             </msub>
-            <mo>&#8943;</mo>
+            <mo>⋯</mo>
             <mo stretchy="false">(</mo>
             <msub>
               <mi>c</mi>
diff --git a/tests/14.omml b/tests/14.omml
new file mode 100644
--- /dev/null
+++ b/tests/14.omml
@@ -0,0 +1,43 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>b</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="lin" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>b</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/15.omml b/tests/15.omml
new file mode 100644
--- /dev/null
+++ b/tests/15.omml
@@ -0,0 +1,22 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/16.omml b/tests/16.omml
new file mode 100644
--- /dev/null
+++ b/tests/16.omml
@@ -0,0 +1,17 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>3</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>×</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>4</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/16.xhtml b/tests/16.xhtml
--- a/tests/16.xhtml
+++ b/tests/16.xhtml
@@ -7,7 +7,7 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <mn>3</mn>
-        <mo>&#215;</mo>
+        <mo>×</mo>
         <mn>4</mn>
       </mrow>
     </math>
diff --git a/tests/17.omml b/tests/17.omml
new file mode 100644
--- /dev/null
+++ b/tests/17.omml
@@ -0,0 +1,33 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>*</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>4</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>4</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>*</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/18.omml b/tests/18.omml
new file mode 100644
--- /dev/null
+++ b/tests/18.omml
@@ -0,0 +1,29 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>1</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>.</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>3</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>×</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>.</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>2</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/18.xhtml b/tests/18.xhtml
--- a/tests/18.xhtml
+++ b/tests/18.xhtml
@@ -9,7 +9,7 @@
         <mn>1</mn>
         <mo>.</mo>
         <mn>3</mn>
-        <mo>&#215;</mo>
+        <mo>×</mo>
         <mo>.</mo>
         <mn>2</mn>
       </mrow>
diff --git a/tests/19.omml b/tests/19.omml
new file mode 100644
--- /dev/null
+++ b/tests/19.omml
@@ -0,0 +1,457 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="[" />
+        <m:endChr m:val="]" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:f>
+                <m:fPr>
+                  <m:type m:val="bar" />
+                </m:fPr>
+                <m:num>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>x</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:num>
+                <m:den>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>y</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:den>
+              </m:f>
+            </m:e>
+            <m:e>
+              <m:f>
+                <m:fPr>
+                  <m:type m:val="bar" />
+                </m:fPr>
+                <m:num>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>x</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>2</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:num>
+                <m:den>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>y</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:den>
+              </m:f>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t> </m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:f>
+                <m:fPr>
+                  <m:type m:val="bar" />
+                </m:fPr>
+                <m:num>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>x</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:num>
+                <m:den>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>y</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>2</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:den>
+              </m:f>
+            </m:e>
+            <m:e>
+              <m:f>
+                <m:fPr>
+                  <m:type m:val="bar" />
+                </m:fPr>
+                <m:num>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>x</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>2</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:num>
+                <m:den>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∂</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>y</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>2</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                </m:den>
+              </m:f>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="(" />
+        <m:endChr m:val=")" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>4</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="{" />
+        <m:endChr m:val="}" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>4</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="∣" />
+        <m:endChr m:val="∣" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>4</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="∥" />
+        <m:endChr m:val="∥" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>4</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/19.xhtml b/tests/19.xhtml
--- a/tests/19.xhtml
+++ b/tests/19.xhtml
@@ -14,14 +14,14 @@
                 <mstyle displaystyle="true">
                   <mfrac>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>x</mi>
                         <mn>1</mn>
                       </msub>
                     </mrow>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>y</mi>
                         <mn>1</mn>
@@ -34,14 +34,14 @@
                 <mstyle displaystyle="true">
                   <mfrac>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>x</mi>
                         <mn>2</mn>
                       </msub>
                     </mrow>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>y</mi>
                         <mn>1</mn>
@@ -61,14 +61,14 @@
                 <mstyle displaystyle="true">
                   <mfrac>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>x</mi>
                         <mn>1</mn>
                       </msub>
                     </mrow>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>y</mi>
                         <mn>2</mn>
@@ -81,14 +81,14 @@
                 <mstyle displaystyle="true">
                   <mfrac>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>x</mi>
                         <mn>2</mn>
                       </msub>
                     </mrow>
                     <mrow>
-                      <mo>&#8706;</mo>
+                      <mo>∂</mo>
                       <msub>
                         <mi>y</mi>
                         <mn>2</mn>
@@ -146,7 +146,7 @@
           <mo stretchy="true">}</mo>
         </mrow>
         <mrow>
-          <mo stretchy="true">&#8739;</mo>
+          <mo stretchy="true">∣</mo>
           <mtable>
             <mtr>
               <mtd>
@@ -165,10 +165,10 @@
               </mtd>
             </mtr>
           </mtable>
-          <mo stretchy="true">&#8739;</mo>
+          <mo stretchy="true">∣</mo>
         </mrow>
         <mrow>
-          <mo stretchy="true">&#8741;</mo>
+          <mo stretchy="true">∥</mo>
           <mtable>
             <mtr>
               <mtd>
@@ -187,7 +187,7 @@
               </mtd>
             </mtr>
           </mtable>
-          <mo stretchy="true">&#8741;</mo>
+          <mo stretchy="true">∥</mo>
         </mrow>
       </mrow>
     </math>
diff --git a/tests/axiom_of_power_set.omml b/tests/axiom_of_power_set.omml
new file mode 100644
--- /dev/null
+++ b/tests/axiom_of_power_set.omml
@@ -0,0 +1,113 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>∀</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>A</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∃</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>P</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∀</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>B</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>[</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>B</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∈</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>P</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>⇔</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∀</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>C</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>C</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∈</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>B</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>⇒</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>C</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∈</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>A</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>]</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/axiom_of_power_set.xhtml b/tests/axiom_of_power_set.xhtml
--- a/tests/axiom_of_power_set.xhtml
+++ b/tests/axiom_of_power_set.xhtml
@@ -6,30 +6,30 @@
   <body>
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
-        <mo>&#8704;</mo>
+        <mo>∀</mo>
         <mi>A</mi>
         <mspace width="0.167em" />
-        <mo>&#8707;</mo>
+        <mo>∃</mo>
         <mi>P</mi>
         <mspace width="0.167em" />
-        <mo>&#8704;</mo>
+        <mo>∀</mo>
         <mi>B</mi>
         <mspace width="0.167em" />
         <mo stretchy="false">[</mo>
         <mi>B</mi>
-        <mo>&#8712;</mo>
+        <mo>∈</mo>
         <mi>P</mi>
-        <mo>&#8660;</mo>
-        <mo>&#8704;</mo>
+        <mo>⇔</mo>
+        <mo>∀</mo>
         <mi>C</mi>
         <mspace width="0.167em" />
         <mo stretchy="false">(</mo>
         <mi>C</mi>
-        <mo>&#8712;</mo>
+        <mo>∈</mo>
         <mi>B</mi>
-        <mo>&#8658;</mo>
+        <mo>⇒</mo>
         <mi>C</mi>
-        <mo>&#8712;</mo>
+        <mo>∈</mo>
         <mi>A</mi>
         <mo stretchy="false">)</mo>
         <mo stretchy="false">]</mo>
diff --git a/tests/binomial_coefficient.omml b/tests/binomial_coefficient.omml
new file mode 100644
--- /dev/null
+++ b/tests/binomial_coefficient.omml
@@ -0,0 +1,171 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr>
+        <m:sty m:val="b" />
+      </m:rPr>
+      <m:t>C</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>n</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>k</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:sSubSup>
+      <m:e>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="b" />
+          </m:rPr>
+          <m:t>C</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>k</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSubSup>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e />
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="b" />
+          </m:rPr>
+          <m:t>C</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>k</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:d>
+      <m:dPr>
+        <m:sepChr m:val="," />
+      </m:dPr>
+      <m:e>
+        <m:f>
+          <m:fPr>
+            <m:type m:val="noBar" />
+          </m:fPr>
+          <m:num>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+          </m:num>
+          <m:den>
+            <m:r>
+              <m:rPr />
+              <m:t>k</m:t>
+            </m:r>
+          </m:den>
+        </m:f>
+      </m:e>
+    </m:d>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>!</m:t>
+        </m:r>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>k</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>!</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t> </m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>(</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>−</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>k</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>)</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>!</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/binomial_coefficient.xhtml b/tests/binomial_coefficient.xhtml
--- a/tests/binomial_coefficient.xhtml
+++ b/tests/binomial_coefficient.xhtml
@@ -46,7 +46,7 @@
             <mspace width="0.167em" />
             <mo stretchy="false">(</mo>
             <mi>n</mi>
-            <mo>&#8722;</mo>
+            <mo>−</mo>
             <mi>k</mi>
             <mo stretchy="false">)</mo>
             <mo>!</mo>
diff --git a/tests/complex_number.omml b/tests/complex_number.omml
new file mode 100644
--- /dev/null
+++ b/tests/complex_number.omml
@@ -0,0 +1,94 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>c</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:limUpp>
+      <m:e>
+        <m:acc>
+          <m:accPr>
+            <m:chr m:val="︷" />
+          </m:accPr>
+          <m:e>
+            <m:limLow>
+              <m:e>
+                <m:limLow>
+                  <m:e>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>a</m:t>
+                    </m:r>
+                  </m:e>
+                  <m:lim>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>︸</m:t>
+                    </m:r>
+                  </m:lim>
+                </m:limLow>
+              </m:e>
+              <m:lim>
+                <m:r>
+                  <m:rPr>
+                    <m:sty m:val="p" />
+                  </m:rPr>
+                  <m:t>real</m:t>
+                </m:r>
+              </m:lim>
+            </m:limLow>
+            <m:r>
+              <m:rPr />
+              <m:t>+</m:t>
+            </m:r>
+            <m:limLow>
+              <m:e>
+                <m:limLow>
+                  <m:e>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>b</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr>
+                        <m:sty m:val="p" />
+                      </m:rPr>
+                      <m:t>i</m:t>
+                    </m:r>
+                  </m:e>
+                  <m:lim>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>︸</m:t>
+                    </m:r>
+                  </m:lim>
+                </m:limLow>
+              </m:e>
+              <m:lim>
+                <m:r>
+                  <m:rPr>
+                    <m:sty m:val="p" />
+                  </m:rPr>
+                  <m:t>imaginary</m:t>
+                </m:r>
+              </m:lim>
+            </m:limLow>
+          </m:e>
+        </m:acc>
+      </m:e>
+      <m:lim>
+        <m:r>
+          <m:rPr>
+            <m:sty m:val="p" />
+          </m:rPr>
+          <m:t>complex number</m:t>
+        </m:r>
+      </m:lim>
+    </m:limUpp>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/complex_number.xhtml b/tests/complex_number.xhtml
--- a/tests/complex_number.xhtml
+++ b/tests/complex_number.xhtml
@@ -14,7 +14,7 @@
               <munder>
                 <munder>
                   <mi>a</mi>
-                  <mo accent="true">&#65080;</mo>
+                  <mo accent="true">︸</mo>
                 </munder>
                 <mtext mathvariant="normal">real</mtext>
               </munder>
@@ -25,12 +25,12 @@
                     <mi>b</mi>
                     <mtext mathvariant="normal">i</mtext>
                   </mrow>
-                  <mo accent="true">&#65080;</mo>
+                  <mo accent="true">︸</mo>
                 </munder>
                 <mtext mathvariant="normal">imaginary</mtext>
               </munder>
             </mrow>
-            <mo accent="true">&#65079;</mo>
+            <mo accent="true">︷</mo>
           </mover>
           <mtext mathvariant="normal">complex number</mtext>
         </mover>
diff --git a/tests/deMorgans_law.omml b/tests/deMorgans_law.omml
new file mode 100644
--- /dev/null
+++ b/tests/deMorgans_law.omml
@@ -0,0 +1,177 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>¬</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>p</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∧</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>q</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>⇔</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>¬</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>p</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>∨</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>(</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>¬</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>q</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>)</m:t>
+    </m:r>
+    <m:bar>
+      <m:barPr>
+        <m:pos m:val="top" />
+      </m:barPr>
+      <m:e>
+        <m:nary>
+          <m:naryPr>
+            <m:chr m:val="⋃" />
+            <m:limLoc m:val="undOvr" />
+            <m:grow />
+            <m:supHide m:val="off" />
+            <m:supHide m:val="off" />
+          </m:naryPr>
+          <m:e>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>A</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>i</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>i</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>=</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>1</m:t>
+            </m:r>
+          </m:sub>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+          </m:sup>
+        </m:nary>
+      </m:e>
+    </m:bar>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="⋂" />
+        <m:limLoc m:val="undOvr" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:bar>
+          <m:barPr>
+            <m:pos m:val="top" />
+          </m:barPr>
+          <m:e>
+            <m:sSub>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>A</m:t>
+                </m:r>
+              </m:e>
+              <m:sub>
+                <m:r>
+                  <m:rPr />
+                  <m:t>i</m:t>
+                </m:r>
+              </m:sub>
+            </m:sSub>
+          </m:e>
+        </m:bar>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>i</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/deMorgans_law.xhtml b/tests/deMorgans_law.xhtml
--- a/tests/deMorgans_law.xhtml
+++ b/tests/deMorgans_law.xhtml
@@ -6,26 +6,26 @@
   <body>
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
-        <mo>&#172;</mo>
+        <mo>¬</mo>
         <mo stretchy="false">(</mo>
         <mi>p</mi>
-        <mo>&#8743;</mo>
+        <mo>∧</mo>
         <mi>q</mi>
         <mo stretchy="false">)</mo>
-        <mo>&#8660;</mo>
+        <mo>⇔</mo>
         <mo stretchy="false">(</mo>
-        <mo>&#172;</mo>
+        <mo>¬</mo>
         <mi>p</mi>
         <mo stretchy="false">)</mo>
-        <mo>&#8744;</mo>
+        <mo>∨</mo>
         <mo stretchy="false">(</mo>
-        <mo>&#172;</mo>
+        <mo>¬</mo>
         <mi>q</mi>
         <mo stretchy="false">)</mo>
         <mover>
           <mrow>
             <munderover>
-              <mo>&#8899;</mo>
+              <mo>⋃</mo>
               <mrow>
                 <mi>i</mi>
                 <mo>=</mo>
@@ -38,11 +38,11 @@
               <mi>i</mi>
             </msub>
           </mrow>
-          <mo accent="true">&#175;</mo>
+          <mo accent="true">¯</mo>
         </mover>
         <mo>=</mo>
         <munderover>
-          <mo>&#8898;</mo>
+          <mo>⋂</mo>
           <mrow>
             <mi>i</mi>
             <mo>=</mo>
@@ -55,7 +55,7 @@
             <mi>A</mi>
             <mi>i</mi>
           </msub>
-          <mo accent="true">&#175;</mo>
+          <mo accent="true">¯</mo>
         </mover>
       </mrow>
     </math>
diff --git a/tests/differentiable_manifold.omml b/tests/differentiable_manifold.omml
new file mode 100644
--- /dev/null
+++ b/tests/differentiable_manifold.omml
@@ -0,0 +1,325 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>γ</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>≡</m:t>
+    </m:r>
+    <m:sSub>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>γ</m:t>
+        </m:r>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:sub>
+    </m:sSub>
+    <m:r>
+      <m:rPr />
+      <m:t>⇔</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>{</m:t>
+    </m:r>
+    <m:m>
+      <m:mPr>
+        <m:baseJc m:val="center" />
+        <m:plcHide m:val="on" />
+        <m:mcs>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+        </m:mcs>
+      </m:mPr>
+      <m:mr>
+        <m:e>
+          <m:sSub>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>γ</m:t>
+              </m:r>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:sub>
+          </m:sSub>
+          <m:r>
+            <m:rPr />
+            <m:t>(</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>0</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>)</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:sSub>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>γ</m:t>
+              </m:r>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:sub>
+          </m:sSub>
+          <m:r>
+            <m:rPr />
+            <m:t>(</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>0</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>)</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>p</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>,</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>and </m:t>
+          </m:r>
+        </m:e>
+      </m:mr>
+      <m:mr>
+        <m:e>
+          <m:sSub>
+            <m:e>
+              <m:d>
+                <m:dPr>
+                  <m:begChr m:val="&#65279;" />
+                  <m:endChr m:val="∣" />
+                  <m:grow />
+                </m:dPr>
+                <m:e>
+                  <m:f>
+                    <m:fPr>
+                      <m:type m:val="bar" />
+                    </m:fPr>
+                    <m:num>
+                      <m:r>
+                        <m:rPr>
+                          <m:sty m:val="p" />
+                        </m:rPr>
+                        <m:t>d</m:t>
+                      </m:r>
+                    </m:num>
+                    <m:den>
+                      <m:r>
+                        <m:rPr>
+                          <m:sty m:val="p" />
+                        </m:rPr>
+                        <m:t>d</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>t</m:t>
+                      </m:r>
+                    </m:den>
+                  </m:f>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>φ</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∘</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>γ</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>(</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>t</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>)</m:t>
+                  </m:r>
+                </m:e>
+              </m:d>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>t</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>=</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+          </m:sSub>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:sSub>
+            <m:e>
+              <m:d>
+                <m:dPr>
+                  <m:begChr m:val="&#65279;" />
+                  <m:endChr m:val="∣" />
+                  <m:grow />
+                </m:dPr>
+                <m:e>
+                  <m:f>
+                    <m:fPr>
+                      <m:type m:val="bar" />
+                    </m:fPr>
+                    <m:num>
+                      <m:r>
+                        <m:rPr>
+                          <m:sty m:val="p" />
+                        </m:rPr>
+                        <m:t>d</m:t>
+                      </m:r>
+                    </m:num>
+                    <m:den>
+                      <m:r>
+                        <m:rPr>
+                          <m:sty m:val="p" />
+                        </m:rPr>
+                        <m:t>d</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>t</m:t>
+                      </m:r>
+                    </m:den>
+                  </m:f>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>φ</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>∘</m:t>
+                  </m:r>
+                  <m:sSub>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>γ</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sub>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>2</m:t>
+                      </m:r>
+                    </m:sub>
+                  </m:sSub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>(</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>t</m:t>
+                  </m:r>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>)</m:t>
+                  </m:r>
+                </m:e>
+              </m:d>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>t</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>=</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+          </m:sSub>
+        </m:e>
+      </m:mr>
+    </m:m>
+    <m:r>
+      <m:rPr />
+      <m:t>&#65279;</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/differentiable_manifold.xhtml b/tests/differentiable_manifold.xhtml
--- a/tests/differentiable_manifold.xhtml
+++ b/tests/differentiable_manifold.xhtml
@@ -7,21 +7,21 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msub>
-          <mi>&#947;</mi>
+          <mi>γ</mi>
           <mn>1</mn>
         </msub>
-        <mo>&#8801;</mo>
+        <mo>≡</mo>
         <msub>
-          <mi>&#947;</mi>
+          <mi>γ</mi>
           <mn>2</mn>
         </msub>
-        <mo>&#8660;</mo>
+        <mo>⇔</mo>
         <mo stretchy="true">{</mo>
         <mtable>
           <mtr>
             <mtd columnalign="left">
               <msub>
-                <mi>&#947;</mi>
+                <mi>γ</mi>
                 <mn>1</mn>
               </msub>
               <mo stretchy="false">(</mo>
@@ -29,7 +29,7 @@
               <mo stretchy="false">)</mo>
               <mo>=</mo>
               <msub>
-                <mi>&#947;</mi>
+                <mi>γ</mi>
                 <mn>2</mn>
               </msub>
               <mo stretchy="false">(</mo>
@@ -56,16 +56,16 @@
                       <mi>t</mi>
                     </mrow>
                   </mfrac>
-                  <mi>&#966;</mi>
-                  <mo>&#8728;</mo>
+                  <mi>φ</mi>
+                  <mo>∘</mo>
                   <msub>
-                    <mi>&#947;</mi>
+                    <mi>γ</mi>
                     <mn>1</mn>
                   </msub>
                   <mo stretchy="false">(</mo>
                   <mi>t</mi>
                   <mo stretchy="false">)</mo>
-                  <mo stretchy="true">&#8739;</mo>
+                  <mo stretchy="true">∣</mo>
                 </mrow>
                 <mrow>
                   <mi>t</mi>
@@ -84,16 +84,16 @@
                       <mi>t</mi>
                     </mrow>
                   </mfrac>
-                  <mi>&#966;</mi>
-                  <mo>&#8728;</mo>
+                  <mi>φ</mi>
+                  <mo>∘</mo>
                   <msub>
-                    <mi>&#947;</mi>
+                    <mi>γ</mi>
                     <mn>2</mn>
                   </msub>
                   <mo stretchy="false">(</mo>
                   <mi>t</mi>
                   <mo stretchy="false">)</mo>
-                  <mo stretchy="true">&#8739;</mo>
+                  <mo stretchy="true">∣</mo>
                 </mrow>
                 <mrow>
                   <mi>t</mi>
diff --git a/tests/divergence.omml b/tests/divergence.omml
new file mode 100644
--- /dev/null
+++ b/tests/divergence.omml
@@ -0,0 +1,141 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>∇</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>⋅</m:t>
+    </m:r>
+    <m:acc>
+      <m:accPr>
+        <m:chr m:val="⃗" />
+      </m:accPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>v</m:t>
+        </m:r>
+      </m:e>
+    </m:acc>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>v</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>x</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>x</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>v</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>y</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>y</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:sSub>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>v</m:t>
+            </m:r>
+          </m:e>
+          <m:sub>
+            <m:r>
+              <m:rPr />
+              <m:t>z</m:t>
+            </m:r>
+          </m:sub>
+        </m:sSub>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>∂</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>z</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/divergence.xhtml b/tests/divergence.xhtml
--- a/tests/divergence.xhtml
+++ b/tests/divergence.xhtml
@@ -6,51 +6,51 @@
   <body>
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
-        <mo>&#8711;</mo>
-        <mo>&#8901;</mo>
+        <mo>∇</mo>
+        <mo>⋅</mo>
         <mover>
           <mi>v</mi>
-          <mo accent="true">&#8407;</mo>
+          <mo accent="true">⃗</mo>
         </mover>
         <mo>=</mo>
         <mfrac>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <msub>
               <mi>v</mi>
               <mi>x</mi>
             </msub>
           </mrow>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <mi>x</mi>
           </mrow>
         </mfrac>
         <mo>+</mo>
         <mfrac>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <msub>
               <mi>v</mi>
               <mi>y</mi>
             </msub>
           </mrow>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <mi>y</mi>
           </mrow>
         </mfrac>
         <mo>+</mo>
         <mfrac>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <msub>
               <mi>v</mi>
               <mi>z</mi>
             </msub>
           </mrow>
           <mrow>
-            <mo>&#8706;</mo>
+            <mo>∂</mo>
             <mi>z</mi>
           </mrow>
         </mfrac>
diff --git a/tests/ensuremath.omml b/tests/ensuremath.omml
new file mode 100644
--- /dev/null
+++ b/tests/ensuremath.omml
@@ -0,0 +1,19 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:sSup>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>π</m:t>
+        </m:r>
+      </m:e>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+      </m:sup>
+    </m:sSup>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/ensuremath.xhtml b/tests/ensuremath.xhtml
--- a/tests/ensuremath.xhtml
+++ b/tests/ensuremath.xhtml
@@ -7,7 +7,7 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msup>
-          <mi>&#960;</mi>
+          <mi>π</mi>
           <mn>2</mn>
         </msup>
       </mrow>
diff --git a/tests/macros.omml b/tests/macros.omml
new file mode 100644
--- /dev/null
+++ b/tests/macros.omml
@@ -0,0 +1,37 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>2</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>5</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>y</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>3</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>+</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>3</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/moore_determinant.omml b/tests/moore_determinant.omml
new file mode 100644
--- /dev/null
+++ b/tests/moore_determinant.omml
@@ -0,0 +1,334 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>M</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="[" />
+        <m:endChr m:val="]" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:m>
+          <m:mPr>
+            <m:baseJc m:val="center" />
+            <m:plcHide m:val="on" />
+            <m:mcs>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+              <m:mc>
+                <m:mcPr>
+                  <m:mcJc m:val="left" />
+                </m:mcPr>
+              </m:mc>
+            </m:mcs>
+          </m:mPr>
+          <m:mr>
+            <m:e>
+              <m:sSub>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>1</m:t>
+                  </m:r>
+                </m:sub>
+              </m:sSub>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>1</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>q</m:t>
+                  </m:r>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋯</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>1</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:sSup>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>q</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sup>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>n</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>−</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sup>
+                  </m:sSup>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:sSub>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>2</m:t>
+                  </m:r>
+                </m:sub>
+              </m:sSub>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>2</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>q</m:t>
+                  </m:r>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋯</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>2</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:sSup>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>q</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sup>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>n</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>−</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sup>
+                  </m:sSup>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋮</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋮</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋱</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋮</m:t>
+              </m:r>
+            </m:e>
+          </m:mr>
+          <m:mr>
+            <m:e>
+              <m:sSub>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>m</m:t>
+                  </m:r>
+                </m:sub>
+              </m:sSub>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>m</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>q</m:t>
+                  </m:r>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>⋯</m:t>
+              </m:r>
+            </m:e>
+            <m:e>
+              <m:sSubSup>
+                <m:e>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>α</m:t>
+                  </m:r>
+                </m:e>
+                <m:sub>
+                  <m:r>
+                    <m:rPr />
+                    <m:t>m</m:t>
+                  </m:r>
+                </m:sub>
+                <m:sup>
+                  <m:sSup>
+                    <m:e>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>q</m:t>
+                      </m:r>
+                    </m:e>
+                    <m:sup>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>n</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>−</m:t>
+                      </m:r>
+                      <m:r>
+                        <m:rPr />
+                        <m:t>1</m:t>
+                      </m:r>
+                    </m:sup>
+                  </m:sSup>
+                </m:sup>
+              </m:sSubSup>
+            </m:e>
+          </m:mr>
+        </m:m>
+      </m:e>
+    </m:d>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/moore_determinant.xhtml b/tests/moore_determinant.xhtml
--- a/tests/moore_determinant.xhtml
+++ b/tests/moore_determinant.xhtml
@@ -14,29 +14,29 @@
             <mtr>
               <mtd>
                 <msub>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>1</mn>
                 </msub>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>1</mn>
                   <mi>q</mi>
                 </msubsup>
               </mtd>
               <mtd>
-                <mo>&#8943;</mo>
+                <mo>⋯</mo>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>1</mn>
                   <msup>
                     <mi>q</mi>
                     <mrow>
                       <mi>n</mi>
-                      <mo>&#8722;</mo>
+                      <mo>−</mo>
                       <mn>1</mn>
                     </mrow>
                   </msup>
@@ -46,29 +46,29 @@
             <mtr>
               <mtd>
                 <msub>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>2</mn>
                 </msub>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>2</mn>
                   <mi>q</mi>
                 </msubsup>
               </mtd>
               <mtd>
-                <mo>&#8943;</mo>
+                <mo>⋯</mo>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mn>2</mn>
                   <msup>
                     <mi>q</mi>
                     <mrow>
                       <mi>n</mi>
-                      <mo>&#8722;</mo>
+                      <mo>−</mo>
                       <mn>1</mn>
                     </mrow>
                   </msup>
@@ -77,44 +77,44 @@
             </mtr>
             <mtr>
               <mtd>
-                <mo>&#8942;</mo>
+                <mo>⋮</mo>
               </mtd>
               <mtd>
-                <mo>&#8942;</mo>
+                <mo>⋮</mo>
               </mtd>
               <mtd>
-                <mo>&#8945;</mo>
+                <mo>⋱</mo>
               </mtd>
               <mtd>
-                <mo>&#8942;</mo>
+                <mo>⋮</mo>
               </mtd>
             </mtr>
             <mtr>
               <mtd>
                 <msub>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mi>m</mi>
                 </msub>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mi>m</mi>
                   <mi>q</mi>
                 </msubsup>
               </mtd>
               <mtd>
-                <mo>&#8943;</mo>
+                <mo>⋯</mo>
               </mtd>
               <mtd>
                 <msubsup>
-                  <mi>&#945;</mi>
+                  <mi>α</mi>
                   <mi>m</mi>
                   <msup>
                     <mi>q</mi>
                     <mrow>
                       <mi>n</mi>
-                      <mo>&#8722;</mo>
+                      <mo>−</mo>
                       <mn>1</mn>
                     </mrow>
                   </msup>
diff --git a/tests/quadratic_formula.omml b/tests/quadratic_formula.omml
new file mode 100644
--- /dev/null
+++ b/tests/quadratic_formula.omml
@@ -0,0 +1,80 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:f>
+      <m:fPr>
+        <m:type m:val="bar" />
+      </m:fPr>
+      <m:num>
+        <m:r>
+          <m:rPr />
+          <m:t>−</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>b</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>±</m:t>
+        </m:r>
+        <m:rad>
+          <m:radPr>
+            <m:degHide m:val="on" />
+          </m:radPr>
+          <m:deg />
+          <m:e>
+            <m:sSup>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>b</m:t>
+                </m:r>
+              </m:e>
+              <m:sup>
+                <m:r>
+                  <m:rPr />
+                  <m:t>2</m:t>
+                </m:r>
+              </m:sup>
+            </m:sSup>
+            <m:r>
+              <m:rPr />
+              <m:t>−</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>4</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>a</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>c</m:t>
+            </m:r>
+          </m:e>
+        </m:rad>
+      </m:num>
+      <m:den>
+        <m:r>
+          <m:rPr />
+          <m:t>2</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>a</m:t>
+        </m:r>
+      </m:den>
+    </m:f>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/quadratic_formula.xhtml b/tests/quadratic_formula.xhtml
--- a/tests/quadratic_formula.xhtml
+++ b/tests/quadratic_formula.xhtml
@@ -10,16 +10,16 @@
         <mo>=</mo>
         <mfrac>
           <mrow>
-            <mo>&#8722;</mo>
+            <mo>−</mo>
             <mi>b</mi>
-            <mo>&#177;</mo>
+            <mo>±</mo>
             <msqrt>
               <mrow>
                 <msup>
                   <mi>b</mi>
                   <mn>2</mn>
                 </msup>
-                <mo>&#8722;</mo>
+                <mo>−</mo>
                 <mn>4</mn>
                 <mi>a</mi>
                 <mi>c</mi>
diff --git a/tests/runtests.sh b/tests/runtests.sh
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -5,23 +5,37 @@
 # Otherwise the test program 'texmath' won't be built.
 # Exit status is number of failed tests.
 TESTPROG=../dist/build/texmath/texmath
-failures=0
-passes=0
-if [ -f $TESTPROG ]; then
-    for t in *.tex; do
-        $TESTPROG <$t >tmp
-        diff ${t%.tex}.xhtml tmp >tmpdiff
-        if [ "$?" -ne "0" ]; then
-            echo "Test ${t%.tex} FAILED (< expected, > actual):"
-            cat tmpdiff
+totalfailures=0
+
+for format in xhtml omml; do
+  failures=0
+  passes=0
+  if [ -f $TESTPROG ]; then
+      for t in *.tex; do
+          $TESTPROG --${format} <$t >tmp
+          testname="Test ${t%.tex} ${format}"
+          if [ "$?" -ne "0" ]; then
+            echo "${testname} FAILED"
             failures=`expr $failures + 1`
-        else
-            echo "Test ${t%.tex} PASSED"
-            passes=`expr $passes + 1`
-        fi
-    done
-else
-    echo "Test executable not built. NOT running tests."
-fi
-echo "$passes tests passed, $failures tests failed."
+          else
+            diff -u ${t%.tex}.${format} tmp >tmpdiff
+            if [ "$?" -ne "0" ]; then
+                echo "${testname} (- expected, + actual):"
+                cat tmpdiff
+                failures=`expr $failures + 1`
+            else
+                echo "${testname} PASSED"
+                passes=`expr $passes + 1`
+            fi
+          fi
+      done
+  else
+      echo "Test executable not built. NOT running tests."
+  fi
+  echo "$format: $passes tests passed, $failures tests failed."
+  totalfailures=`expr $totalfailures + $failures`
+done
+echo "$totalfailures tests failed total."
 exit $failures
+
+
diff --git a/tests/schwinger_dyson.omml b/tests/schwinger_dyson.omml
new file mode 100644
--- /dev/null
+++ b/tests/schwinger_dyson.omml
@@ -0,0 +1,187 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="⟨" />
+        <m:endChr m:val="⟩" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>ψ</m:t>
+        </m:r>
+        <m:d>
+          <m:dPr>
+            <m:begChr m:val="∣" />
+            <m:endChr m:val="∣" />
+            <m:grow />
+          </m:dPr>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>𝒯</m:t>
+            </m:r>
+            <m:d>
+              <m:dPr>
+                <m:begChr m:val="{" />
+                <m:endChr m:val="}" />
+                <m:grow />
+              </m:dPr>
+              <m:e>
+                <m:f>
+                  <m:fPr>
+                    <m:type m:val="bar" />
+                  </m:fPr>
+                  <m:num>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>δ</m:t>
+                    </m:r>
+                  </m:num>
+                  <m:den>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>δ</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>φ</m:t>
+                    </m:r>
+                  </m:den>
+                </m:f>
+                <m:r>
+                  <m:rPr />
+                  <m:t>F</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>[</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>φ</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>]</m:t>
+                </m:r>
+              </m:e>
+            </m:d>
+          </m:e>
+        </m:d>
+        <m:r>
+          <m:rPr />
+          <m:t>ψ</m:t>
+        </m:r>
+      </m:e>
+    </m:d>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>−</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr>
+        <m:sty m:val="p" />
+      </m:rPr>
+      <m:t>i</m:t>
+    </m:r>
+    <m:d>
+      <m:dPr>
+        <m:begChr m:val="⟨" />
+        <m:endChr m:val="⟩" />
+        <m:grow />
+      </m:dPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>ψ</m:t>
+        </m:r>
+        <m:d>
+          <m:dPr>
+            <m:begChr m:val="∣" />
+            <m:endChr m:val="∣" />
+            <m:grow />
+          </m:dPr>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>𝒯</m:t>
+            </m:r>
+            <m:d>
+              <m:dPr>
+                <m:begChr m:val="{" />
+                <m:endChr m:val="}" />
+                <m:grow />
+              </m:dPr>
+              <m:e>
+                <m:r>
+                  <m:rPr />
+                  <m:t>F</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>[</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>φ</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>]</m:t>
+                </m:r>
+                <m:f>
+                  <m:fPr>
+                    <m:type m:val="bar" />
+                  </m:fPr>
+                  <m:num>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>δ</m:t>
+                    </m:r>
+                  </m:num>
+                  <m:den>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>δ</m:t>
+                    </m:r>
+                    <m:r>
+                      <m:rPr />
+                      <m:t>φ</m:t>
+                    </m:r>
+                  </m:den>
+                </m:f>
+                <m:r>
+                  <m:rPr />
+                  <m:t>S</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>[</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>φ</m:t>
+                </m:r>
+                <m:r>
+                  <m:rPr />
+                  <m:t>]</m:t>
+                </m:r>
+              </m:e>
+            </m:d>
+          </m:e>
+        </m:d>
+        <m:r>
+          <m:rPr />
+          <m:t>ψ</m:t>
+        </m:r>
+      </m:e>
+    </m:d>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/schwinger_dyson.xhtml b/tests/schwinger_dyson.xhtml
--- a/tests/schwinger_dyson.xhtml
+++ b/tests/schwinger_dyson.xhtml
@@ -7,63 +7,63 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <mrow>
-          <mo stretchy="true">&#10216;</mo>
-          <mi>&#968;</mi>
+          <mo stretchy="true">⟨</mo>
+          <mi>ψ</mi>
           <mrow>
-            <mo stretchy="true">&#8739;</mo>
-            <mo>&#119983;</mo>
+            <mo stretchy="true">∣</mo>
+            <mo>𝒯</mo>
             <mrow>
               <mo stretchy="true">{</mo>
               <mfrac>
-                <mi>&#948;</mi>
+                <mi>δ</mi>
                 <mrow>
-                  <mi>&#948;</mi>
-                  <mi>&#966;</mi>
+                  <mi>δ</mi>
+                  <mi>φ</mi>
                 </mrow>
               </mfrac>
               <mi>F</mi>
               <mo stretchy="false">[</mo>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
               <mo stretchy="false">]</mo>
               <mo stretchy="true">}</mo>
             </mrow>
-            <mo stretchy="true">&#8739;</mo>
+            <mo stretchy="true">∣</mo>
           </mrow>
-          <mi>&#968;</mi>
-          <mo stretchy="true">&#10217;</mo>
+          <mi>ψ</mi>
+          <mo stretchy="true">⟩</mo>
         </mrow>
         <mo>=</mo>
-        <mo>&#8722;</mo>
+        <mo>−</mo>
         <mtext mathvariant="normal">i</mtext>
         <mrow>
-          <mo stretchy="true">&#10216;</mo>
-          <mi>&#968;</mi>
+          <mo stretchy="true">⟨</mo>
+          <mi>ψ</mi>
           <mrow>
-            <mo stretchy="true">&#8739;</mo>
-            <mo>&#119983;</mo>
+            <mo stretchy="true">∣</mo>
+            <mo>𝒯</mo>
             <mrow>
               <mo stretchy="true">{</mo>
               <mi>F</mi>
               <mo stretchy="false">[</mo>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
               <mo stretchy="false">]</mo>
               <mfrac>
-                <mi>&#948;</mi>
+                <mi>δ</mi>
                 <mrow>
-                  <mi>&#948;</mi>
-                  <mi>&#966;</mi>
+                  <mi>δ</mi>
+                  <mi>φ</mi>
                 </mrow>
               </mfrac>
               <mi>S</mi>
               <mo stretchy="false">[</mo>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
               <mo stretchy="false">]</mo>
               <mo stretchy="true">}</mo>
             </mrow>
-            <mo stretchy="true">&#8739;</mo>
+            <mo stretchy="true">∣</mo>
           </mrow>
-          <mi>&#968;</mi>
-          <mo stretchy="true">&#10217;</mo>
+          <mi>ψ</mi>
+          <mo stretchy="true">⟩</mo>
         </mrow>
       </mrow>
     </math>
diff --git a/tests/sophomores_dream.omml b/tests/sophomores_dream.omml
new file mode 100644
--- /dev/null
+++ b/tests/sophomores_dream.omml
@@ -0,0 +1,147 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∫" />
+        <m:limLoc m:val="subSup" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>x</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>x</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>0</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr>
+        <m:sty m:val="p" />
+      </m:rPr>
+      <m:t>d</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>x</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:nary>
+      <m:naryPr>
+        <m:chr m:val="∑" />
+        <m:limLoc m:val="undOvr" />
+        <m:grow />
+        <m:supHide m:val="off" />
+        <m:supHide m:val="off" />
+      </m:naryPr>
+      <m:e>
+        <m:r>
+          <m:rPr />
+          <m:t>(</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>−</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>)</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>+</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>1</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+        <m:r>
+          <m:rPr />
+          <m:t> </m:t>
+        </m:r>
+        <m:sSup>
+          <m:e>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+          </m:e>
+          <m:sup>
+            <m:r>
+              <m:rPr />
+              <m:t>−</m:t>
+            </m:r>
+            <m:r>
+              <m:rPr />
+              <m:t>n</m:t>
+            </m:r>
+          </m:sup>
+        </m:sSup>
+      </m:e>
+      <m:sub>
+        <m:r>
+          <m:rPr />
+          <m:t>n</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>=</m:t>
+        </m:r>
+        <m:r>
+          <m:rPr />
+          <m:t>1</m:t>
+        </m:r>
+      </m:sub>
+      <m:sup>
+        <m:r>
+          <m:rPr />
+          <m:t>∞</m:t>
+        </m:r>
+      </m:sup>
+    </m:nary>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/sophomores_dream.xhtml b/tests/sophomores_dream.xhtml
--- a/tests/sophomores_dream.xhtml
+++ b/tests/sophomores_dream.xhtml
@@ -7,7 +7,7 @@
     <math display="block" xmlns="http://www.w3.org/1998/Math/MathML">
       <mrow>
         <msubsup>
-          <mo>&#8747;</mo>
+          <mo>∫</mo>
           <mn>0</mn>
           <mn>1</mn>
         </msubsup>
@@ -20,17 +20,17 @@
         <mi>x</mi>
         <mo>=</mo>
         <munderover>
-          <mo>&#8721;</mo>
+          <mo>∑</mo>
           <mrow>
             <mi>n</mi>
             <mo>=</mo>
             <mn>1</mn>
           </mrow>
-          <mo>&#8734;</mo>
+          <mo>∞</mo>
         </munderover>
         <mrow>
           <mo stretchy="false">(</mo>
-          <mo>&#8722;</mo>
+          <mo>−</mo>
           <mn>1</mn>
           <msup>
             <mo stretchy="false">)</mo>
@@ -44,7 +44,7 @@
           <msup>
             <mi>n</mi>
             <mrow>
-              <mo>&#8722;</mo>
+              <mo>−</mo>
               <mi>n</mi>
             </mrow>
           </msup>
diff --git a/tests/sphere_volume.omml b/tests/sphere_volume.omml
new file mode 100644
--- /dev/null
+++ b/tests/sphere_volume.omml
@@ -0,0 +1,614 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>S</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>=</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>{</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>0</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>φ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>2</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>π</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>0</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>θ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>π</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>,</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t> </m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>0</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>ρ</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>≤</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>R</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>}</m:t>
+    </m:r>
+    <m:m>
+      <m:mPr>
+        <m:baseJc m:val="center" />
+        <m:plcHide m:val="on" />
+        <m:mcs>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="right" />
+            </m:mcPr>
+          </m:mc>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+          <m:mc>
+            <m:mcPr>
+              <m:mcJc m:val="left" />
+            </m:mcPr>
+          </m:mc>
+        </m:mcs>
+      </m:mPr>
+      <m:mr>
+        <m:e>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>Volume</m:t>
+          </m:r>
+        </m:e>
+        <m:e>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:nary>
+            <m:naryPr>
+              <m:chr m:val="∭" />
+              <m:limLoc m:val="undOvr" />
+              <m:grow />
+              <m:supHide m:val="on" />
+              <m:supHide m:val="on" />
+            </m:naryPr>
+            <m:e />
+            <m:sub />
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>S</m:t>
+              </m:r>
+            </m:sup>
+          </m:nary>
+          <m:sSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>ρ</m:t>
+              </m:r>
+            </m:e>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSup>
+          <m:r>
+            <m:rPr />
+            <m:t>sin</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>θ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>ρ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>θ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>φ</m:t>
+          </m:r>
+        </m:e>
+      </m:mr>
+      <m:mr>
+        <m:e />
+        <m:e>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:nary>
+            <m:naryPr>
+              <m:chr m:val="∫" />
+              <m:limLoc m:val="subSup" />
+              <m:grow />
+              <m:supHide m:val="off" />
+              <m:supHide m:val="off" />
+            </m:naryPr>
+            <m:e />
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>π</m:t>
+              </m:r>
+            </m:sup>
+          </m:nary>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>φ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:nary>
+            <m:naryPr>
+              <m:chr m:val="∫" />
+              <m:limLoc m:val="subSup" />
+              <m:grow />
+              <m:supHide m:val="off" />
+              <m:supHide m:val="off" />
+            </m:naryPr>
+            <m:e />
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>π</m:t>
+              </m:r>
+            </m:sup>
+          </m:nary>
+          <m:r>
+            <m:rPr />
+            <m:t>sin</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>θ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>θ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:nary>
+            <m:naryPr>
+              <m:chr m:val="∫" />
+              <m:limLoc m:val="subSup" />
+              <m:grow />
+              <m:supHide m:val="off" />
+              <m:supHide m:val="off" />
+            </m:naryPr>
+            <m:e />
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>R</m:t>
+              </m:r>
+            </m:sup>
+          </m:nary>
+          <m:sSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>ρ</m:t>
+              </m:r>
+            </m:e>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSup>
+          <m:r>
+            <m:rPr>
+              <m:sty m:val="p" />
+            </m:rPr>
+            <m:t>d</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>ρ</m:t>
+          </m:r>
+        </m:e>
+      </m:mr>
+      <m:mr>
+        <m:e />
+        <m:e>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>φ</m:t>
+          </m:r>
+          <m:sSubSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>∣</m:t>
+              </m:r>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>2</m:t>
+              </m:r>
+              <m:r>
+                <m:rPr />
+                <m:t>π</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSubSup>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>(</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>−</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>cos</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>θ</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>)</m:t>
+          </m:r>
+          <m:sSubSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>∣</m:t>
+              </m:r>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>π</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSubSup>
+          <m:r>
+            <m:rPr />
+            <m:t> </m:t>
+          </m:r>
+          <m:f>
+            <m:fPr>
+              <m:type m:val="lin" />
+            </m:fPr>
+            <m:num>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:num>
+            <m:den>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:den>
+          </m:f>
+          <m:sSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>ρ</m:t>
+              </m:r>
+            </m:e>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSup>
+          <m:sSubSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>∣</m:t>
+              </m:r>
+            </m:e>
+            <m:sub>
+              <m:r>
+                <m:rPr />
+                <m:t>0</m:t>
+              </m:r>
+            </m:sub>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>R</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSubSup>
+        </m:e>
+      </m:mr>
+      <m:mr>
+        <m:e />
+        <m:e>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>2</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>π</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>×</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>2</m:t>
+          </m:r>
+          <m:r>
+            <m:rPr />
+            <m:t>×</m:t>
+          </m:r>
+          <m:f>
+            <m:fPr>
+              <m:type m:val="lin" />
+            </m:fPr>
+            <m:num>
+              <m:r>
+                <m:rPr />
+                <m:t>1</m:t>
+              </m:r>
+            </m:num>
+            <m:den>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:den>
+          </m:f>
+          <m:sSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>R</m:t>
+              </m:r>
+            </m:e>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSup>
+        </m:e>
+      </m:mr>
+      <m:mr>
+        <m:e />
+        <m:e>
+          <m:r>
+            <m:rPr />
+            <m:t>=</m:t>
+          </m:r>
+          <m:f>
+            <m:fPr>
+              <m:type m:val="lin" />
+            </m:fPr>
+            <m:num>
+              <m:r>
+                <m:rPr />
+                <m:t>4</m:t>
+              </m:r>
+            </m:num>
+            <m:den>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:den>
+          </m:f>
+          <m:r>
+            <m:rPr />
+            <m:t>π</m:t>
+          </m:r>
+          <m:sSup>
+            <m:e>
+              <m:r>
+                <m:rPr />
+                <m:t>R</m:t>
+              </m:r>
+            </m:e>
+            <m:sup>
+              <m:r>
+                <m:rPr />
+                <m:t>3</m:t>
+              </m:r>
+            </m:sup>
+          </m:sSup>
+        </m:e>
+      </m:mr>
+    </m:m>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/sphere_volume.xhtml b/tests/sphere_volume.xhtml
--- a/tests/sphere_volume.xhtml
+++ b/tests/sphere_volume.xhtml
@@ -10,24 +10,24 @@
         <mo>=</mo>
         <mo stretchy="false">{</mo>
         <mn>0</mn>
-        <mo>&#8804;</mo>
-        <mi>&#966;</mi>
-        <mo>&#8804;</mo>
+        <mo>≤</mo>
+        <mi>φ</mi>
+        <mo>≤</mo>
         <mn>2</mn>
-        <mi>&#960;</mi>
+        <mi>π</mi>
         <mo>,</mo>
         <mo> </mo>
         <mn>0</mn>
-        <mo>&#8804;</mo>
-        <mi>&#952;</mi>
-        <mo>&#8804;</mo>
-        <mi>&#960;</mi>
+        <mo>≤</mo>
+        <mi>θ</mi>
+        <mo>≤</mo>
+        <mi>π</mi>
         <mo>,</mo>
         <mo> </mo>
         <mn>0</mn>
-        <mo>&#8804;</mo>
-        <mi>&#961;</mi>
-        <mo>&#8804;</mo>
+        <mo>≤</mo>
+        <mi>ρ</mi>
+        <mo>≤</mo>
         <mi>R</mi>
         <mo stretchy="false">}</mo>
         <mtable>
@@ -38,25 +38,25 @@
             <mtd columnalign="left">
               <mo>=</mo>
               <munder>
-                <mo>&#8749;</mo>
+                <mo>∭</mo>
                 <mi>S</mi>
               </munder>
               <mspace width="-0.167em" />
               <msup>
-                <mi>&#961;</mi>
+                <mi>ρ</mi>
                 <mn>2</mn>
               </msup>
               <mi>sin</mi>
-              <mi>&#952;</mi>
+              <mi>θ</mi>
               <mspace width="0.167em" />
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#961;</mi>
+              <mi>ρ</mi>
               <mspace width="0.167em" />
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#952;</mi>
+              <mi>θ</mi>
               <mspace width="0.167em" />
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
             </mtd>
           </mtr>
           <mtr>
@@ -64,66 +64,66 @@
             <mtd columnalign="left">
               <mo>=</mo>
               <msubsup>
-                <mo>&#8747;</mo>
+                <mo>∫</mo>
                 <mn>0</mn>
                 <mrow>
                   <mn>2</mn>
-                  <mi>&#960;</mi>
+                  <mi>π</mi>
                 </mrow>
               </msubsup>
               <mspace width="-0.167em" />
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
               <mspace width="0.167em" />
               <msubsup>
-                <mo>&#8747;</mo>
+                <mo>∫</mo>
                 <mn>0</mn>
-                <mi>&#960;</mi>
+                <mi>π</mi>
               </msubsup>
               <mspace width="-0.167em" />
               <mi>sin</mi>
-              <mi>&#952;</mi>
+              <mi>θ</mi>
               <mspace width="0.167em" />
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#952;</mi>
+              <mi>θ</mi>
               <mspace width="0.167em" />
               <msubsup>
-                <mo>&#8747;</mo>
+                <mo>∫</mo>
                 <mn>0</mn>
                 <mi>R</mi>
               </msubsup>
               <mspace width="-0.167em" />
               <msup>
-                <mi>&#961;</mi>
+                <mi>ρ</mi>
                 <mn>2</mn>
               </msup>
               <mtext mathvariant="normal">d</mtext>
-              <mi>&#961;</mi>
+              <mi>ρ</mi>
             </mtd>
           </mtr>
           <mtr>
             <mtd columnalign="right" />
             <mtd columnalign="left">
               <mo>=</mo>
-              <mi>&#966;</mi>
+              <mi>φ</mi>
               <msubsup>
-                <mo minsize="1.6" maxsize="1.6" stretchy="true">&#8739;</mo>
+                <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>
                 <mn>0</mn>
                 <mrow>
                   <mn>2</mn>
-                  <mi>&#960;</mi>
+                  <mi>π</mi>
                 </mrow>
               </msubsup>
               <mo> </mo>
               <mo stretchy="false">(</mo>
-              <mo>&#8722;</mo>
+              <mo>−</mo>
               <mi>cos</mi>
-              <mi>&#952;</mi>
+              <mi>θ</mi>
               <mo stretchy="false">)</mo>
               <msubsup>
-                <mo minsize="1.6" maxsize="1.6" stretchy="true">&#8739;</mo>
+                <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>
                 <mn>0</mn>
-                <mi>&#960;</mi>
+                <mi>π</mi>
               </msubsup>
               <mo> </mo>
               <mstyle displaystyle="false">
@@ -133,11 +133,11 @@
                 </mfrac>
               </mstyle>
               <msup>
-                <mi>&#961;</mi>
+                <mi>ρ</mi>
                 <mn>3</mn>
               </msup>
               <msubsup>
-                <mo minsize="1.6" maxsize="1.6" stretchy="true">&#8739;</mo>
+                <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>
                 <mn>0</mn>
                 <mi>R</mi>
               </msubsup>
@@ -148,10 +148,10 @@
             <mtd columnalign="left">
               <mo>=</mo>
               <mn>2</mn>
-              <mi>&#960;</mi>
-              <mo>&#215;</mo>
+              <mi>π</mi>
+              <mo>×</mo>
               <mn>2</mn>
-              <mo>&#215;</mo>
+              <mo>×</mo>
               <mstyle displaystyle="false">
                 <mfrac>
                   <mn>1</mn>
@@ -174,7 +174,7 @@
                   <mn>3</mn>
                 </mfrac>
               </mstyle>
-              <mi>&#960;</mi>
+              <mi>π</mi>
               <msup>
                 <mi>R</mi>
                 <mn>3</mn>
diff --git a/tests/unicode.omml b/tests/unicode.omml
new file mode 100644
--- /dev/null
+++ b/tests/unicode.omml
@@ -0,0 +1,25 @@
+<?xml version='1.0' ?>
+<m:oMathPara>
+  <m:oMath>
+    <m:r>
+      <m:rPr />
+      <m:t>f</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>:</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>X</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>→</m:t>
+    </m:r>
+    <m:r>
+      <m:rPr />
+      <m:t>Y</m:t>
+    </m:r>
+  </m:oMath>
+</m:oMathPara>
diff --git a/tests/unicode.xhtml b/tests/unicode.xhtml
--- a/tests/unicode.xhtml
+++ b/tests/unicode.xhtml
@@ -9,7 +9,7 @@
         <mi>f</mi>
         <mo>:</mo>
         <mi>X</mi>
-        <mo>&#8594;</mo>
+        <mo>→</mo>
         <mi>Y</mi>
       </mrow>
     </math>
diff --git a/texmath.cabal b/texmath.cabal
--- a/texmath.cabal
+++ b/texmath.cabal
@@ -1,12 +1,13 @@
 Name:                texmath
-Version:             0.5.0.4
+Version:             0.6
 Cabal-Version:       >= 1.6
 Build-type:          Custom
-Synopsis:            Conversion of LaTeX math formulas to MathML.
+Synopsis:            Conversion of LaTeX math formulas to MathML or OMML.
 Description:         The texmathml library provides functions to convert LaTeX
-                     math formulas to presentation MathML. It supports
-                     basic LaTeX and AMS extensions, and it can parse and
-                     apply LaTeX macros.
+                     math formulas to presentation MathML (which can be used
+                     in HTML) or OMML (Office Math Markup Language, used in
+                     Microsoft Office). It supports basic LaTeX and AMS
+                     extensions, and it can parse and apply LaTeX macros.
                      .
                      Use the @test@ flag to install a standalone executable,
                      @texmath@, that reads a LaTeX formula from @stdin@ and
@@ -24,39 +25,39 @@
 Homepage:            http://github.com/jgm/texmath
 Data-Files:          cgi/texmath.xhtml,
                      tests/runtests.sh,
-                     tests/01.tex, tests/01.xhtml,
-                     tests/02.tex, tests/02.xhtml,
-                     tests/03.tex, tests/03.xhtml,
-                     tests/04.tex, tests/04.xhtml,
-                     tests/05.tex, tests/05.xhtml,
-                     tests/06.tex, tests/06.xhtml,
-                     tests/07.tex, tests/07.xhtml,
-                     tests/08.tex, tests/08.xhtml,
-                     tests/09.tex, tests/09.xhtml,
-                     tests/10.tex, tests/10.xhtml,
-                     tests/11.tex, tests/11.xhtml,
-                     tests/12.tex, tests/12.xhtml,
-                     tests/13.tex, tests/13.xhtml,
-                     tests/14.tex, tests/14.xhtml,
-                     tests/15.tex, tests/15.xhtml,
-                     tests/16.tex, tests/16.xhtml,
-                     tests/17.tex, tests/17.xhtml,
-                     tests/18.tex, tests/18.xhtml,
-                     tests/19.tex, tests/19.xhtml,
-                     tests/axiom_of_power_set.tex, tests/axiom_of_power_set.xhtml,
-                     tests/binomial_coefficient.tex, tests/binomial_coefficient.xhtml,
-                     tests/complex_number.tex, tests/complex_number.xhtml,
-                     tests/deMorgans_law.tex, tests/deMorgans_law.xhtml,
-                     tests/differentiable_manifold.tex, tests/differentiable_manifold.xhtml,
-                     tests/divergence.tex, tests/divergence.xhtml,
-                     tests/moore_determinant.tex, tests/moore_determinant.xhtml,
-                     tests/quadratic_formula.tex, tests/quadratic_formula.xhtml,
-                     tests/schwinger_dyson.tex, tests/schwinger_dyson.xhtml,
-                     tests/sophomores_dream.tex, tests/sophomores_dream.xhtml,
-                     tests/sphere_volume.tex, tests/sphere_volume.xhtml,
-                     tests/unicode.tex, tests/unicode.xhtml
-                     tests/ensuremath.tex, tests/ensuremath.xhtml
-                     tests/macros.tex, tests/macros.xhtml
+                     tests/01.tex, tests/01.xhtml, tests/01.omml,
+                     tests/02.tex, tests/02.xhtml, tests/02.omml,
+                     tests/03.tex, tests/03.xhtml, tests/03.omml,
+                     tests/04.tex, tests/04.xhtml, tests/04.omml,
+                     tests/05.tex, tests/05.xhtml, tests/05.omml,
+                     tests/06.tex, tests/06.xhtml, tests/06.omml,
+                     tests/07.tex, tests/07.xhtml, tests/07.omml,
+                     tests/08.tex, tests/08.xhtml, tests/08.omml,
+                     tests/09.tex, tests/09.xhtml, tests/09.omml,
+                     tests/10.tex, tests/10.xhtml, tests/10.omml,
+                     tests/11.tex, tests/11.xhtml, tests/11.omml,
+                     tests/12.tex, tests/12.xhtml, tests/12.omml,
+                     tests/13.tex, tests/13.xhtml, tests/13.omml,
+                     tests/14.tex, tests/14.xhtml, tests/14.omml,
+                     tests/15.tex, tests/15.xhtml, tests/15.omml,
+                     tests/16.tex, tests/16.xhtml, tests/16.omml,
+                     tests/17.tex, tests/17.xhtml, tests/17.omml,
+                     tests/18.tex, tests/18.xhtml, tests/18.omml,
+                     tests/19.tex, tests/19.xhtml, tests/19.omml,
+                     tests/axiom_of_power_set.tex, tests/axiom_of_power_set.xhtml, tests/axiom_of_power_set.omml,
+                     tests/binomial_coefficient.tex, tests/binomial_coefficient.xhtml, tests/binomial_coefficient.omml,
+                     tests/complex_number.tex, tests/complex_number.xhtml, tests/complex_number.omml,
+                     tests/deMorgans_law.tex, tests/deMorgans_law.xhtml, tests/deMorgans_law.omml,
+                     tests/differentiable_manifold.tex, tests/differentiable_manifold.xhtml, tests/differentiable_manifold.omml,
+                     tests/divergence.tex, tests/divergence.xhtml, tests/divergence.omml,
+                     tests/moore_determinant.tex, tests/moore_determinant.xhtml, tests/moore_determinant.omml,
+                     tests/quadratic_formula.tex, tests/quadratic_formula.xhtml, tests/quadratic_formula.omml,
+                     tests/schwinger_dyson.tex, tests/schwinger_dyson.xhtml, tests/schwinger_dyson.omml,
+                     tests/sophomores_dream.tex, tests/sophomores_dream.xhtml, tests/sophomores_dream.omml,
+                     tests/sphere_volume.tex, tests/sphere_volume.xhtml, tests/sphere_volume.omml,
+                     tests/unicode.tex, tests/unicode.xhtml, tests/unicode.omml,
+                     tests/ensuremath.tex, tests/ensuremath.xhtml, tests/ensuremath.omml,
+                     tests/macros.tex, tests/macros.xhtml, tests/macros.omml
 
 Source-repository head
   type:              git
@@ -80,6 +81,7 @@
                          Text.TeXMath.Types
                          Text.TeXMath.Parser
                          Text.TeXMath.MathML
+                         Text.TeXMath.OMML
                          Text.TeXMath.Macros
 
     if impl(ghc >= 6.12)
diff --git a/texmath.hs b/texmath.hs
--- a/texmath.hs
+++ b/texmath.hs
@@ -2,12 +2,15 @@
 module Main where
 
 import Text.TeXMath
+import Text.TeXMath.Parser (parseFormula)
 import Text.XML.Light
 import Text.TeXMath.Macros
 import System.IO
+import System.Environment
 
-inHtml :: Element -> Element
-inHtml x =
+inHtml :: Either String Element -> Either String Element
+inHtml (Left x) = Left x
+inHtml (Right x) = Right $
   add_attr (Attr (unqual "xmlns") "http://www.w3.org/1999/xhtml") $
   unode "html"
     [ unode "head" $
@@ -26,8 +29,17 @@
 
 main :: IO ()
 main = do
+  args <- getArgs
+  let dt = if "--inline" `elem` args
+              then DisplayInline
+              else DisplayBlock
+  let converter = if "--omml" `elem` args
+                     then fmap ppTopElement . texMathToOMML dt
+                     else if "--native" `elem` args
+                          then fmap show . parseFormula
+                          else fmap ppTopElement . inHtml . texMathToMathML dt
   inp <- getUTF8Contents
   let (ms, rest) = parseMacroDefinitions inp
-  case (texMathToMathML DisplayBlock $! applyMacros ms rest) of
+  case (converter $! applyMacros ms rest) of
         Left err         -> hPutStrLn stderr err
-        Right v          -> putStr . ppTopElement . inHtml $ v
+        Right v          -> putStr v
