[Libreoffice-commits] core.git: extras/source starmath/inc starmath/source

Frédéric Wang fred.wang at free.fr
Tue Jul 2 00:40:56 PDT 2013


 extras/source/truetype/symbol/OpenSymbol.sfd |   45 ++++++++++++++++++++++++---
 extras/source/truetype/symbol/opens___.ttf   |binary
 starmath/inc/types.hxx                       |    4 ++
 starmath/source/cursor.cxx                   |   12 +++----
 starmath/source/mathtype.cxx                 |    6 ++-
 starmath/source/node.cxx                     |    6 ++-
 starmath/source/ooxmlimport.cxx              |    8 ++--
 starmath/source/parse.cxx                    |   18 +++++-----
 8 files changed, 72 insertions(+), 27 deletions(-)

New commits:
commit be4837c9da190b4450a7f8a46ee5b9808e5dd941
Author: Frédéric Wang <fred.wang at free.fr>
Date:   Mon Jul 1 21:14:53 2013 +0200

     fdo#66416 -  Use appropriate unicode characters for math "Brackets"
    
    Change-Id: I43d74c92f0de65f9456f5cd8ae150466b6a43717
    Reviewed-on: https://gerrit.libreoffice.org/4661
    Reviewed-by: Fridrich Strba <fridrich at documentfoundation.org>
    Tested-by: Fridrich Strba <fridrich at documentfoundation.org>

diff --git a/extras/source/truetype/symbol/OpenSymbol.sfd b/extras/source/truetype/symbol/OpenSymbol.sfd
index 3031e04..6a7991c 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.4
+Version: 102.5
 ItalicAngle: 0
 UnderlinePosition: -143
 UnderlineWidth: 20
@@ -19,7 +19,7 @@ OS2Version: 0
 OS2_WeightWidthSlopeOnly: 0
 OS2_UseTypoMetrics: 1
 CreationTime: 1144938807
-ModificationTime: 1372588273
+ModificationTime: 1372703526
 PfmFamily: 81
 TTFWeight: 400
 TTFWidth: 5
@@ -773,7 +773,7 @@ ShortTable: maxp 16
   0
   0
 EndShort
-LangName: 1033 "" "" "Regular" "OpenSymbol" "" "Version 102.4" 
+LangName: 1033 "" "" "Regular" "OpenSymbol" "" "Version 102.5" 
 GaspTable: 1 65535 2 0
 Encoding: Custom
 UnicodeInterp: none
@@ -784,7 +784,7 @@ FitToEm: 1
 WinInfo: 675 45 15
 BeginPrivate: 0
 EndPrivate
-BeginChars: 8834 1007
+BeginChars: 8834 1009
 
 StartChar: Alpha
 Encoding: 909 913 0
@@ -107741,5 +107741,42 @@ SplineSet
  102 1407 l 1,0,-1
 EndSplineSet
 EndChar
+
+StartChar: verticalline
+Encoding: 996 124 1007
+Width: 813
+Flags: W
+VStem: 358 99<-440 1620>
+LayerCount: 2
+Fore
+SplineSet
+358 -440 m 1,0,-1
+ 358 1620 l 1,1,-1
+ 457 1620 l 1,2,-1
+ 457 -440 l 1,3,-1
+ 358 -440 l 1,0,-1
+EndSplineSet
+EndChar
+
+StartChar: doubleverticalline
+Encoding: 997 8214 1008
+Width: 1183
+Flags: W
+VStem: 334 98<-430 1620> 752 98<-430 1620>
+LayerCount: 2
+Fore
+SplineSet
+334 -430 m 1,0,-1
+ 334 1620 l 1,1,-1
+ 432 1620 l 1,2,-1
+ 432 -430 l 1,3,-1
+ 334 -430 l 1,0,-1
+752 -430 m 1,4,-1
+ 752 1620 l 1,5,-1
+ 850 1620 l 1,6,-1
+ 850 -430 l 1,7,-1
+ 752 -430 l 1,4,-1
+EndSplineSet
+EndChar
 EndChars
 EndSplineFont
diff --git a/extras/source/truetype/symbol/opens___.ttf b/extras/source/truetype/symbol/opens___.ttf
index f9e18ca..5fc1649 100644
Binary files a/extras/source/truetype/symbol/opens___.ttf and b/extras/source/truetype/symbol/opens___.ttf differ
diff --git a/starmath/inc/types.hxx b/starmath/inc/types.hxx
index de027b6..7ef060e 100644
--- a/starmath/inc/types.hxx
+++ b/starmath/inc/types.hxx
@@ -112,7 +112,9 @@ enum MathSymbol
     MS_WP           = (sal_Unicode) 0x2118,
 
     MS_LINE         = (sal_Unicode) 0x2223,
+    MS_VERTLINE     = (sal_Unicode) 0x007C,
     MS_DLINE        = (sal_Unicode) 0x2225,
+    MS_DVERTLINE    = (sal_Unicode) 0x2016,
     MS_ORTHO        = (sal_Unicode) 0x22A5,
     MS_DOTSLOW      = (sal_Unicode) 0x2026,
     MS_DOTSAXIS     = (sal_Unicode) 0x22EF,
@@ -176,6 +178,8 @@ enum MathSymbol
     MS_RANGLE       = (sal_Unicode) 0x232A,
     MS_LDBRACKET    = (sal_Unicode) 0x27E6,
     MS_RDBRACKET    = (sal_Unicode) 0x27E7,
+    MS_LMATHANGLE   = (sal_Unicode) 0x27E8,
+    MS_RMATHANGLE   = (sal_Unicode) 0x27E9,
 
     MS_PLACE        = (sal_Unicode) 0x2751,
 
diff --git a/starmath/source/cursor.cxx b/starmath/source/cursor.cxx
index cb63ef4..002e5fe 100644
--- a/starmath/source/cursor.cxx
+++ b/starmath/source/cursor.cxx
@@ -733,16 +733,16 @@ SmNode *SmCursor::CreateBracket(SmBracketType eBracketType, bool bIsLeft) {
                 aTok = SmToken(TLDBRACKET, MS_LDBRACKET, "ldbracket", TGLBRACES, 5);
                 break;
             case LineBrackets:
-                aTok = SmToken(TLLINE, MS_LINE, "lline", TGLBRACES, 5);
+                aTok = SmToken(TLLINE, MS_VERTLINE, "lline", TGLBRACES, 5);
                 break;
             case DoubleLineBrackets:
-                aTok = SmToken(TLDLINE, MS_DLINE, "ldline", TGLBRACES, 5);
+                aTok = SmToken(TLDLINE, MS_DVERTLINE, "ldline", TGLBRACES, 5);
                 break;
             case CurlyBrackets:
                 aTok = SmToken(TLBRACE, MS_LBRACE, "lbrace", TGLBRACES, 5);
                 break;
             case AngleBrackets:
-                aTok = SmToken(TLANGLE, MS_LANGLE, "langle", TGLBRACES, 5);
+                aTok = SmToken(TLANGLE, MS_LMATHANGLE, "langle", TGLBRACES, 5);
                 break;
             case CeilBrackets:
                 aTok = SmToken(TLCEIL, MS_LCEIL, "lceil", TGLBRACES, 5);
@@ -766,16 +766,16 @@ SmNode *SmCursor::CreateBracket(SmBracketType eBracketType, bool bIsLeft) {
                 aTok = SmToken(TRDBRACKET, MS_RDBRACKET, "rdbracket", TGRBRACES, 5);
                 break;
             case LineBrackets:
-                aTok = SmToken(TRLINE, MS_LINE, "rline", TGRBRACES, 5);
+                aTok = SmToken(TRLINE, MS_VERTLINE, "rline", TGRBRACES, 5);
                 break;
             case DoubleLineBrackets:
-                aTok = SmToken(TRDLINE, MS_DLINE, "rdline", TGRBRACES, 5);
+                aTok = SmToken(TRDLINE, MS_DVERTLINE, "rdline", TGRBRACES, 5);
                 break;
             case CurlyBrackets:
                 aTok = SmToken(TRBRACE, MS_RBRACE, "rbrace", TGRBRACES, 5);
                 break;
             case AngleBrackets:
-                aTok = SmToken(TRANGLE, MS_RANGLE, "rangle", TGRBRACES, 5);
+                aTok = SmToken(TRANGLE, MS_RMATHANGLE, "rangle", TGRBRACES, 5);
                 break;
             case CeilBrackets:
                 aTok = SmToken(TRCEIL, MS_RCEIL, "rceil", TGRBRACES, 5);
diff --git a/starmath/source/mathtype.cxx b/starmath/source/mathtype.cxx
index 3de5817..b910a41 100644
--- a/starmath/source/mathtype.cxx
+++ b/starmath/source/mathtype.cxx
@@ -463,10 +463,12 @@ sal_Bool MathType::LookupChar(sal_Unicode nChar,String &rRet,sal_uInt8 nVersion,
         case 0x22f1:
             pC = " dotsdown ";
             break;
-        case 0x2329:
+        case MS_LANGLE:
+        case MS_LMATHANGLE:
             pC = " langle ";
             break;
-        case 0x232a:
+        case MS_RANGLE:
+        case MS_RMATHANGLE:
             pC = " rangle ";
             break;
         case 0x301a:
diff --git a/starmath/source/node.cxx b/starmath/source/node.cxx
index 6f9c63f..e69ed2c 100644
--- a/starmath/source/node.cxx
+++ b/starmath/source/node.cxx
@@ -1744,11 +1744,13 @@ void SmBraceNode::Arrange(const OutputDevice &rDev, const SmFormat &rFormat)
         aTmpSize.Width() /= 267;
 
         sal_Unicode cChar = pLeft->GetToken().cMathChar;
-        if (cChar != MS_LINE  &&  cChar != MS_DLINE)
+        if (cChar != MS_LINE  &&  cChar != MS_DLINE &&
+            cChar != MS_VERTLINE  &&  cChar != MS_DVERTLINE)
             pLeft ->GetFont().SetSize(aTmpSize);
 
         cChar = pRight->GetToken().cMathChar;
-        if (cChar != MS_LINE  &&  cChar != MS_DLINE)
+        if (cChar != MS_LINE  &&  cChar != MS_DLINE &&
+            cChar != MS_VERTLINE  &&  cChar != MS_DVERTLINE)
             pRight->GetFont().SetSize(aTmpSize);
 
         pLeft ->AdaptToY(rDev, nBraceHeight);
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index c47b14e..10c3d3b 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -319,13 +319,13 @@ OUString SmOoxmlImport::handleD()
         opening = "left lline ";
     if( closing == "|" )
         closing = " right rline";
-    if( opening == OUString( sal_Unicode( 0x2225 )))
+    if (opening == OUString(MS_DLINE) || opening == OUString(MS_DVERTLINE))
         opening = "left ldline ";
-    if( closing == OUString( sal_Unicode( 0x2225 )))
+    if (closing == OUString(MS_DLINE) || closing == OUString(MS_DVERTLINE))
         closing = " right rdline";
-    if( opening == OUString( sal_Unicode( 0x2329 )))
+    if (opening == OUString(MS_LANGLE) || opening == OUString(MS_LMATHANGLE))
         opening = "left langle ";
-    if( closing == OUString( sal_Unicode( 0x232a )))
+    if (closing == OUString(MS_RANGLE) || closing == OUString(MS_RMATHANGLE))
         closing = " right rangle";
     // use scalable brackets (the explicit "left" or "right")
     if( opening == "(" || opening == "[" )
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index 4477d10..5929447 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -172,11 +172,11 @@ static const SmTokenTableEntry aTokenTable[] =
     { "ital", TITALIC, '\0', TGFONTATTR, 5},
     { "italic", TITALIC, '\0', TGFONTATTR, 5},
     { "lambdabar" , TLAMBDABAR, MS_LAMBDABAR, TGSTANDALONE, 5},
-    { "langle", TLANGLE, MS_LANGLE, TGLBRACES, 5},
+    { "langle", TLANGLE, MS_LMATHANGLE, TGLBRACES, 5},
     { "lbrace", TLBRACE, MS_LBRACE, TGLBRACES, 5},
     { "lceil", TLCEIL, MS_LCEIL, TGLBRACES, 5},
     { "ldbracket", TLDBRACKET, MS_LDBRACKET, TGLBRACES, 5},
-    { "ldline", TLDLINE, MS_DLINE, TGLBRACES, 5},
+    { "ldline", TLDLINE, MS_DVERTLINE, TGLBRACES, 5},
     { "le", TLE, MS_LE, TGRELATION, 0},
     { "left", TLEFT, '\0', 0, 5},
     { "leftarrow" , TLEFTARROW, MS_LEFTARROW, TGSTANDALONE, 5},
@@ -187,7 +187,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "limsup", TLIMSUP, '\0', TGOPER, 5},
     { "lint", TLINT, MS_LINT, TGOPER, 5},
     { "ll", TLL, MS_LL, TGRELATION, 0},
-    { "lline", TLLINE, MS_LINE, TGLBRACES, 5},
+    { "lline", TLLINE, MS_VERTLINE, TGLBRACES, 5},
     { "llint", TLLINT, MS_LLINT, TGOPER, 5},
     { "lllint", TLLLINT, MS_LLLINT, TGOPER, 5},
     { "ln", TLN, '\0', TGFUNCTION, 5},
@@ -198,7 +198,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "magenta", TMAGENTA, '\0', TGCOLOR, 0},
     { "matrix", TMATRIX, '\0', 0, 5},
     { "minusplus", TMINUSPLUS, MS_MINUSPLUS, TGUNOPER | TGSUM, 5},
-    { "mline", TMLINE, MS_LINE, 0, 0},      //! nicht in TGRBRACES, Level 0
+    { "mline", TMLINE, MS_VERTLINE, 0, 0},      //! not in TGRBRACES, Level 0
     { "nabla", TNABLA, MS_NABLA, TGSTANDALONE, 5},
     { "nbold", TNBOLD, '\0', TGFONTATTR, 5},
     { "ndivides", TNDIVIDES, MS_NDIVIDES, TGRELATION, 0},
@@ -238,16 +238,16 @@ static const SmTokenTableEntry aTokenTable[] =
     { "nprec", TNOTPRECEDES, MS_NOTPRECEDES, TGRELATION, 0 },
     { "prod", TPROD, MS_PROD, TGOPER, 5},
     { "prop", TPROP, MS_PROP, TGRELATION, 0},
-    { "rangle", TRANGLE, MS_RANGLE, TGRBRACES, 0},  //! 0 to terminate expression
+    { "rangle", TRANGLE, MS_RMATHANGLE, TGRBRACES, 0},  //! 0 to terminate expression
     { "rbrace", TRBRACE, MS_RBRACE, TGRBRACES, 0},  //
     { "rceil", TRCEIL, MS_RCEIL, TGRBRACES, 0}, //
     { "rdbracket", TRDBRACKET, MS_RDBRACKET, TGRBRACES, 0}, //
-    { "rdline", TRDLINE, MS_DLINE, TGRBRACES, 0},   //
+    { "rdline", TRDLINE, MS_DVERTLINE, TGRBRACES, 0},   //
     { "red", TRED, '\0', TGCOLOR, 0},
     { "rfloor", TRFLOOR, MS_RFLOOR, TGRBRACES, 0},  //! 0 to terminate expression
     { "right", TRIGHT, '\0', 0, 0},
     { "rightarrow" , TRIGHTARROW, MS_RIGHTARROW, TGSTANDALONE, 5},
-    { "rline", TRLINE, MS_LINE, TGRBRACES, 0},  //! 0 to terminate expression
+    { "rline", TRLINE, MS_VERTLINE, TGRBRACES, 0},  //! 0 to terminate expression
     { "rsub", TRSUB, '\0', TGPOWER, 0},
     { "rsup", TRSUP, '\0', TGPOWER, 0},
     { "sans", TSANS, '\0', TGFONT, 0},
@@ -1805,10 +1805,10 @@ void SmParser::UnOper()
         // we'll use row & column of the keyword for abs
         aNodeToken.eType = TABS;
         //
-        aNodeToken.cMathChar = MS_LINE;
+        aNodeToken.cMathChar = MS_VERTLINE;
         SmNode* pLeft = new SmMathSymbolNode(aNodeToken);
         //
-        aNodeToken.cMathChar = MS_LINE;
+        aNodeToken.cMathChar = MS_VERTLINE;
         SmNode* pRight = new SmMathSymbolNode(aNodeToken);
 
         pSNode->SetSubNodes(pLeft, pArg, pRight);


More information about the Libreoffice-commits mailing list