summaryrefslogtreecommitdiff
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
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>
-rw-r--r--extras/source/truetype/symbol/OpenSymbol.sfd120
-rw-r--r--extras/source/truetype/symbol/opens___.ttfbin132948 -> 203292 bytes
-rw-r--r--starmath/inc/types.hxx18
-rw-r--r--starmath/source/node.cxx20
-rw-r--r--starmath/source/ooxmlimport.cxx7
5 files changed, 117 insertions, 48 deletions
diff --git a/extras/source/truetype/symbol/OpenSymbol.sfd b/extras/source/truetype/symbol/OpenSymbol.sfd
index 9a8efb05f0ab..3031e04e7192 100644
--- a/extras/source/truetype/symbol/OpenSymbol.sfd
+++ b/extras/source/truetype/symbol/OpenSymbol.sfd
@@ -4,7 +4,7 @@ FullName: OpenSymbol
FamilyName: OpenSymbol
Weight: Book
Copyright: (c) 2009 Sun Microsystems Inc.\nTHERE DOES NOT EXIST (c) 2011 Julien Nabet\nPRECEDES <-> DOES NOT SUCCEED (c) 2011 Olivier Hallot\nPRIME <-> TRIPLE PRIME (c) 2013 Mathias Hasselmann
-Version: 102.3
+Version: 102.4
ItalicAngle: 0
UnderlinePosition: -143
UnderlineWidth: 20
@@ -19,7 +19,7 @@ OS2Version: 0
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1144938807
-ModificationTime: 1358186116
+ModificationTime: 1372588273
PfmFamily: 81
TTFWeight: 400
TTFWidth: 5
@@ -773,18 +773,18 @@ ShortTable: maxp 16
0
0
EndShort
-LangName: 1033 "" "" "Regular" "OpenSymbol" "" "Version 102.3"
-GaspTable: 1 65535 2
+LangName: 1033 "" "" "Regular" "OpenSymbol" "" "Version 102.4"
+GaspTable: 1 65535 2 0
Encoding: Custom
UnicodeInterp: none
NameList: Adobe Glyph List
DisplaySize: -24
AntiAlias: 1
FitToEm: 1
-WinInfo: 0 45 15
+WinInfo: 675 45 15
BeginPrivate: 0
EndPrivate
-BeginChars: 8834 1004
+BeginChars: 8834 1007
StartChar: Alpha
Encoding: 909 913 0
@@ -107379,7 +107379,7 @@ Validated: 1
EndChar
StartChar: uni227A
-Encoding: 8826 8826 995
+Encoding: 8826 8826 993
Width: 1628
GlyphClass: 2
Flags: W
@@ -107402,7 +107402,7 @@ EndSplineSet
EndChar
StartChar: uni227B
-Encoding: 8827 8827 996
+Encoding: 8827 8827 994
Width: 1628
GlyphClass: 2
Flags: W
@@ -107425,10 +107425,10 @@ EndSplineSet
EndChar
StartChar: uni227C
-Encoding: 8828 8828 997
+Encoding: 8828 8828 995
Width: 1628
GlyphClass: 2
-Flags: HWO
+Flags: W
LayerCount: 2
Fore
SplineSet
@@ -107457,10 +107457,10 @@ EndSplineSet
EndChar
StartChar: uni227D
-Encoding: 8829 8829 998
+Encoding: 8829 8829 996
Width: 1628
GlyphClass: 2
-Flags: HWO
+Flags: W
LayerCount: 2
Fore
SplineSet
@@ -107489,10 +107489,10 @@ EndSplineSet
EndChar
StartChar: uni227E
-Encoding: 8830 8830 999
+Encoding: 8830 8830 997
Width: 1628
GlyphClass: 2
-Flags: HWO
+Flags: W
LayerCount: 2
Fore
SplineSet
@@ -107528,10 +107528,10 @@ EndSplineSet
EndChar
StartChar: uni227F
-Encoding: 8831 8831 1000
+Encoding: 8831 8831 998
Width: 1628
GlyphClass: 2
-Flags: HWO
+Flags: W
LayerCount: 2
Fore
SplineSet
@@ -107567,10 +107567,10 @@ EndSplineSet
EndChar
StartChar: uni2280
-Encoding: 8832 8832 1001
+Encoding: 8832 8832 999
Width: 1628
GlyphClass: 2
-Flags: WO
+Flags: W
LayerCount: 2
Fore
SplineSet
@@ -107599,7 +107599,7 @@ EndSplineSet
EndChar
StartChar: uni2281
-Encoding: 8833 8833 1002
+Encoding: 8833 8833 1000
Width: 1628
GlyphClass: 2
Flags: W
@@ -107630,10 +107630,35 @@ SplineSet
EndSplineSet
EndChar
+StartChar: primetriple
+Encoding: 2034 8244 1001
+Width: 1233
+Flags: W
+LayerCount: 2
+Fore
+SplineSet
+565 1456 m 1,0,-1
+ 270 1110 l 1,1,-1
+ 236 1110 l 1,2,-1
+ 342 1456 l 1,3,-1
+ 565 1456 l 1,0,-1
+841 1456 m 1,4,-1
+ 546 1110 l 1,5,-1
+ 512 1110 l 1,6,-1
+ 618 1456 l 1,7,-1
+ 841 1456 l 1,4,-1
+1117 1456 m 1,8,-1
+ 822 1110 l 1,9,-1
+ 788 1110 l 1,10,-1
+ 894 1456 l 1,11,-1
+ 1117 1456 l 1,8,-1
+EndSplineSet
+EndChar
+
StartChar: prime
-Encoding: 2032 8242 1001
+Encoding: 2032 8242 1002
Width: 681
-Flags: WO
+Flags: W
HStem: 1110 346
VStem: 236 329
LayerCount: 2
@@ -107648,7 +107673,7 @@ EndSplineSet
EndChar
StartChar: primedbl
-Encoding: 2033 8243 1002
+Encoding: 2033 8243 1003
Width: 957
Flags: W
LayerCount: 2
@@ -107667,10 +107692,29 @@ SplineSet
EndSplineSet
EndChar
-StartChar: primetriple
-Encoding: 2034 8244 1003
-Width: 1233
+StartChar: graveaccent
+Encoding: 993 96 1004
+Width: 681
+Flags: W
+HStem: 1130 347
+VStem: 117 329
+LayerCount: 2
+Fore
+SplineSet
+117 1477 m 1,0,-1
+ 342 1477 l 1,1,-1
+ 446 1130 l 1,2,-1
+ 412 1130 l 1,3,-1
+ 117 1477 l 1,0,-1
+EndSplineSet
+EndChar
+
+StartChar: acuteaccent
+Encoding: 994 180 1005
+Width: 681
Flags: W
+HStem: 1110 346
+VStem: 236 329
LayerCount: 2
Fore
SplineSet
@@ -107679,16 +107723,22 @@ SplineSet
236 1110 l 1,2,-1
342 1456 l 1,3,-1
565 1456 l 1,0,-1
-841 1456 m 1,4,-1
- 546 1110 l 1,5,-1
- 512 1110 l 1,6,-1
- 618 1456 l 1,7,-1
- 841 1456 l 1,4,-1
-1117 1456 m 1,8,-1
- 822 1110 l 1,9,-1
- 788 1110 l 1,10,-1
- 894 1456 l 1,11,-1
- 1117 1456 l 1,8,-1
+EndSplineSet
+EndChar
+
+StartChar: macron
+Encoding: 995 175 1006
+Width: 1024
+Flags: W
+HStem: 1331 76<102 934>
+LayerCount: 2
+Fore
+SplineSet
+102 1407 m 1,0,-1
+ 934 1407 l 1,1,-1
+ 934 1331 l 1,2,-1
+ 102 1331 l 1,3,-1
+ 102 1407 l 1,0,-1
EndSplineSet
EndChar
EndChars
diff --git a/extras/source/truetype/symbol/opens___.ttf b/extras/source/truetype/symbol/opens___.ttf
index e4d408056a58..f9e18cacf253 100644
--- a/extras/source/truetype/symbol/opens___.ttf
+++ b/extras/source/truetype/symbol/opens___.ttf
Binary files differ
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