# ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is Mozilla MathML Project. # # The Initial Developer of the Original Code is # The University Of Queensland. # Portions created by the Initial Developer are Copyright (C) 2001 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Roger B. Sidje <rbs@maths.uq.edu.au> # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** ##LOCALIZATION NOTE: # These are used to display an alert box to warn users when MathML fonts # are not installed on their system. The list of missing fonts will be # substituted in argument %1$S (see a screenshot in bug 128139). mathfont_missing_dialog_title = Missing MathML Fonts mathfont_missing_dialog_message = To properly display the MathML on this page you need to install the following fonts:\n%1$S.\n\n\nFor further information see:\nhttp://www.mozilla.org/projects/mathml/fonts ##LOCALIZATION NOTE: # Do not translate anything else in this file # Ordered list of fonts with which to attempt to stretch MathML characters. # See the documentation at the end of this file for details on the setup of # the property file associated to each font. This order can be overriden by # setting the pref("font.mathfont-family", "CMSY10, CMEX10, ...") or by # setting the font-family list in :-moz-math-stretchy in mathml.css. font.mathfont-family = CMSY10, CMEX10, Math1, Math2, Math4, MT Extra, Symbol # Style invariant chars (these chars have their own intrinsic predefined styles) # XXX complete these... #mathvariant.normal = #mathvariant.bold = #mathvariant.italic = #mathvariant.bold-italic = #mathvariant.sans-serif = #mathvariant.bold-sans-serif = #mathvariant.sans-serif-italic = #mathvariant.sans-serif-bold-italic = #mathvariant.monospace = # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z mathvariant.script = \uEF35\u212C\uEF36\uEF37\u2130\u2131\uEF38\u210B\u2110\uEF39\uEF3A\u2112\u2133\uEF3B\uEF3C\uEF3D\uEF3E\u211B\uEF3F\uEF40\uEF41\uEF42\uEF43\uEF44\uEF45\uEF46\uEF47\uEF48\uEF49\uEF4A\u212F\uEF4B\u210A\uEF4C\uEF4D\uEF4E\uEF4F\u2113\uEF50\uEF51\u2134\uEF52\uEF53\uEF54\uEF55\uEF56\uEF57\uEF58\uEF59\uEF5A\uEF5B\uEF5C #mathvariant.bold-script = # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z mathvariant.fraktur = \uEF5D\uEF5E\u212D\uEF5F\uEF60\uEF61\uEF62\u210C\u2111\uEF63\uEF64\uEF65\uEF66\uEF67\uEF68\uEF69\uEF6A\u211C\uEF6B\uEF6C\uEF6D\uEF6E\uEF6F\uEF70\uEF71\u2128\uEF72\uEF73\uEF74\uEF75\uEF76\uEF77\uEF78\uEF79\uEF7A\uEF7B\uEF7C\uEF7D\uEF7E\uEF7F\uEF80\uEF81\uEF82\uEF83\uEF84\uEF85\uEF86\uEF87\uEF88\uEF89\uEF8A\uEF8B #mathvariant.bold-fraktur = # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z mathvariant.double-struck = \uEF8C\uEF8D\u2102\uEF8E\uEF8F\uEF90\uEF91\u210D\uEF92\uEF93\uEF94\uEF95\uEF96\u2115\uEF97\u2119\u211A\u211D\uEF98\uEF99\uEF9A\uEF9B\uEF9C\uEF9D\uEF9E\u2124\uEF9F\uEFA0\uEFA1\uEFA2\uEFA3\uEFA4\uEFA5\uEFA6\uEFA7\uEFA8\uEFA9\uEFAA\uEFAB\uEFAC\uEFAD\uEFAE\uEFAF\uEFB0\uEFB1\uEFB2\uEFB3\uEFB4\uEFB5\uEFB6\uEFB7\uEFB8 # Stretchy characters that have their preferred extension fonts. # - The ".variants" represents the ordered list of fonts where to look for glyph # of larger sizes. Note that if one of the fonts specified for a given character is # installed on the user' system, no other alternate font will be used to attempt # to stretch that particular character. The declaration is ignored if none of the # fonts is installed. # - The ".parts" represents the ordered list of fonts that should be used to look # for the partial glyphs to be used to build up the character. Note that if one of # the specified fonts is installed on the user' system, no other alternate font # will be used to attempt to stretch that particular character. The declaration is # ignored if none of the fonts is installed. # Each entry is specified using the Unicode format of the character, and # the comma-separated list of fonts like in the font-family property of CSS. # A character can request different fonts for its variants and for its parts. # Use the safer Symbol font for some chars (&le; &ge; etc) # @see http://bugzilla.mozilla.org/show_bug.cgi?id=120198#c27 # Note: setting base fonts for non-stretchy characters only works # for operators that are ultimately handled by nsMathMLChar. # @see how |useMathMLChar| is set in nsMathMLmoFrame::Stretch() & Paint(). # Override with: pref("font.mathfont-family.\\u2264.base", "CMSY10, etc") font.mathfont-family.\u2264.base = Symbol font.mathfont-family.\u2265.base = Symbol font.mathfont-family.\u2212.base = Symbol # CMSY10 or Math2 are preferred for Sqrt at its base size font.mathfont-family.\u221A.base = CMSY10, Math2 # CMEX10 or Math2 are preferred for Sqrt when stretching font.mathfont-family.\u221A.variants = CMEX10, Math2 font.mathfont-family.\u221A.parts = CMEX10, Math2 # CMEX10 is preferred for OverBrace and UnderBrace font.mathfont-family.\uFE37.parts = CMEX10 font.mathfont-family.\uFE38.parts = CMEX10 # Operator Dictionary indexed on the "form" (i.e., infix, prefix, or suffix). # Each entry lists the attributes of the operator, using its Unicode format. operator.\u0028.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # ( operator.\u0029.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # ) operator.\u005B.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # [ operator.\u005D.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # ] operator.\u007B.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # { operator.\u007D.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # } operator.\u201D.postfix = fence:true lspace:0em rspace:0em # &CloseCurlyDoubleQuote; operator.\u2019.postfix = fence:true lspace:0em rspace:0em # &CloseCurlyQuote; operator.\u2329.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftAngleBracket; # UNRESOLVED operator.&LeftBracketingBar;.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftBracketingBar; operator.\u2308.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftCeiling; operator.\u301A.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftDoubleBracket; # UNRESOLVED operator.&LeftDoubleBracketingBar;.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftDoubleBracketingBar; operator.\u230A.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &LeftFloor; operator.\u201C.prefix = fence:true lspace:0em rspace:0em # &OpenCurlyDoubleQuote; operator.\u2018.prefix = fence:true lspace:0em rspace:0em # &OpenCurlyQuote; operator.\u232A.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightAngleBracket; # UNRESOLVED operator.&RightBracketingBar;.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightBracketingBar; operator.\u2309.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightCeiling; operator.\u301B.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightDoubleBracket; # UNRESOLVED operator.&RightDoubleBracketingBar;.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightDoubleBracketingBar; operator.\u230B.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &RightFloor; # UNRESOLVED operator.&LeftSkeleton;.prefix = fence:true lspace:0em rspace:0em # &LeftSkeleton; # UNRESOLVED operator.&RightSkeleton;.postfix = fence:true lspace:0em rspace:0em # &RightSkeleton; operator.\u200B.infix = separator:true lspace:0em rspace:0em # &InvisibleComma; operator.\u002C.infix = separator:true lspace:0em rspace:verythickmathspace # , operator.\u2500.infix = stretchy:horizontal minsize:0 lspace:0em rspace:0em # &HorizontalLine; operator.\u007C.infix = stretchy:vertical minsize:0 lspace:0em rspace:0em # &VerticalLine; | operator.\u003B.infix = separator:true lspace:0em rspace:thickmathspace # ; operator.\u003B.postfix = separator:true lspace:0em rspace:0em # ; operator.\u003A\u003D.infix = lspace:thickmathspace rspace:thickmathspace # := operator.\u2254.infix = lspace:thickmathspace rspace:thickmathspace # &Assign; operator.\u2235.infix = lspace:thickmathspace rspace:thickmathspace # &Because; operator.\u2234.infix = lspace:thickmathspace rspace:thickmathspace # &Therefore; operator.\u2758.infix = stretchy:vertical lspace:thickmathspace rspace:thickmathspace # &VerticalSeparator; operator.\u002F\u002F.infix = lspace:thickmathspace rspace:thickmathspace # // operator.\u2237.infix = lspace:thickmathspace rspace:thickmathspace # &Colon; &Proportion; operator.\u0026.prefix = lspace:0em rspace:thickmathspace # &amp; operator.\u0026.postfix = lspace:thickmathspace rspace:0em # &amp; operator.\u002A\u003D.infix = lspace:thickmathspace rspace:thickmathspace # *= operator.\u002D\u003D.infix = lspace:thickmathspace rspace:thickmathspace # -= operator.\u002B\u003D.infix = lspace:thickmathspace rspace:thickmathspace # += operator.\u002F\u003D.infix = lspace:thickmathspace rspace:thickmathspace # /= operator.\u002D\u003E.infix = lspace:thickmathspace rspace:thickmathspace # -> operator.\u003A.infix = lspace:thickmathspace rspace:thickmathspace # : operator.\u002E\u002E.postfix = lspace:mediummathspace rspace:0em # .. operator.\u002E\u002E\u002E.postfix = lspace:mediummathspace rspace:0em # ... operator.\u220B.infix = lspace:thickmathspace rspace:thickmathspace # &SuchThat; &ReverseElement; operator.\u2AE4.infix = lspace:thickmathspace rspace:thickmathspace # &DoubleLeftTee; operator.\u22A8.infix = lspace:thickmathspace rspace:thickmathspace # &DoubleRightTee; operator.\u22A4.infix = lspace:thickmathspace rspace:thickmathspace # &DownTee; operator.\u22A3.infix = lspace:thickmathspace rspace:thickmathspace # &LeftTee; operator.\u22A2.infix = lspace:thickmathspace rspace:thickmathspace # &RightTee; operator.\u21D2.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &Implies; &DoubleRightArrow; operator.\u2970.infix = lspace:thickmathspace rspace:thickmathspace # &RoundImplies; operator.\u007C\u007C.infix = lspace:mediummathspace rspace:mediummathspace # || operator.\u2A54.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &Or; operator.\u0026\u0026.infix = lspace:thickmathspace rspace:thickmathspace # &amp;&amp; operator.\u2A53.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &And; operator.\u0026.infix = lspace:thickmathspace rspace:thickmathspace # &amp; operator.\u0021.prefix = lspace:0em rspace:thickmathspace # ! operator.\u2AEC.prefix = lspace:0em rspace:thickmathspace # &Not; operator.\u2203.prefix = lspace:0em rspace:thickmathspace # &Exists; operator.\u2200.prefix = lspace:0em rspace:thickmathspace # &ForAll; operator.\u2204.prefix = lspace:0em rspace:thickmathspace # &NotExists; operator.\u2208.infix = lspace:thickmathspace rspace:thickmathspace # &Element; operator.\u2209.infix = lspace:thickmathspace rspace:thickmathspace # &NotElement; operator.\u220C.infix = lspace:thickmathspace rspace:thickmathspace # &NotReverseElement; operator.\uEF1C.infix = lspace:thickmathspace rspace:thickmathspace # &NotSquareSubset; operator.\u22E2.infix = lspace:thickmathspace rspace:thickmathspace # &NotSquareSubsetEqual; operator.\uEF1D.infix = lspace:thickmathspace rspace:thickmathspace # &NotSquareSuperset; operator.\u22E3.infix = lspace:thickmathspace rspace:thickmathspace # &NotSquareSupersetEqual; operator.\u2284.infix = lspace:thickmathspace rspace:thickmathspace # &NotSubset; operator.\u2288.infix = lspace:thickmathspace rspace:thickmathspace # &NotSubsetEqual; operator.\u2285.infix = lspace:thickmathspace rspace:thickmathspace # &NotSuperset; operator.\u2289.infix = lspace:thickmathspace rspace:thickmathspace # &NotSupersetEqual; operator.\u228F.infix = lspace:thickmathspace rspace:thickmathspace # &SquareSubset; operator.\u2291.infix = lspace:thickmathspace rspace:thickmathspace # &SquareSubsetEqual; operator.\u2290.infix = lspace:thickmathspace rspace:thickmathspace # &SquareSuperset; operator.\u2292.infix = lspace:thickmathspace rspace:thickmathspace # &SquareSupersetEqual; operator.\u22D0.infix = lspace:thickmathspace rspace:thickmathspace # &Subset; operator.\u2286.infix = lspace:thickmathspace rspace:thickmathspace # &SubsetEqual; operator.\u2283.infix = lspace:thickmathspace rspace:thickmathspace # &Superset; operator.\u2287.infix = lspace:thickmathspace rspace:thickmathspace # &SupersetEqual; operator.\u21D0.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DoubleLeftArrow; operator.\u21D4.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DoubleLeftRightArrow; operator.\u2950.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownLeftRightVector; operator.\u295E.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownLeftTeeVector; operator.\u21BD.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownLeftVector; operator.\u2956.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownLeftVectorBar; operator.\u295F.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownRightTeeVector; operator.\u21C1.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownRightVector; operator.\u2957.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &DownRightVectorBar; operator.\u2190.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftArrow; operator.\u21E4.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftArrowBar; operator.\u21C6.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftArrowRightArrow; operator.\u2194.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftRightArrow; operator.\u294E.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftRightVector; operator.\u21A4.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftTeeArrow; operator.\u295A.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftTeeVector; operator.\u21BC.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftVector; operator.\u2952.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LeftVectorBar; operator.\u2199.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LowerLeftArrow; operator.\u2198.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &LowerRightArrow; operator.\u2192.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightArrow; operator.\u21E5.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightArrowBar; operator.\u21C4.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightArrowLeftArrow; operator.\u21A6.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightTeeArrow; operator.\u295B.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightTeeVector; operator.\u21C0.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightVector; operator.\u2953.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &RightVectorBar; operator.\uEEF7.infix = lspace:thickmathspace rspace:thickmathspace # &ShortLeftArrow; operator.\uEEF8.infix = lspace:thickmathspace rspace:thickmathspace # &ShortRightArrow; operator.\u2196.infix = stretchy:vertical lspace:thickmathspace rspace:thickmathspace # &UpperLeftArrow; operator.\u2197.infix = stretchy:vertical lspace:thickmathspace rspace:thickmathspace # &UpperRightArrow; operator.\u003D.infix = lspace:thickmathspace rspace:thickmathspace # = operator.\u003C.infix = lspace:thickmathspace rspace:thickmathspace # &lt; operator.\u003E.infix = lspace:thickmathspace rspace:thickmathspace # > operator.\u0021\u003D.infix = lspace:thickmathspace rspace:thickmathspace # != operator.\u003D\u003D.infix = lspace:thickmathspace rspace:thickmathspace # == operator.\u003C\u003D.infix = lspace:thickmathspace rspace:thickmathspace # &lt;= operator.\u003E\u003D.infix = lspace:thickmathspace rspace:thickmathspace # >= operator.\u2261.infix = lspace:thickmathspace rspace:thickmathspace # &Congruent; operator.\u224D.infix = lspace:thickmathspace rspace:thickmathspace # &CupCap; operator.\u2250.infix = lspace:thickmathspace rspace:thickmathspace # &DotEqual; operator.\u2225.infix = stretchy:vertical lspace:thickmathspace rspace:thickmathspace # &DoubleVerticalBar; operator.\u2A75.infix = lspace:thickmathspace rspace:thickmathspace # &Equal; operator.\u2242.infix = lspace:thickmathspace rspace:thickmathspace # &EqualTilde; operator.\u21CC.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &Equilibrium; operator.\u2265.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterEqual; operator.\u22DB.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterEqualLess; operator.\u2267.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterFullEqual; operator.\u2AA2.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterGreater; operator.\u2277.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterLess; operator.\u2A7E.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterSlantEqual; operator.\u2273.infix = lspace:thickmathspace rspace:thickmathspace # &GreaterTilde; operator.\u224E.infix = lspace:thickmathspace rspace:thickmathspace # &HumpDownHump; operator.\u224F.infix = lspace:thickmathspace rspace:thickmathspace # &HumpEqual; operator.\u22B2.infix = lspace:thickmathspace rspace:thickmathspace # &LeftTriangle; operator.\u29CF.infix = lspace:thickmathspace rspace:thickmathspace # &LeftTriangleBar; operator.\u22B4.infix = lspace:thickmathspace rspace:thickmathspace # &LeftTriangleEqual; operator.\u2264.infix = lspace:thickmathspace rspace:thickmathspace # &le; operator.\u22DA.infix = lspace:thickmathspace rspace:thickmathspace # &LessEqualGreater; operator.\u2266.infix = lspace:thickmathspace rspace:thickmathspace # &LessFullEqual; operator.\u2276.infix = lspace:thickmathspace rspace:thickmathspace # &LessGreater; operator.\u2AA1.infix = lspace:thickmathspace rspace:thickmathspace # &LessLess; operator.\u2A7D.infix = lspace:thickmathspace rspace:thickmathspace # &LessSlantEqual; operator.\u2272.infix = lspace:thickmathspace rspace:thickmathspace # &LessTilde; operator.\u226B.infix = lspace:thickmathspace rspace:thickmathspace # &NestedGreaterGreater; operator.\u226A.infix = lspace:thickmathspace rspace:thickmathspace # &NestedLessLess; operator.\u2262.infix = lspace:thickmathspace rspace:thickmathspace # &NotCongruent; operator.\u226D.infix = lspace:thickmathspace rspace:thickmathspace # &NotCupCap; operator.\u2226.infix = lspace:thickmathspace rspace:thickmathspace # &NotDoubleVerticalBar; operator.\u2260.infix = lspace:thickmathspace rspace:thickmathspace # &NotEqual; operator.\uEF08.infix = lspace:thickmathspace rspace:thickmathspace # &NotEqualTilde; operator.\u226F.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreater; operator.\uEF17.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterEqual; operator.\u2270.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterFullEqual; &NotLessSlantEqual; operator.\uEF15.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterGreater; operator.\u2279.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterLess; operator.\u2271.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterSlantEqual; operator.\u2275.infix = lspace:thickmathspace rspace:thickmathspace # &NotGreaterTilde; operator.\uEF0C.infix = lspace:thickmathspace rspace:thickmathspace # &NotHumpDownHump; operator.\uEF0D.infix = lspace:thickmathspace rspace:thickmathspace # &NotHumpEqual; operator.\u22EA.infix = lspace:thickmathspace rspace:thickmathspace # &NotLeftTriangle; operator.\uEF2D.infix = lspace:thickmathspace rspace:thickmathspace # &NotLeftTriangleBar; operator.\u22EC.infix = lspace:thickmathspace rspace:thickmathspace # &NotLeftTriangleEqual; operator.\u226E.infix = lspace:thickmathspace rspace:thickmathspace # &NotLess; operator.\uEF16.infix = lspace:thickmathspace rspace:thickmathspace # &NotLessEqual; # UNRESOLVED operator.&NotLessFullEqual;.infix = lspace:thickmathspace rspace:thickmathspace # &NotLessFullEqual; operator.\u2278.infix = lspace:thickmathspace rspace:thickmathspace # &NotLessGreater; operator.\uEF13.infix = lspace:thickmathspace rspace:thickmathspace # &NotLessLess; operator.\u2274.infix = lspace:thickmathspace rspace:thickmathspace # &NotLessTilde; operator.\uEF2A.infix = lspace:thickmathspace rspace:thickmathspace # &NotNestedGreaterGreater; operator.\uEF29.infix = lspace:thickmathspace rspace:thickmathspace # &NotNestedLessLess; operator.\u2280.infix = lspace:thickmathspace rspace:thickmathspace # &NotPrecedes; operator.\uEF33.infix = lspace:thickmathspace rspace:thickmathspace # &NotPrecedesEqual; operator.\u22E0.infix = lspace:thickmathspace rspace:thickmathspace # &NotPrecedesSlantEqual; # UNRESOLVED operator.&NotPrecedesTilde;.infix = lspace:thickmathspace rspace:thickmathspace # &NotPrecedesTilde; operator.\u22EB.infix = lspace:thickmathspace rspace:thickmathspace # &NotRightTriangle; operator.\uEF2E.infix = lspace:thickmathspace rspace:thickmathspace # &NotRightTriangleBar; operator.\u22ED.infix = lspace:thickmathspace rspace:thickmathspace # &NotRightTriangleEqual; operator.\u2281.infix = lspace:thickmathspace rspace:thickmathspace # &NotSucceeds; operator.\uEF34.infix = lspace:thickmathspace rspace:thickmathspace # &NotSucceedsEqual; operator.\u22E1.infix = lspace:thickmathspace rspace:thickmathspace # &NotSucceedsSlantEqual; operator.\uEF18.infix = lspace:thickmathspace rspace:thickmathspace # &NotSucceedsTilde; operator.\u2241.infix = lspace:thickmathspace rspace:thickmathspace # &NotTilde; operator.\u2244.infix = lspace:thickmathspace rspace:thickmathspace # &NotTildeEqual; operator.\u2247.infix = lspace:thickmathspace rspace:thickmathspace # &NotTildeFullEqual; operator.\u2249.infix = lspace:thickmathspace rspace:thickmathspace # &NotTildeTilde; operator.\u2224.infix = lspace:thickmathspace rspace:thickmathspace # &NotVerticalBar; operator.\u227A.infix = lspace:thickmathspace rspace:thickmathspace # &Precedes; operator.\u2AAF.infix = lspace:thickmathspace rspace:thickmathspace # &PrecedesEqual; operator.\u227C.infix = lspace:thickmathspace rspace:thickmathspace # &PrecedesSlantEqual; operator.\u227E.infix = lspace:thickmathspace rspace:thickmathspace # &PrecedesTilde; operator.\u221D.infix = lspace:thickmathspace rspace:thickmathspace # &Proportional; operator.\u21CB.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &ReverseEquilibrium; operator.\u22B3.infix = lspace:thickmathspace rspace:thickmathspace # &RightTriangle; operator.\u29D0.infix = lspace:thickmathspace rspace:thickmathspace # &RightTriangleBar; operator.\u22B5.infix = lspace:thickmathspace rspace:thickmathspace # &RightTriangleEqual; operator.\u227B.infix = lspace:thickmathspace rspace:thickmathspace # &Succeeds; operator.\u227D.infix = lspace:thickmathspace rspace:thickmathspace # &SucceedsEqual; &SucceedsSlantEqual; operator.\u227F.infix = lspace:thickmathspace rspace:thickmathspace # &SucceedsTilde; operator.\u223C.infix = lspace:thickmathspace rspace:thickmathspace # &Tilde; operator.\u2243.infix = lspace:thickmathspace rspace:thickmathspace # &TildeEqual; operator.\u2245.infix = lspace:thickmathspace rspace:thickmathspace # &TildeFullEqual; operator.\u2248.infix = lspace:thickmathspace rspace:thickmathspace # &TildeTilde; operator.\u22A5.infix = lspace:thickmathspace rspace:thickmathspace # &UpTee; operator.\u2223.infix = stretchy:vertical lspace:thickmathspace rspace:thickmathspace # &VerticalBar; operator.\u2294.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &SquareUnion; operator.\u22C3.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &Union; operator.\u228E.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &UnionPlus; operator.\u002D.infix = lspace:mediummathspace rspace:mediummathspace # - operator.\u002B.infix = lspace:mediummathspace rspace:mediummathspace # + operator.\u22C2.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &Intersection; operator.\u2213.infix = lspace:mediummathspace rspace:mediummathspace # &MinusPlus; operator.\u00B1.infix = lspace:mediummathspace rspace:mediummathspace # &PlusMinus; operator.\u2293.infix = stretchy:vertical lspace:mediummathspace rspace:mediummathspace # &SquareIntersection; operator.\u22C1.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Vee; operator.\u2296.prefix = largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &CircleMinus; operator.\u2295.prefix = largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &CirclePlus; operator.\u2211.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Sum; operator.\u22C3.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Union; operator.\u228E.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &UnionPlus; operator.\u006C\u0069\u006D.prefix = movablelimits:true lspace:0em rspace:thinmathspace # lim operator.\u006D\u0061\u0078.prefix = movablelimits:true lspace:0em rspace:thinmathspace # max operator.\u006D\u0069\u006E.prefix = movablelimits:true lspace:0em rspace:thinmathspace # min operator.\u2212.infix = lspace:mediummathspace rspace:mediummathspace # official Unicode minus sign operator.\u2212.prefix = lspace:0em rspace:veryverythinmathspace # official Unicode minus sign operator.\u2296.infix = lspace:thinmathspace rspace:thinmathspace # &CircleMinus; operator.\u2295.infix = lspace:thinmathspace rspace:thinmathspace # &CirclePlus; operator.\u2232.prefix = stretchy:vertical largeop:true lspace:0em rspace:0em # &ClockwiseContourIntegral; operator.\u222E.prefix = stretchy:vertical largeop:true lspace:0em rspace:0em # &ContourIntegral; operator.\u2233.prefix = stretchy:vertical largeop:true lspace:0em rspace:0em # &CounterClockwiseContourIntegral; operator.\u222F.prefix = stretchy:vertical largeop:true lspace:0em rspace:0em # &DoubleContourIntegral; operator.\u222B.prefix = stretchy:vertical largeop:true lspace:0em rspace:0em # &Integral; operator.\u22D3.infix = lspace:thinmathspace rspace:thinmathspace # &Cup; operator.\u22D2.infix = lspace:thinmathspace rspace:thinmathspace # &Cap; operator.\u2240.infix = lspace:thinmathspace rspace:thinmathspace # &VerticalTilde; operator.\u22C0.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Wedge; operator.\u2297.prefix = largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &CircleTimes; operator.\u2210.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Coproduct; operator.\u220F.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Product; operator.\u22C2.prefix = stretchy:vertical largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &Intersection; operator.\u2210.infix = lspace:thinmathspace rspace:thinmathspace # &Coproduct; operator.\u22C6.infix = lspace:thinmathspace rspace:thinmathspace # &Star; operator.\u2299.prefix = largeop:true movablelimits:true lspace:0em rspace:thinmathspace # &CircleDot; operator.\u002A.infix = lspace:thinmathspace rspace:thinmathspace # * operator.\u2062.infix = lspace:0em rspace:0em # &InvisibleTimes; operator.\u00B7.infix = lspace:thinmathspace rspace:thinmathspace # &CenterDot; operator.\u2297.infix = lspace:thinmathspace rspace:thinmathspace # &CircleTimes; operator.\u22C1.infix = lspace:thinmathspace rspace:thinmathspace # &Vee; operator.\u22C0.infix = lspace:thinmathspace rspace:thinmathspace # &Wedge; operator.\u22C4.infix = lspace:thinmathspace rspace:thinmathspace # &Diamond; operator.\u2216.infix = stretchy:vertical lspace:thinmathspace rspace:thinmathspace # &Backslash; operator.\u002F.infix = stretchy:vertical lspace:thinmathspace rspace:thinmathspace # / operator.\u002D.prefix = lspace:0em rspace:veryverythinmathspace # - operator.\u002B.prefix = lspace:0em rspace:veryverythinmathspace # + operator.\u2213.prefix = lspace:0em rspace:veryverythinmathspace # &MinusPlus; operator.\u00B1.prefix = lspace:0em rspace:veryverythinmathspace # &PlusMinus; operator.\u002E.infix = lspace:0em rspace:0em # . operator.\u2A2F.infix = lspace:verythinmathspace rspace:verythinmathspace # &Cross; operator.\u002A\u002A.infix = lspace:verythinmathspace rspace:verythinmathspace # ** operator.\u2299.infix = lspace:verythinmathspace rspace:verythinmathspace # &CircleDot; operator.\u2218.infix = lspace:verythinmathspace rspace:verythinmathspace # &SmallCircle; operator.\u25A1.prefix = lspace:0em rspace:verythinmathspace # &Square; operator.\u2207.prefix = lspace:0em rspace:verythinmathspace # &Del; operator.\u2202.prefix = lspace:0em rspace:verythinmathspace # &PartialD; operator.\u2145.prefix = lspace:0em rspace:verythinmathspace # &CapitalDifferentialD; operator.\u2146.prefix = lspace:0em rspace:verythinmathspace # &DifferentialD; operator.\u221A.prefix = stretchy:vertical lspace:0em rspace:verythinmathspace # &Sqrt; operator.\u21D3.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DoubleDownArrow; operator.\uF579.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &DoubleLongLeftArrow; operator.\uF57B.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &DoubleLongLeftRightArrow; operator.\uF57A.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &DoubleLongRightArrow; operator.\u21D1.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DoubleUpArrow; operator.\u21D5.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DoubleUpDownArrow; operator.\u2193.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DownArrow; operator.\u2913.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DownArrowBar; operator.\u21F5.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DownArrowUpArrow; operator.\u21A7.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &DownTeeArrow; operator.\u2961.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftDownTeeVector; operator.\u21C3.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftDownVector; operator.\u2959.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftDownVectorBar; operator.\u2951.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftUpDownVector; operator.\u2960.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftUpTeeVector; operator.\u21BF.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftUpVector; operator.\u2958.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &LeftUpVectorBar; operator.\uF576.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &LongLeftArrow; operator.\uF578.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &LongLeftRightArrow; operator.\uF577.infix = stretchy:horizontal lspace:verythinmathspace rspace:verythinmathspace # &LongRightArrow; operator.\u296F.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &ReverseUpEquilibrium; operator.\u295D.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightDownTeeVector; operator.\u21C2.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightDownVector; operator.\u2955.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightDownVectorBar; operator.\u294F.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightUpDownVector; operator.\u295C.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightUpTeeVector; operator.\u21BE.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightUpVector; operator.\u2954.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &RightUpVectorBar; operator.\uEF28.infix = lspace:verythinmathspace rspace:verythinmathspace # &ShortDownArrow; operator.\uEF27.infix = lspace:verythinmathspace rspace:verythinmathspace # &ShortUpArrow; operator.\u2191.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpArrow; operator.\u2912.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpArrowBar; operator.\u21C5.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpArrowDownArrow; operator.\u2195.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpDownArrow; operator.\u296E.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpEquilibrium; operator.\u21A5.infix = stretchy:vertical lspace:verythinmathspace rspace:verythinmathspace # &UpTeeArrow; operator.\u005E.infix = lspace:verythinmathspace rspace:verythinmathspace # ^ operator.\u003C\u003E.infix = lspace:verythinmathspace rspace:verythinmathspace # &lt;> operator.\u0027.postfix = lspace:verythinmathspace rspace:0em # ' operator.\u0021.postfix = lspace:verythinmathspace rspace:0em # ! operator.\u0021\u0021.postfix = lspace:verythinmathspace rspace:0em # !! operator.\u007E.infix = lspace:verythinmathspace rspace:verythinmathspace # ~ operator.\u0040.infix = lspace:verythinmathspace rspace:verythinmathspace # @ operator.\u002D\u002D.postfix = lspace:verythinmathspace rspace:0em # -- operator.\u002D\u002D.prefix = lspace:0em rspace:verythinmathspace # -- operator.\u002B\u002B.postfix = lspace:verythinmathspace rspace:0em # ++ operator.\u002B\u002B.prefix = lspace:0em rspace:verythinmathspace # ++ operator.\u2061.infix = lspace:0em rspace:0em # &ApplyFunction; operator.\u003F.infix = lspace:verythinmathspace rspace:verythinmathspace # ? operator.\u005F.infix = lspace:verythinmathspace rspace:verythinmathspace # _ operator.\u02D8.postfix = accent:true lspace:0em rspace:0em # &Breve; operator.\u00B8.postfix = accent:true lspace:0em rspace:0em # &Cedilla; operator.\u0060.postfix = accent:true lspace:0em rspace:0em # &DiacriticalGrave; operator.\u02D9.postfix = accent:true lspace:0em rspace:0em # &DiacriticalDot; operator.\u02DD.postfix = accent:true lspace:0em rspace:0em # &DiacriticalDoubleAcute; # UNRESOLVED operator.&DiacriticalLeftArrow;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalLeftArrow; # UNRESOLVED operator.&DiacriticalLeftRightArrow;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalLeftRightArrow; # UNRESOLVED operator.&DiacriticalLeftRightVector;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalLeftRightVector; # UNRESOLVED operator.&DiacriticalLeftVector;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalLeftVector; operator.\u00B4.postfix = accent:true lspace:0em rspace:0em # &DiacriticalAcute; # UNRESOLVED operator.&DiacriticalRightArrow;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalRightArrow; # UNRESOLVED operator.&DiacriticalRightVector;.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalRightVector; operator.\u02DC.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &DiacriticalTilde; operator.\u00A8.postfix = accent:true lspace:0em rspace:0em # &DoubleDot; operator.\u0311.postfix = accent:true lspace:0em rspace:0em # &DownBreve; operator.\u02C7.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &Hacek; operator.\u0302.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &Hat; operator.\u00AF.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &OverBar; operator.\uFE37.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &OverBrace; operator.\u23B4.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &OverBracket; operator.\uFE35.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &OverParenthesis; operator.\u20DB.postfix = accent:true lspace:0em rspace:0em # &TripleDot; operator.\u0332.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &UnderBar; operator.\uFE38.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &UnderBrace; operator.\u23B5.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &UnderBracket; operator.\uFE36.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &UnderParenthesis; operator.\u2225.prefix = stretchy:vertical fence:true lspace:.0em rspace:.0em # &DoubleVerticalBar; operator.\u2225.postfix = stretchy:vertical fence:true lspace:.0em rspace:.0em # &DoubleVerticalBar; operator.\u2223.prefix = stretchy:vertical fence:true lspace:.0em rspace:.0em # &VerticalBar; operator.\u2223.postfix = stretchy:vertical fence:true lspace:.0em rspace:.0em # &VerticalBar; operator.\u007C.prefix = stretchy:vertical fence:true lspace:.0em rspace:.0em # | operator.\u007C.postfix = stretchy:vertical fence:true lspace:.0em rspace:.0em # | operator.\u20D7.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &#x20D7; operator.\u20D6.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &#x20D6; operator.\u20E1.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &#x20E1; operator.\u20D1.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &#x20D1; operator.\u20D0.postfix = stretchy:horizontal accent:true lspace:0em rspace:0em # &#x20D0; operator.\u21A9.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &hookleftarrow; &larrhk; operator.\u21AA.infix = stretchy:horizontal lspace:thickmathspace rspace:thickmathspace # &hookrightarrow; &rarrhk; operator.\u23B0.prefix = stretchy:vertical fence:true lspace:0em rspace:0em # &lmoustache; &lmoust; operator.\u23B1.postfix = stretchy:vertical fence:true lspace:0em rspace:0em # &rmoustache; &rmoust; operator.\u22C5.infix = lspace:thinmathspace rspace:thinmathspace # &cdot; operator.\u2282.infix = lspace:thickmathspace rspace:thickmathspace # &subset; ################################################################################## # DOCUMENTATION ON HOW TO SETUP THE PROPERTY FILE ASSOCIATED TO EACH FONT # More fonts can be supported for stretchy characters by setting up mathfont # property files as described below. # # Each font should have its set of glyph data. For example, the glyph data for # the "Symbol" font and the "MT Extra" font are in "mathfontSymbol.properties" # and "mathfontMTExtra.properties", respectively. The font property file is a # set of all the stretchy MathML characters that can be rendered with that font # using larger and/or partial glyphs. Each stretchy character is associated to # a list in the font property file which gives, in that order, the 4 partial # glyphs: top (or left), middle, bottom (or right), glue; and the variants of # bigger sizes (if any). A position that is not relevant to a particular character # is indicated there with the UNICODE REPLACEMENT CHARACTER 0xFFFD. # # Characters that need to be built from other characters are said to be composite. # For example, characters like over/underbrace in CMEX10 have to be built from two # half stretchy chars and joined in the middle (TeXbook, p.225). Several (i.e., 2 # or more) child characters can be composed in order to render another chararacter. # To specify such characters, their list of glyphs in the property file should be # given as space-separated segments of glyphs. Each segment gives the 4 partial glyphs # with which to build the child character that will be joined with its other siblings.