summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
authorFrédéric Wang <fred.wang@free.fr>2013-06-30 12:49:10 +0200
committerFridrich Strba <fridrich@documentfoundation.org>2013-07-02 07:39:24 +0000
commitfbc9c18875d1e86c9b3d7d5c13e1db13af23e3f0 (patch)
treedd86d2604ac1635b440abe94595291fccebfff82 /starmath
parent6a08067902ddc0ec61a7c7b4b0035b303f643a50 (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.hxx18
-rw-r--r--starmath/source/node.cxx20
-rw-r--r--starmath/source/ooxmlimport.cxx7
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