MathML:OperatorDictionary

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The MathML 3 Operator Dictionary indexes each operator by a character (an unicode code point) in a given form (prefix, infix or postfix). Each operator has the following attributes:

  • a priority
  • leading and trailing spaces (in 1/18th of em). A value between 0 and 7.
  • minsize/maxsize
  • properties (fence, separator, stretchy, symmetric, largeop, movablelimits, accent, mirrorable). Mentioned iff it is true.

Our implementation uses a property file with entries similar to what is described above. The property name is operator.\u[NNNN].[form] where [NNNN] is the unicode code point and [form] the operator form. The value of the property is a list of several AttributeName or AttributeName:AttributeValue (depending whether it is a boolean valued attributes or not) separated by whitespaces. Compared to the MathML3 dictionary, we don't include the "priority" attribute but have the additional attribute:

  • direction: horizontal, vertical (XXXfred add updiagonal, downdiagonal later?)

Finally, the end of the line after a sharp is considered as a comment: we use this to give the glyph or name of the character. Thus, a typical entry is:

operator.\u0028.prefix = direction:vertical stretchy fence symmetric lspace:0 rspace:0 # (

Our Operator Dictionary is stored in mathfont.properties.