AH Formatter V6.5 Lite customers must purchase "AH Formatter MathML Option" to render MathML originally.
See also Antenna House website for more details.

The below table shows the implemented MathML elements and attributes.

[yes] in the list means that the element or property is implemented.

[partial] means that the element or property is partially implemented.

[no] means not implemented.

CAUTION:

We strongly recommend to embed fonts when generating PDF.

Presentation Markup

Element

Attribute

Condition

Comments

2.1.6

id

yes

Evaluates the following CSS properties. As for id and class, external CSS settings will be reflected.

font-family

font-weight

font-style

font-size

color

background-color

The setting takes precedence over the setting by mathvariant, fontfamily, etc. that are specified within the same tag.
In CSS, the CSS property specified to <math> is evaluated as a property of the image even if it's not listed above.

class

yes

style

yes

href

yes

A hyperlink does not work.

xref

no

other

no

[deprecated attribute]

2.2 <math>

yes

xmlns="http://www.w3.org/1998/Math/MathML"

display

yes

maxwidth

yes

overflow

partial

Implements linebreak only. Except for linebreak, the automatic line breaking does not occur but the line overflows.

altimg

no

Ignored.

altimg-width

no

Ignored.

altimg-height

no

Ignored.

altimg-valign

no

Ignored.

alttext

no

Ignored.

cdgroup

no

macros

no

[deprecated attribute]

mode

yes

[deprecated attribute] The setting by display takes precedence.

3.1.10

mathcolor

yes

mathbackground

yes

3.2.1.2 <mglyph>

yes

src

yes

Supports only to raster images, such as JPEG or PNG.

width

yes

height

yes

valign

yes

alt

yes

fontfamily

yes

[deprecated attribute] Invalid when src is specified.

index

yes

[deprecated attribute] Invalid when src is specified. The value of index is considered as GlyphID.

3.2.2

mathvariant

partial

initial,
tailed,
looped and
stretched
are not supported.

mathsize

yes

dir

yes

fontfamily

yes

[deprecated attribute] When mathvariant is used together, the effect is not guaranteed.

fontweight

yes

[deprecated attribute]
When mathvariant is used together, the effect is not guaranteed.

fontstyle

yes

[deprecated attribute]
When mathvariant is used together, the effect is not guaranteed.

fontsize

yes

[deprecated attribute]
When mathsize is used together, the effect is not guaranteed.

color

yes

[deprecated attribute] When mathcolor is used together, the effect is not guaranteed.

background

yes

[deprecated attribute] When mathbackground is used together, the effect is not guaranteed.

3.2.3 <mi>

yes

Although it is not written in the specification that a number, such as <mi>3</mi> is not made italic, the number does not become italic after the model of lots of implementations. This restriction can be adjusted in the Option Setting File.

3.2.4 <mn>

yes

3.2.5 <mo>

yes

form

yes

lspace

yes

The default value can be changed in the Option Setting File when it's not registered to the operator dictionary.

rspace

yes

The default value can be changed in the Option Setting File when it's not registered to the operator dictionary.

fence

yes

separator

no

Ignored.

stretchy

yes

The extension was made so that the signed length can be specified with a value like stretchy="-0.2em". Please note that the unsigned length cannot be specified. Specifying the signed length also means true.
Normally a character is stretched by keeping the original width, etc. By specifying the positive length for stretchy, the character is stretched to both left and right (or upwards and downwards) to the specified length. On the other hand, by specifying the negative length for stretchy, the character will be shrunk to the specified length. This length is affected by the restrictions of minsize and maxsize.

*arrow and madruwb are not implemented.
A circle will be inscribed against the boundary rectangle. This can be changed so circle can be circumscribed with Option Setting File.
The extension was made so that a circumscribed circle can be explicitly expressed with circumscribed-circle and an inscribed circle can be explicitly expressed with inscribed-circle.

The extension was made so that three lengths of the frame spacing can be specified. The third length can be omitted, and when specified, it shows the spacing of left/right where frame="none" is specified.
The default value can be changed in the Option Setting File.

equalrows

yes

equalcolumns

yes

displaystyle

yes

side

partial

leftoverlap and rightoverlap are respectively considered as left and right.

minlabelspacing

yes

3.5.2 <mtr>

yes

rowalign

yes

columnalign

yes

groupalign

yes

3.5.3 <mlabeledtr>

yes

3.5.4 <mtd>

yes

rowspan

yes

columnspan

yes

If a cell has colspan greater than 1, <maligngroup> will be ignored.

rowalign

yes

columnalign

yes

groupalign

yes

3.5.5 <maligngroup>

yes

If <maligngroup> is not inside <mtd>, <maligngroup> will be ignored.

groupalign

yes

3.5.5 <malignmark>

yes

If <malignmark> is not inside <mtd>, <malignmark> will be ignored.

edge

yes

3.6.1 <mstack>

yes

align

yes

stackalign

yes

charalign

yes

charspacing

yes

The space corresponding to tight, medium, and loose can be specified in the Option Setting File.
The automatic adjustment of the space is not performed.

3.6.2 <mlongdiv>

yes

When <msrow> is not contained in the divisor or the result, it is considered as an error.
It is also possible to apply <mscarries> to the divisor, the dividend, and the result.

longdivstyle

yes

3.6.3 <msgroup>

yes

position

yes

position is ignored with the divisor of <mlongdiv>. Also position is ignored with the result of <mlongdiv> when it is not positioned on a dividend.

shift

yes

3.6.4 <msrow>

yes

position

yes

position is ignored with the divisor of <mlongdiv>. Also position is ignored with the result of <mlongdiv> when it is not positioned on a dividend.

3.6.5 <mscarries>

yes

When <msrow> does not follow <mscarries>, it is considered as an error.

position

yes

location

partial

It is always considered as n.

crossout

yes

scriptsizemultiplier

yes

3.6.6 <mscarry>

yes

location

partial

It is always considered as n.

crossout

yes

3.6.7 <msline>

yes

position

yes

length

yes

leftoverhang

yes

rightoverhang

yes

mslinethickness

yes

3.7.1 <maction>

yes

actiontype

yes

When actiontype="toggle" is specified, the element specified to selection is displayed, in other cases, only the first element is displayed.

selection

yes

Content Markup

It's impossible to change the appearance with reference to the external Content Dictionary dynamically. It is not necessarily displayed similarly as the illustration of MathML3 specifications.

Element

Attribute

Condition

Comments

4.2

encoding

no

definitionURL

no

4.2.1 <cn>

yes

type

yes

base

yes

4.2.1 <sep>

yes

4.2.2 <ci>

yes

type

no

Ignored.

4.2.3 <csymbol>

partial

type

no

cd

no

4.2.4 <cs>

yes

4.2.5 <apply>

yes

As for the shortage and excess of an operand corresponding to an operator, the appearance can be adjusted by enclosing the operand with parentheses and applying <merror>.

4.2.6 <bind>

yes

4.2.6 <bvar>

yes

4.2.7 <share>

yes

Supports to the reference only to itself, href="#id".

src

no

4.2.9 <cerror>

yes

4.2.10 <cbytes>

yes

4.3.3.1 <domainofapplication>

yes

4.3.3.1 <condition>

yes

4.3.3.1 <lowlimit>

yes

4.3.3.1 <uplimit>

yes

4.3.3.2 <degree>

yes

4.3.3.3 <momentabout>

yes

4.3.3.3 <logbase>

yes

4.4.1.1 <interval>

yes

4.4.1.2 <inverse>

yes

4.4.1.3 <lambda>

yes

4.4.1.4 <compose>

yes

4.4.1.5 <ident>

yes

4.4.1.6 <domain>

yes

4.4.1.7 <codomain>

yes

4.4.1.8 <image>

yes

4.4.1.9 <piecewise>

yes

4.4.1.9 <piece>

yes

4.4.1.9 <otherwise>

yes

4.4.2.1 <quotient>

yes

4.4.2.2 <factorial>

yes

4.4.2.3 <divide>

yes

4.4.2.4 <max>

yes

4.4.2.5 <min>

yes

4.4.2.6 <minus>

yes

4.4.2.7 <plus>

yes

Although there is no unary + in the specification, the following way of writing is allowed.

<apply>
<plus/>
<ci>x</ci>
</apply>

4.4.2.8 <power>

yes

4.4.2.9 <rem>

yes

4.4.2.10 <times>

yes

Usually, U+2062 (&InvisibleTimes;) is used, however when a second operand is <cn>, U+00D7 (&times;) is used as follow:

<apply>
<times/>
<cn>1</cn>
<cn>7</cn>
</apply>

4.4.2.11 <root>

yes

4.4.2.12 <gcd>

yes

4.4.2.13 <and>

yes

4.4.2.14 <or>

yes

4.4.2.15 <xor>

yes

4.4.2.16 <not>

yes

4.4.2.17 <implies>

yes

4.4.2.18 <forall>

yes

4.4.2.19 <exists>

yes

4.4.2.20 <abs>

yes

4.4.2.21 <conjugate>

yes

4.4.2.22 <arg>

yes

4.4.2.23 <real>

yes

4.4.2.24 <imaginary>

yes

4.4.2.25 <lcm>

yes

4.4.2.26 <floor>

yes

4.4.2.27 <ceiling>

yes

4.4.3.1 <eq>

yes

4.4.3.2 <neq>

yes

4.4.3.3 <gt>

yes

4.4.3.4 <lt>

yes

4.4.3.5 <geq>

yes

4.4.3.6 <leq>

yes

4.4.3.7 <equivalent>

yes

4.4.3.8 <approx>

yes

U+2248 (&TildeTilde;) is used as specified in MathML2 specifications or TeX, although U+2243 (&TildeEqual;) is used in MathML3 specifications.

4.4.3.9 <factorof>

yes

4.4.4.1 <int>

yes

4.4.4.2 <diff>

yes

4.4.4.3 <partialdiff>

yes

4.4.4.4 <divergence>

yes

4.4.4.5 <grad>

yes

4.4.4.6 <curl>

yes

4.4.4.7 <laplacian>

yes

4.4.5.1 <set>

yes

type

no

Ignored.

4.4.5.2 <list>

yes

order

no

Ignored.

4.4.5.3 <union>

yes

4.4.5.4 <intersect>

yes

4.4.5.5 <in>

yes

4.4.5.6 <notin>

yes

4.4.5.7 <subset>

yes

4.4.5.8 <prsubset>

yes

4.4.5.9 <notsubset>

yes

4.4.5.10 <notprsubset>

yes

4.4.5.11 <setdiff>

yes

4.4.5.12 <card>

yes

4.4.5.13 <cartesianproduct>

yes

4.4.6.1 <sum>

yes

4.4.6.2 <product>

yes

4.4.6.3 <limit>

yes

4.4.6.4 <tendsto>

yes

type

yes

4.4.7.1 <sin>

yes

4.4.7.1 <cos>

yes

4.4.7.1 <tan>

yes

4.4.7.1 <sec>

yes

4.4.7.1 <csc>

yes

4.4.7.1 <cot>

yes

4.4.7.1 <sinh>

yes

4.4.7.1 <cosh>

yes

4.4.7.1 <tanh>

yes

4.4.7.1 <sech>

yes

4.4.7.1 <csch>

yes

4.4.7.1 <coth>

yes

4.4.7.1 <arcsin>

yes

4.4.7.1 <arccos>

yes

4.4.7.1 <arctan>

yes

4.4.7.1 <arccosh>

yes

4.4.7.1 <arccot>

yes

4.4.7.1 <arccoth>

yes

4.4.7.1 <arccsc>

yes

4.4.7.1 <arccsch>

yes

4.4.7.1 <arcsec>

yes

4.4.7.1 <arcsech>

yes

4.4.7.1 <arcsinh>

yes

4.4.7.1 <arctanh>

yes

4.4.7.2 <exp>

yes

4.4.7.3 <ln>

yes

4.4.7.4 <log>

yes

4.4.8.1 <mean>

yes

4.4.8.2 <sdev>

yes

4.4.8.3 <variance>

yes

4.4.8.4 <median>

yes

4.4.8.5 <mode>

yes

4.4.8.6 <moment>

yes

4.4.9.1 <vector>

yes

4.4.9.2 <matrix>

yes

4.4.9.3 <matrixrow>

yes

4.4.9.4 <determinant>

yes

4.4.9.5 <transpose>

yes

4.4.9.6 <selector>

yes

4.4.9.7 <vectorproduct>

yes

4.4.9.8 <scalarproduct>

yes

4.4.9.9 <outerproduct>

yes

4.4.10.1 <integers>

yes

4.4.10.2 <reals>

yes

4.4.10.3 <rationals>

yes

4.4.10.4 <naturalnumbers>

yes

4.4.10.5 <complexes>

yes

4.4.10.6 <primes>

yes

4.4.10.7 <exponentiale>

yes

4.4.10.8 <imaginaryi>

yes

4.4.10.9 <notanumber>

yes

4.4.10.10 <true>

yes

4.4.10.11 <false>

yes

4.4.10.12 <emptyset>

yes

4.4.10.13 <pi>

yes

4.4.10.14 <eulergamma>

yes

4.4.10.15 <infinity>

yes

4.5.1 <declare>

no

[deprecated element] Ignored.

<reln>

yes

[deprecated element]

<fn>

yes

[deprecated element]

Mixing Markup

Element

Attribute

Condition

Comments

5.2.1 <semantics>

partial

The <semantics> tag itself is ignored.

5.2.2 <annotation>

no

Ignored.

5.2.3 <annotation-xml>

no

Ignored.

Operator Dictionary

What is written in the MathML3.0 2nd Edition is implemented as is in the operator dictionary. However, the following operators are added.

Character

Glyph

Name

form

priority

lspace

rspace

Properties

Remark

U+FE37

︷

presentation form for vertical left curly bracket

postfix

880

0

0

stretchy, accent

recommend to use U+23DE

U+FE38

︸

presentation form for vertical right curly bracket

postfix

880

0

0

stretchy, accent

recommend to use U+23DF

The contents of the operator dictionary can be adjusted with the Option Setting File. There are the following restrictions.

priority is not supported.

separator is ignored.

The default operator dictionary which can be used with the Option Setting File is stored in OperatorDictionary.xml.
AH Formatter V6.5 does not refer to this file. It is recommended to extract and use the portion of an operator you want to change.