From 2b362f6a2d77eb6a7ae6e5d3f293e787f4c10af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Wang?= Date: Thu, 29 Apr 2010 09:32:27 +1200 Subject: [PATCH] Bug 407101 - MathML STIX fonts: more variants and composite chars for stretchy accents, r=karlt --HG-- extra : rebase_source : 030868edf640f7c3e27a982392d1a2772934fe54 --- layout/mathml/mathfont.properties | 14 +++++++----- .../mathml/mathfontSTIXNonUnicode.properties | 22 ++++++++++++++----- layout/mathml/mathfontSTIXSize1.properties | 17 ++++++++++++++ layout/mathml/mathfontUnicode.properties | 3 +++ 4 files changed, 46 insertions(+), 10 deletions(-) diff --git a/layout/mathml/mathfont.properties b/layout/mathml/mathfont.properties index 6f06f16e1fc2..7696c313eae9 100644 --- a/layout/mathml/mathfont.properties +++ b/layout/mathml/mathfont.properties @@ -450,7 +450,7 @@ operator.\u003C\u003E.infix = lspace:2 rspace:2 # <> operator.\u0027.postfix = lspace:2 rspace:0 # ' operator.\u0021.postfix = lspace:2 rspace:0 # ! operator.\u0021\u0021.postfix = lspace:2 rspace:0 # !! -operator.\u007E.infix = lspace:2 rspace:2 # ~ +operator.\u007E.infix = direction:horizontal stretchy lspace:2 rspace:2 # ~ operator.\u0040.infix = lspace:2 rspace:2 # @ operator.\u002D\u002D.postfix = lspace:2 rspace:0 # -- operator.\u002D\u002D.prefix = lspace:0 rspace:2 # -- @@ -458,25 +458,29 @@ operator.\u002B\u002B.postfix = lspace:2 rspace:0 # ++ operator.\u002B\u002B.prefix = lspace:0 rspace:2 # ++ operator.\u2061.infix = lspace:0 rspace:0 # ⁡ operator.\u003F.infix = lspace:2 rspace:2 # ? -operator.\u005F.infix = lspace:2 rspace:2 # _ +operator.\u005F.infix = direction:horizontal stretchy lspace:2 rspace:2 # _ operator.\u02D8.postfix = accent lspace:0 rspace:0 # ˘ operator.\u00B8.postfix = accent lspace:0 rspace:0 # ¸ operator.\u0060.postfix = accent lspace:0 rspace:0 # ` operator.\u02D9.postfix = accent lspace:0 rspace:0 # ˙ operator.\u02DD.postfix = accent lspace:0 rspace:0 # ˝ operator.\u00B4.postfix = accent lspace:0 rspace:0 # ´ -operator.\u02DC.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ˜ +operator.\u007E.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ~ tilde +operator.\u02DC.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ˜ small tilde operator.\u00A8.postfix = accent lspace:0 rspace:0 # ¨ operator.\u0311.postfix = accent lspace:0 rspace:0 # ̑ -operator.\u02C7.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ˇ -operator.\u005E.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ^ +operator.\u02C7.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ˇ caron +operator.\u005E.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ^ circumflex accent +operator.\u02C6.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # modifier letter circumflex accent operator.\u00AF.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ‾ +operator.\u203E.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # overline operator.\u23DE.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏞ (Unicode) operator.\uFE37.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏞ (MathML 2.0) operator.\u23B4.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⎴ operator.\u23DC.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏜ (Unicode) operator.\uFE35.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏜ (MathML 2.0) operator.\u20DB.postfix = accent lspace:0 rspace:0 # ⃛ +operator.\u005F.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # _ low line operator.\u0332.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # _ operator.\u23DF.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏟ (Unicode) operator.\uFE38.postfix = direction:horizontal stretchy accent lspace:0 rspace:0 # ⏟ (MathML 2.0) diff --git a/layout/mathml/mathfontSTIXNonUnicode.properties b/layout/mathml/mathfontSTIXNonUnicode.properties index d46181502e16..aec4481c1a71 100644 --- a/layout/mathml/mathfontSTIXNonUnicode.properties +++ b/layout/mathml/mathfontSTIXNonUnicode.properties @@ -21,6 +21,7 @@ # Contributor(s): # Roger B. Sidje # Karl Tomlinson , Mozilla Corporation +# Frederic Wang # # 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 @@ -88,14 +89,25 @@ external.1 = STIXGeneral # http://www.unicode.org/reports/tr25/#_TocDelimiters \u23DE = \uE13B\uE140\uE13C\uE14A # OverBrace \u23DF = \uE13D\uE141\uE13E\uE13F # UnderBrace -# TODO: -# E142 stix-left end of extensible overparen (CMEX10 x40 rotated 90deg) -# E143 stix-right end of extensible overparen (CMEX10 x30 rotated 90deg) -# E144 stix-left end of extensible underparen (CMEX10 x41 rotated 90deg) -# E145 stix-right end of extensible underparen (CMEX10 x31 rotated 90deg) + # E146 stix-left end of extensible over square bracket (CMEX10 x34 rotated 90deg) # E147 stix-right end of extensible over square bracket (CMEX10 x32 rotated 90deg) # E148 stix-left end of extensible under square bracket (CMEX10 x35 rotated 90deg) # E149 stix-right end of extensible under square bracket (CMEX10 x33 rotated 90deg) # E14A stix-extensible horizontal for over paren or square bracket (CMEX10 x42 rotated 90deg) # E14B stix-extensible horizontal for under paren or square bracket +\u23B4 = \uE146\uFFFD\uE147\uE14A # ⎴ +\u23B5 = \uE148\uFFFD\uE149\uE14B # ⎵ + +# E142 stix-left end of extensible overparen (CMEX10 x40 rotated 90deg) +# E143 stix-right end of extensible overparen (CMEX10 x30 rotated 90deg) +# E144 stix-left end of extensible underparen (CMEX10 x41 rotated 90deg) +# E145 stix-right end of extensible underparen (CMEX10 x31 rotated 90deg) +# E14A stix-extensible horizontal for over paren or square bracket (CMEX10 x42 rotated 90deg) +# E14B stix-extensible horizontal for under paren or square bracket +# U+FE35 and U+FE36 are from the MathML 2.0 spec. +\uFE35 = \uE142\uFFFD\uE143\uE14A # OverParenthesis +\uFE36 = \uE144\uFFFD\uE145\uE14B # UnderParenthesis +# Unicode added U+23DC and U+23DD: +\u23DC = \uE142\uFFFD\uE143\uE14A # OverParenthesis +\u23DD = \uE144\uFFFD\uE145\uE14B # UnderParenthesis diff --git a/layout/mathml/mathfontSTIXSize1.properties b/layout/mathml/mathfontSTIXSize1.properties index 505594544ab5..60c25a64cc7d 100644 --- a/layout/mathml/mathfontSTIXSize1.properties +++ b/layout/mathml/mathfontSTIXSize1.properties @@ -85,3 +85,20 @@ external.5 = STIXSize5 \u27E8 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u27E8\u27E8@2\u27E8@3\u27E8@4 # LeftAngleBracket \u27E9 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u27E9\u27E9@2\u27E9@3\u27E9@4 # RightAngleBracket + +\u23DE = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DE\u23DE@2\u23DE@3\u23DE@4\u23DE@5 # ⏞ (Unicode) +\uFE37 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DE\u23DE@2\u23DE@3\u23DE@4\u23DE@5 # ⏞ (MathML 2.0) +\u23B4 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23B4\u23B4@2\u23B4@3\u23B4@4\u23B4@5 # ⎴ +\u23DC = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DC\u23DC@2\u23DC@3\u23DC@4\u23DC@5 # ⏜ (Unicode) +\uFE35 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DC\u23DC@2\u23DC@3\u23DC@4\u23DC@5 # ⏜ (MathML 2.0) +\u23DF = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DF\u23DF@2\u23DF@3\u23DF@4\u23DF@5 # ⏟ (Unicode) +\uFE38 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DF\u23DF@2\u23DF@3\u23DF@4\u23DF@5 # ⏟ (MathML 2.0) +\u23B5 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23B5\u23B5@2\u23B5@3\u23B5@4\u23B5@5 # ⎵ +\u23DD = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DD\u23DD@2\u23DD@3\u23DD@4\u23DD@5 # ⏝ (Unicode) +\uFE36 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u23DD\u23DD@2\u23DD@3\u23DD@4\u23DD@5 # ⏝ (MathML 2.0) + +\u005E = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0302\u0302@2\u0302@3\u0302@4\u0302@5 # circumflex accent, COMBINING CIRCUMFLEX ACCENT +\u02C6 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0302\u0302@2\u0302@3\u0302@4\u0302@5 # modifier letter circumflex accent, COMBINING CIRCUMFLEX ACCENT +\u007E = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0303\u0303@2\u0303@3\u0303@4\u0303@5 # ~ tilde, COMBINING TILDE +\u02DC = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0303\u0303@2\u0303@3\u0303@4\u0303@5 # small tilde, COMBINING TILDE +\u02C7 = \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u030C\u030C@2\u030C@3\u030C@4\u030C@5 # caron, COMBINING CARON diff --git a/layout/mathml/mathfontUnicode.properties b/layout/mathml/mathfontUnicode.properties index 5afd5244e4c6..ff99ddeb2abc 100644 --- a/layout/mathml/mathfontUnicode.properties +++ b/layout/mathml/mathfontUnicode.properties @@ -21,6 +21,7 @@ # Contributor(s): # Roger B. Sidje # Karl Tomlinson , Mozilla Corporation +# Frederic Wang # # 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 @@ -54,7 +55,9 @@ # OverBar is stretched with U+0305 COMBINING OVERLINE which "connects on left and right" \u00AF = \uFFFD\uFFFD\uFFFD\u0305\u00AF # OverBar #\u0305 doesn't appear to be referenced by the MathML spec +\u203E = \uFFFD\uFFFD\uFFFD\u0305\u00AF # overline \u0332 = \uFFFD\uFFFD\uFFFD\u0332\u0332 # COMBINING LOW LINE, UnderBar +\u005F = \uFFFD\uFFFD\uFFFD\u0332\u0332 # _ low line \u2016 = \uFFFD\uFFFD\uFFFD\u2016\u2016 # DOUBLE VERTICAL LINE, Vert, Verbar