diff options
author | Frédéric Wang <fred.wang@free.fr> | 2013-06-30 12:49:10 +0200 |
---|---|---|
committer | Fridrich Strba <fridrich@documentfoundation.org> | 2013-07-02 07:39:24 +0000 |
commit | fbc9c18875d1e86c9b3d7d5c13e1db13af23e3f0 (patch) | |
tree | dd86d2604ac1635b440abe94595291fccebfff82 /starmath | |
parent | 6a08067902ddc0ec61a7c7b4b0035b303f643a50 (diff) |
fdo#66276 - MathML export: avoid using combining characters.
Change-Id: I68cf5aaeb5b13adda76953636b0d3225fff4030c
Reviewed-on: https://gerrit.libreoffice.org/4630
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/inc/types.hxx | 18 | ||||
-rw-r--r-- | starmath/source/node.cxx | 20 | ||||
-rw-r--r-- | starmath/source/ooxmlimport.cxx | 7 |
3 files changed, 32 insertions, 13 deletions
diff --git a/starmath/inc/types.hxx b/starmath/inc/types.hxx index 530736ba6b62..de027b6fd17c 100644 --- a/starmath/inc/types.hxx +++ b/starmath/inc/types.hxx @@ -137,16 +137,22 @@ enum MathSymbol MS_LLINT = (sal_Unicode) 0x222F, MS_LLLINT = (sal_Unicode) 0x2230, - MS_GRAVE = (sal_Unicode) 0x0300, - MS_ACUTE = (sal_Unicode) 0x0301, + MS_GRAVE = (sal_Unicode) 0x0060, + MS_COMBGRAVE = (sal_Unicode) 0x0300, + MS_ACUTE = (sal_Unicode) 0x00B4, + MS_COMBACUTE = (sal_Unicode) 0x0301, MS_HAT = (sal_Unicode) 0x005E, MS_COMBHAT = (sal_Unicode) 0x0302, MS_TILDE = (sal_Unicode) 0x007E, MS_COMBTILDE = (sal_Unicode) 0x0303, - MS_BAR = (sal_Unicode) 0x0304, - MS_BREVE = (sal_Unicode) 0x0306, - MS_CIRCLE = (sal_Unicode) 0x030A, - MS_CHECK = (sal_Unicode) 0x030C, + MS_BAR = (sal_Unicode) 0x00AF, + MS_COMBBAR = (sal_Unicode) 0x0304, + MS_BREVE = (sal_Unicode) 0x02D8, + MS_COMBBREVE = (sal_Unicode) 0x0306, + MS_CIRCLE = (sal_Unicode) 0x02DA, + MS_COMBCIRCLE = (sal_Unicode) 0x030A, + MS_CHECK = (sal_Unicode) 0x02C7, + MS_COMBCHECK = (sal_Unicode) 0x030C, MS_VEC = (sal_Unicode) 0x20D7, MS_DOT = (sal_Unicode) 0x02D9, MS_DDOT = (sal_Unicode) 0x00A8, diff --git a/starmath/source/node.cxx b/starmath/source/node.cxx index ccfc4b07166e..6f9c63fec077 100644 --- a/starmath/source/node.cxx +++ b/starmath/source/node.cxx @@ -2785,7 +2785,7 @@ void SmAttributNode::CreateTextFromNode(String &rText) nLast = aStr.GetChar(0); switch (nLast) { - case 0xAF: // MACRON + case MS_BAR: // MACRON rText += "overline "; break; case MS_DOT: // DOT ABOVE @@ -2803,21 +2803,27 @@ void SmAttributNode::CreateTextFromNode(String &rText) case MS_DDDOT: // COMBINING THREE DOTS ABOVE rText += "dddot "; break; - case MS_ACUTE: // COMBINING ACUTE ACCENT + case MS_ACUTE: // ACUTE ACCENT + case MS_COMBACUTE: // COMBINING ACUTE ACCENT rText += "acute "; break; - case MS_GRAVE: // COMBINING GRAVE ACCENT + case MS_GRAVE: // GRAVE ACCENT + case MS_COMBGRAVE: // COMBINING GRAVE ACCENT rText += "grave "; break; - case MS_CHECK: // COMBINING CARON + case MS_CHECK: // CARON + case MS_COMBCHECK: // COMBINING CARON rText += "check "; break; - case MS_BREVE: // COMBINING BREVE + case MS_BREVE: // BREVE + case MS_COMBBREVE: // COMBINING BREVE rText += "breve "; break; - case MS_CIRCLE: // COMBINING RING ABOVE + case MS_CIRCLE: // RING ABOVE + case MS_COMBCIRCLE: // COMBINING RING ABOVE rText += "circle "; break; + case MS_RIGHTARROW: // RIGHTWARDS ARROW case MS_VEC: // COMBINING RIGHT ARROW ABOVE rText += "vec "; break; @@ -2829,7 +2835,7 @@ void SmAttributNode::CreateTextFromNode(String &rText) case MS_COMBHAT: // COMBINING CIRCUMFLEX ACCENT rText += "hat "; break; - case MS_BAR: // COMBINING MACRON + case MS_COMBBAR: // COMBINING MACRON rText += "bar "; break; default: diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx index cb355b721d08..c47b14e09c74 100644 --- a/starmath/source/ooxmlimport.cxx +++ b/starmath/source/ooxmlimport.cxx @@ -168,23 +168,30 @@ OUString SmOoxmlImport::handleAcc() switch( accChr ) { case MS_BAR: + case MS_COMBBAR: acc = "bar"; break; case MS_CHECK: + case MS_COMBCHECK: acc = "check"; break; case MS_ACUTE: + case MS_COMBACUTE: acc = "acute"; break; case MS_GRAVE: + case MS_COMBGRAVE: acc = "grave"; break; case MS_BREVE: + case MS_COMBBREVE: acc = "breve"; break; case MS_CIRCLE: + case MS_COMBCIRCLE: acc = "circle"; break; + case MS_RIGHTARROW: case MS_VEC: // prefer wide variants for these 3, .docx can't seem to differentiate // between e.g. 'vec' and 'widevec', if whatever the accent is above is short, this |