LCOV - code coverage report
Current view: top level - libreoffice/svx/source/customshapes - EnhancedCustomShapeGeometry.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 74 219 33.8 %
Date: 2012-12-27 Functions: 4 5 80.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <limits>
      21             : 
      22             : #include "svx/EnhancedCustomShapeGeometry.hxx"
      23             : #include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
      24             : 
      25             : static const sal_Int32 MIN_INT32 = std::numeric_limits<sal_Int32>::min();
      26             : 
      27             : static const sal_Int32 mso_sptDefault0[] =
      28             : {
      29             :     1, 0
      30             : };
      31             : static const sal_Int32 mso_sptDefault1400[] =
      32             : {
      33             :     1, 1400
      34             : };
      35             : static const sal_Int32 mso_sptDefault1800[] =
      36             : {
      37             :     1, 1800
      38             : };
      39             : static const sal_Int32 mso_sptDefault2500[] =
      40             : {
      41             :     1, 2500
      42             : };
      43             : static const sal_Int32 mso_sptDefault2700[] =
      44             : {
      45             :     1, 2700
      46             : };
      47             : static const sal_Int32 mso_sptDefault3600[] =
      48             : {
      49             :     1, 3600
      50             : };
      51             : static const sal_Int32 mso_sptDefault3700[] =
      52             : {
      53             :     1, 3700
      54             : };
      55             : static const sal_Int32 mso_sptDefault5400[] =
      56             : {
      57             :     1, 5400
      58             : };
      59             : static const sal_Int32 mso_sptDefault7200[] =
      60             : {
      61             :     1, 7200
      62             : };
      63             : static const sal_Int32 mso_sptDefault8100[] =
      64             : {
      65             :     1, 8100
      66             : };
      67             : static const sal_Int32 mso_sptDefault9600[] =
      68             : {
      69             :     1, 9600
      70             : };
      71             : static const sal_Int32 mso_sptDefault10800[] =
      72             : {
      73             :     1, 10800
      74             : };
      75             : static const sal_Int32 mso_sptDefault12000[] =
      76             : {
      77             :     1, 12000
      78             : };
      79             : static const sal_Int32 mso_sptDefault13500[] =
      80             : {
      81             :     1, 13500
      82             : };
      83             : static const sal_Int32 mso_sptDefault16200[] =
      84             : {
      85             :     1, 16200
      86             : };
      87             : static const sal_Int32 mso_sptDefault16200and5400[] =
      88             : {
      89             :     2, 16200, 5400
      90             : };
      91             : 
      92             : static const SvxMSDffVertPair mso_sptArcVert[] =
      93             : {
      94             :     { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }, { 10800, 10800 },
      95             :     { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }
      96             : };
      97             : static const sal_uInt16 mso_sptArcSegm[] =
      98             : {
      99             :     0xa504, 0xab00, 0x0001, 0x6001, 0x8000,
     100             :     0xa504, 0xaa00, 0x8000
     101             : };
     102             : static const SvxMSDffCalculationData mso_sptArcCalc[] =
     103             : {
     104             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
     105             :     { 0x2000, { 0x400, 10800, 0 } },
     106             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
     107             :     { 0x2000, { 0x402, 10800, 0 } },
     108             :     { 0x4009, { 10800, DFF_Prop_adjust2Value, 0 } },
     109             :     { 0x2000, { 0x404, 10800, 0 } },
     110             :     { 0x400a, { 10800, DFF_Prop_adjust2Value, 0 } },
     111             :     { 0x2000, { 0x406, 10800, 0 } }
     112             : };
     113             : static const sal_Int32 mso_sptArcDefault[] =
     114             : {
     115             :     2, 270, 0
     116             : };
     117             : static const SvxMSDffVertPair mso_sptStandardGluePoints[] =
     118             : {
     119             :     { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
     120             : };
     121             : static const SvxMSDffHandle mso_sptArcHandle[] =
     122             : {
     123             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
     124             :         10800, 0x100, 10800, 10800, 10800, 10800, MIN_INT32, 0x7fffffff },
     125             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
     126             :         10800, 0x101, 10800, 10800, 10800, 10800, MIN_INT32, 0x7fffffff }
     127             : };
     128             : static const mso_CustomShape msoArc =
     129             : {
     130             :     (SvxMSDffVertPair*)mso_sptArcVert, SAL_N_ELEMENTS( mso_sptArcVert ),
     131             :     (sal_uInt16*)mso_sptArcSegm, sizeof( mso_sptArcSegm ) >> 1,
     132             :     (SvxMSDffCalculationData*)mso_sptArcCalc, SAL_N_ELEMENTS( mso_sptArcCalc ),
     133             :     (sal_Int32*)mso_sptArcDefault,
     134             :     NULL, 0,
     135             :     21600, 21600,
     136             :     MIN_INT32, MIN_INT32,
     137             :     NULL, 0,
     138             :     (SvxMSDffHandle*)mso_sptArcHandle, SAL_N_ELEMENTS( mso_sptArcHandle )        // handles
     139             : };
     140             : 
     141             : static const SvxMSDffVertPair mso_sptTextSimpleVert[] =
     142             : {
     143             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
     144             : };
     145             : static const mso_CustomShape msoTextSimple =
     146             : {
     147             :     (SvxMSDffVertPair*)mso_sptTextSimpleVert, SAL_N_ELEMENTS( mso_sptTextSimpleVert ),
     148             :     NULL, 0,
     149             :     NULL, 0,
     150             :     NULL,
     151             :     NULL, 0,
     152             :     21600, 21600,
     153             :     MIN_INT32, MIN_INT32,
     154             :     NULL, 0,
     155             :     NULL, 0     // handles
     156             : };
     157             : 
     158             : static const SvxMSDffVertPair mso_sptRectangleVert[] =
     159             : {
     160             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
     161             : };
     162             : static const mso_CustomShape msoRectangle =
     163             : {
     164             :     (SvxMSDffVertPair*)mso_sptRectangleVert, SAL_N_ELEMENTS( mso_sptRectangleVert ),
     165             :     NULL, 0,
     166             :     NULL, 0,
     167             :     NULL,
     168             :     NULL, 0,
     169             :     21600, 21600,
     170             :     MIN_INT32, MIN_INT32,
     171             :     NULL, 0,
     172             :     NULL, 0     // handles
     173             : };
     174             : 
     175             : static const SvxMSDffVertPair mso_sptRoundRectangleVert[] = // adj value 0 -> 10800
     176             : {
     177             :     { 7 MSO_I, 0 }, { 0, 8 MSO_I }, { 0, 9 MSO_I }, { 7 MSO_I, 21600 },
     178             :     { 10 MSO_I, 21600 }, { 21600, 9 MSO_I }, { 21600, 8 MSO_I }, { 10 MSO_I, 0 }
     179             : };
     180             : static const sal_uInt16 mso_sptRoundRectangleSegm[] =
     181             : {
     182             :     0x4000, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x6000, 0x8000
     183             : };
     184             : static const SvxMSDffCalculationData mso_sptRoundRectangleCalc[] =
     185             : {
     186             :     { 0x000e, { 0, 45, 0 } },
     187             :     { 0x6009, { DFF_Prop_adjustValue, 0x400, 0 } },
     188             :     { 0x2001, { 0x401, 3163, 7636 } },
     189             :     { 0x6000, { DFF_Prop_geoLeft, 0x402, 0 } },
     190             :     { 0x6000, { DFF_Prop_geoTop, 0x402, 0 } },
     191             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } },
     192             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x402 } },
     193             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
     194             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
     195             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
     196             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } }
     197             : };
     198             : static const SvxMSDffTextRectangles mso_sptRoundRectangleTextRect[] =
     199             : {
     200             :     { { 3 MSO_I, 4 MSO_I }, { 5 MSO_I, 6 MSO_I } }
     201             : };
     202             : static const SvxMSDffHandle mso_sptRoundRectangleHandle[] =
     203             : {
     204             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
     205             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
     206             : };
     207             : static const mso_CustomShape msoRoundRectangle =
     208             : {
     209             :     (SvxMSDffVertPair*)mso_sptRoundRectangleVert, SAL_N_ELEMENTS( mso_sptRoundRectangleVert ),
     210             :     (sal_uInt16*)mso_sptRoundRectangleSegm, sizeof( mso_sptRoundRectangleSegm ) >> 1,
     211             :     (SvxMSDffCalculationData*)mso_sptRoundRectangleCalc, SAL_N_ELEMENTS( mso_sptRoundRectangleCalc ),
     212             :     (sal_Int32*)mso_sptDefault3600,
     213             :     (SvxMSDffTextRectangles*)mso_sptRoundRectangleTextRect, SAL_N_ELEMENTS( mso_sptRoundRectangleTextRect ),
     214             :     21600, 21600,
     215             :     10800, 10800,
     216             :     NULL, 0,
     217             :     (SvxMSDffHandle*)mso_sptRoundRectangleHandle, SAL_N_ELEMENTS( mso_sptRoundRectangleHandle )      // handles
     218             : };
     219             : 
     220             : static const SvxMSDffVertPair mso_sptRightTriangleVert[] =
     221             : {
     222             :     { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
     223             : };
     224             : static const SvxMSDffTextRectangles mso_sptRightTriangleTextRect[] =
     225             : {
     226             :     { { 1900, 12700 }, { 12700, 19700 } }
     227             : };
     228             : static const SvxMSDffVertPair mso_sptRightTriangleGluePoints[] =
     229             : {
     230             :     { 10800, 0 }, { 5400, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 16200, 10800 }
     231             : };
     232             : static const mso_CustomShape msoRightTriangle =
     233             : {
     234             :     (SvxMSDffVertPair*)mso_sptRightTriangleVert, SAL_N_ELEMENTS( mso_sptRightTriangleVert ),
     235             :     NULL, 0,
     236             :     NULL, 0,
     237             :     NULL,
     238             :     (SvxMSDffTextRectangles*)mso_sptRightTriangleTextRect, SAL_N_ELEMENTS( mso_sptRightTriangleTextRect ),
     239             :     21600, 21600,
     240             :     MIN_INT32, MIN_INT32,
     241             :     (SvxMSDffVertPair*)mso_sptRightTriangleGluePoints, SAL_N_ELEMENTS( mso_sptRightTriangleGluePoints ),
     242             :     NULL, 0     // handles
     243             : };
     244             : 
     245             : static const SvxMSDffVertPair mso_sptEllipseVert[] =
     246             : {
     247             :     { 10800, 10800 }, { 10800, 10800 },  { 0, 360 }
     248             : };
     249             : static const sal_uInt16 mso_sptEllipseSegm[] =
     250             : {
     251             :     0xa203, 0x6000, 0x8000
     252             : };
     253             : static const SvxMSDffTextRectangles mso_sptEllipseTextRect[] =
     254             : {
     255             :     { { 3163, 3163 }, { 18437, 18437 } }
     256             : };
     257             : static const SvxMSDffVertPair mso_sptEllipseGluePoints[] =
     258             : {
     259             :     { 10800, 0 }, { 3163, 3163 }, { 0, 10800 }, { 3163, 18437 }, { 10800, 21600 }, { 18437, 18437 }, { 21600, 10800 }, { 18437, 3163 }
     260             : };
     261             : static const mso_CustomShape msoEllipse =
     262             : {
     263             :     (SvxMSDffVertPair*)mso_sptEllipseVert, SAL_N_ELEMENTS( mso_sptEllipseVert ),
     264             :     (sal_uInt16*)mso_sptEllipseSegm, sizeof( mso_sptEllipseSegm ) >> 1,
     265             :     NULL, 0,
     266             :     NULL,
     267             :     (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
     268             :     21600, 21600,
     269             :     MIN_INT32, MIN_INT32,
     270             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
     271             :     NULL, 0     // handles
     272             : };
     273             : 
     274             : static const SvxMSDffVertPair mso_sptParallelogramVert[] =  // adjustment1 : 0 - 21600
     275             : {
     276             :     { 0 MSO_I, 0 }, { 21600, 0 }, { 1 MSO_I, 21600 }, { 0, 21600 }
     277             : };
     278             : static const sal_uInt16 mso_sptParallelogramSegm[] =
     279             : {
     280             :     0x4000, 0x0003, 0x6001, 0x8000
     281             : };
     282             : static const SvxMSDffCalculationData mso_sptParallelogramCalc[] =
     283             : {
     284             :     { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
     285             :     { 0x8000, { 0, 21600, DFF_Prop_adjustValue } },
     286             :     { 0x2001, { DFF_Prop_adjustValue, 10, 24 } },
     287             :     { 0x2000, { 0x0402, 1750, 0 } },
     288             :     { 0x8000, { 21600, 0, 0x0403 } },
     289             :     { 0x2001, { 0x400, 1, 2 } },
     290             :     { 0x4000, { 10800, 0x405, 0 } },
     291             :     { 0x2000, { 0x400, 0, 10800 } },
     292             :     { 0x6006, { 0x407, 0x40d, 0 } },
     293             :     { 0x8000, { 10800, 0, 0x405 } },
     294             :     { 0x6006, { 0x407, 0x40c, 21600 } },
     295             :     { 0x8000, { 21600, 0, 0x405 } },
     296             :     { 0x8001, { 21600, 10800, 0x400 } },
     297             :     { 0x8000, { 21600, 0, 0x40c } }
     298             : };
     299             : static const SvxMSDffTextRectangles mso_sptParallelogramTextRect[] =
     300             : {
     301             :     { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
     302             : };
     303             : static const SvxMSDffVertPair mso_sptParallelogramGluePoints[] =
     304             : {
     305             :     { 6 MSO_I, 0 }, { 10800, 8 MSO_I }, { 11 MSO_I, 10800 }, { 9 MSO_I, 21600 }, { 10800, 10 MSO_I }, { 5 MSO_I, 10800 }
     306             : };
     307             : static const SvxMSDffHandle mso_sptParallelogramHandle[] =
     308             : {
     309             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     310             :         0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
     311             : };
     312             : static const mso_CustomShape msoParallelogram =
     313             : {
     314             :     (SvxMSDffVertPair*)mso_sptParallelogramVert, SAL_N_ELEMENTS( mso_sptParallelogramVert ),
     315             :     (sal_uInt16*)mso_sptParallelogramSegm, sizeof( mso_sptParallelogramSegm ) >> 1,
     316             :     (SvxMSDffCalculationData*)mso_sptParallelogramCalc, SAL_N_ELEMENTS( mso_sptParallelogramCalc ),
     317             :     (sal_Int32*)mso_sptDefault5400,
     318             :     (SvxMSDffTextRectangles*)mso_sptParallelogramTextRect, SAL_N_ELEMENTS( mso_sptParallelogramTextRect ),
     319             :     21600, 21600,
     320             :     MIN_INT32, MIN_INT32,
     321             :     (SvxMSDffVertPair*)mso_sptParallelogramGluePoints, SAL_N_ELEMENTS( mso_sptParallelogramGluePoints ),
     322             :     (SvxMSDffHandle*)mso_sptParallelogramHandle, SAL_N_ELEMENTS( mso_sptParallelogramHandle )        // handles
     323             : };
     324             : 
     325             : static const SvxMSDffVertPair mso_sptDiamondVert[] =
     326             : {
     327             :     { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }, { 10800, 0 }
     328             : };
     329             : static const SvxMSDffTextRectangles mso_sptDiamondTextRect[] =
     330             : {
     331             :     { { 5400, 5400 }, { 16200, 16200 } }
     332             : };
     333             : static const mso_CustomShape msoDiamond =
     334             : {
     335             :     (SvxMSDffVertPair*)mso_sptDiamondVert, SAL_N_ELEMENTS( mso_sptDiamondVert ),
     336             :     NULL, 0,
     337             :     NULL, 0,
     338             :     NULL,
     339             :     (SvxMSDffTextRectangles*)mso_sptDiamondTextRect, SAL_N_ELEMENTS( mso_sptDiamondTextRect ),
     340             :     21600, 21600,
     341             :     MIN_INT32, MIN_INT32,
     342             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
     343             :     NULL, 0     // handles
     344             : };
     345             : 
     346             : static const SvxMSDffVertPair mso_sptTrapezoidVert[] =      // adjustment1 : 0 - 10800
     347             : {
     348             :     { 0, 0 }, { 21600, 0 }, {0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
     349             : };
     350             : static const sal_uInt16 mso_sptTrapezoidSegm[] =
     351             : {
     352             :     0x4000, 0x0003, 0x6001, 0x8000
     353             : };
     354             : static const SvxMSDffCalculationData mso_sptTrapezoidCalc[] =
     355             : {
     356             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
     357             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     358             :     { 0x2001, { DFF_Prop_adjustValue, 10, 18 } },
     359             :     { 0x2000, { 0x0402, 1750, 0 } },
     360             :     { 0x8000, { 21600, 0, 0x403 } },
     361             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
     362             :     { 0x8000, { 21600, 0, 0x405 } }
     363             : };
     364             : static const SvxMSDffTextRectangles mso_sptTrapezoidTextRect[] =
     365             : {
     366             :     { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
     367             : };
     368             : static const SvxMSDffVertPair mso_sptTrapezoidGluePoints[] =
     369             : {
     370             :     { 6 MSO_I, 10800 }, { 10800, 21600 }, { 5 MSO_I, 10800 }, { 10800, 0 }
     371             : };
     372             : static const SvxMSDffHandle mso_sptTrapezoidHandle[] =
     373             : {
     374             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     375             :         0x100, 1, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
     376             : };
     377             : static const mso_CustomShape msoTrapezoid =
     378             : {
     379             :     (SvxMSDffVertPair*)mso_sptTrapezoidVert, SAL_N_ELEMENTS( mso_sptTrapezoidVert ),
     380             :     (sal_uInt16*)mso_sptTrapezoidSegm, sizeof( mso_sptTrapezoidSegm ) >> 1,
     381             :     (SvxMSDffCalculationData*)mso_sptTrapezoidCalc, SAL_N_ELEMENTS( mso_sptTrapezoidCalc ),
     382             :     (sal_Int32*)mso_sptDefault5400,
     383             :     (SvxMSDffTextRectangles*)mso_sptTrapezoidTextRect, SAL_N_ELEMENTS( mso_sptTrapezoidTextRect ),
     384             :     21600, 21600,
     385             :     MIN_INT32, MIN_INT32,
     386             :     (SvxMSDffVertPair*)mso_sptTrapezoidGluePoints, SAL_N_ELEMENTS( mso_sptTrapezoidGluePoints ),
     387             :     (SvxMSDffHandle*)mso_sptTrapezoidHandle, SAL_N_ELEMENTS( mso_sptTrapezoidHandle )        // handles
     388             : };
     389             : 
     390             : static const SvxMSDffVertPair mso_sptOctagonVert[] =        // adjustment1 : 0 - 10800
     391             : {
     392             :     { 0 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 3 MSO_I },
     393             :     { 2 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }, { 0, 1 MSO_I }
     394             : };
     395             : static const sal_uInt16 mso_sptOctagonSegm[] =
     396             : {
     397             :     0x4000, 0x0007, 0x6001, 0x8000
     398             : };
     399             : static const SvxMSDffCalculationData mso_sptOctagonCalc[] =
     400             : {
     401             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
     402             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
     403             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
     404             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
     405             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
     406             :     { 0x6000, { DFF_Prop_geoLeft, 0x404, 0 } },
     407             :     { 0x6000, { DFF_Prop_geoTop, 0x404, 0 } },
     408             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
     409             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
     410             : };
     411             : static const sal_Int32 mso_sptOctagonDefault[] =
     412             : {
     413             :     1, 5000
     414             : };
     415             : static const SvxMSDffTextRectangles mso_sptOctagonTextRect[] =
     416             : {
     417             :     { { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 8 MSO_I } }
     418             : };
     419             : static const SvxMSDffHandle mso_sptOctagonHandle[] =
     420             : {
     421             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     422             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
     423             : };
     424             : static const mso_CustomShape msoOctagon =
     425             : {
     426             :     (SvxMSDffVertPair*)mso_sptOctagonVert, SAL_N_ELEMENTS( mso_sptOctagonVert ),
     427             :     (sal_uInt16*)mso_sptOctagonSegm, sizeof( mso_sptOctagonSegm ) >> 1,
     428             :     (SvxMSDffCalculationData*)mso_sptOctagonCalc, SAL_N_ELEMENTS( mso_sptOctagonCalc ),
     429             :     (sal_Int32*)mso_sptOctagonDefault,
     430             :     (SvxMSDffTextRectangles*)mso_sptOctagonTextRect, SAL_N_ELEMENTS( mso_sptOctagonTextRect ),
     431             :     21600, 21600,
     432             :     10800, 10800,
     433             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
     434             :     (SvxMSDffHandle*)mso_sptOctagonHandle, SAL_N_ELEMENTS( mso_sptOctagonHandle )        // handles
     435             : };
     436             : 
     437             : static const SvxMSDffVertPair mso_sptIsocelesTriangleVert[] =   // adjustment1 : 0 - 21600
     438             : {
     439             :     { 0 MSO_I, 0 }, { 21600, 21600 }, { 0, 21600 }
     440             : };
     441             : static const sal_uInt16 mso_sptIsocelesTriangleSegm[] =
     442             : {
     443             :     0x4000, 0x0002, 0x6001, 0x8000
     444             : };
     445             : static const SvxMSDffCalculationData mso_sptIsocelesTriangleCalc[] =
     446             : {
     447             :     { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
     448             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
     449             :     { 0x2000, { 0x401, 10800, 0 } },
     450             :     { 0x2001, { DFF_Prop_adjustValue, 2, 3 } },
     451             :     { 0x2000, { 0x403, 7200, 0 } },
     452             :     { 0x8000, { 21600, 0, 0x400 } },
     453             :     { 0x2001, { 0x405, 1, 2 } },
     454             :     { 0x8000, { 21600, 0, 0x406 } }
     455             : };
     456             : static const SvxMSDffTextRectangles mso_sptIsocelesTriangleTextRect[] =
     457             : {
     458             :     { { 1 MSO_I, 10800 }, { 2 MSO_I, 18000 } },
     459             :     { { 3 MSO_I, 7200 }, { 4 MSO_I, 21600   } }
     460             : };
     461             : static const SvxMSDffVertPair mso_sptIsocelesTriangleGluePoints[] =
     462             : {
     463             :     { 10800, 0 }, { 1 MSO_I, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 7 MSO_I, 10800 }
     464             : };
     465             : static const SvxMSDffHandle mso_sptIsocelesTriangleHandle[] =
     466             : {
     467             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     468             :         0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
     469             : };
     470             : static const mso_CustomShape msoIsocelesTriangle =
     471             : {
     472             :     (SvxMSDffVertPair*)mso_sptIsocelesTriangleVert, SAL_N_ELEMENTS( mso_sptIsocelesTriangleVert ),
     473             :     (sal_uInt16*)mso_sptIsocelesTriangleSegm, sizeof( mso_sptIsocelesTriangleSegm ) >> 1,
     474             :     (SvxMSDffCalculationData*)mso_sptIsocelesTriangleCalc, SAL_N_ELEMENTS( mso_sptIsocelesTriangleCalc ),
     475             :     (sal_Int32*)mso_sptDefault10800,
     476             :     (SvxMSDffTextRectangles*)mso_sptIsocelesTriangleTextRect, SAL_N_ELEMENTS( mso_sptIsocelesTriangleTextRect ),
     477             :     21600, 21600,
     478             :     MIN_INT32, MIN_INT32,
     479             :     (SvxMSDffVertPair*)mso_sptIsocelesTriangleGluePoints, SAL_N_ELEMENTS( mso_sptIsocelesTriangleGluePoints ),
     480             :     (SvxMSDffHandle*)mso_sptIsocelesTriangleHandle, SAL_N_ELEMENTS( mso_sptIsocelesTriangleHandle )      // handles
     481             : };
     482             : 
     483             : static const SvxMSDffVertPair mso_sptHexagonVert[] =                // adjustment1 : 0 - 10800
     484             : {
     485             :     { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 10800 }, { 1 MSO_I, 21600 },
     486             :     { 0 MSO_I, 21600 }, { 0, 10800 }
     487             : };
     488             : static const sal_uInt16 mso_sptHexagonSegm[] =
     489             : {
     490             :     0x4000, 0x0005, 0x6001, 0x8000
     491             : };
     492             : static const SvxMSDffCalculationData mso_sptHexagonCalc[] =
     493             : {
     494             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     495             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
     496             :     { 0x2001, { DFF_Prop_adjustValue, 100, 234 } },
     497             :     { 0x2000, { 0x402, 1700, 0 } },
     498             :     { 0x8000, { 21600, 0, 0x403 } }
     499             : };
     500             : static const SvxMSDffTextRectangles mso_sptHexagonTextRect[] =
     501             : {
     502             :     { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
     503             : };
     504             : static const SvxMSDffHandle mso_sptHexagonHandle[] =
     505             : {
     506             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     507             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
     508             : };
     509             : static const mso_CustomShape msoHexagon =
     510             : {
     511             :     (SvxMSDffVertPair*)mso_sptHexagonVert, SAL_N_ELEMENTS( mso_sptHexagonVert ),
     512             :     (sal_uInt16*)mso_sptHexagonSegm, sizeof( mso_sptHexagonSegm ) >> 1,
     513             :     (SvxMSDffCalculationData*)mso_sptHexagonCalc, SAL_N_ELEMENTS( mso_sptHexagonCalc ),
     514             :     (sal_Int32*)mso_sptDefault5400,
     515             :     (SvxMSDffTextRectangles*)mso_sptHexagonTextRect, SAL_N_ELEMENTS( mso_sptHexagonTextRect ),
     516             :     21600, 21600,
     517             :     MIN_INT32, MIN_INT32,
     518             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
     519             :     (SvxMSDffHandle*)mso_sptHexagonHandle, SAL_N_ELEMENTS( mso_sptHexagonHandle )        // handles
     520             : };
     521             : 
     522             : static const SvxMSDffVertPair mso_sptPentagonVert[] =
     523             : {
     524             :     { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 17370, 21600 },
     525             :     { 21600, 8260 }, { 10800, 0 }
     526             : };
     527             : static const SvxMSDffTextRectangles mso_sptPentagonTextRect[] =
     528             : {
     529             :     { { 4230, 5080 }, { 17370, 21600 } }
     530             : };
     531             : static const SvxMSDffVertPair mso_sptPentagonGluePoints[] =
     532             : {
     533             :     { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 10800, 21600 },
     534             :     { 17370, 21600 }, { 21600, 8260 }
     535             : };
     536             : static const mso_CustomShape msoPentagon =
     537             : {
     538             :     (SvxMSDffVertPair*)mso_sptPentagonVert, SAL_N_ELEMENTS( mso_sptPentagonVert ),
     539             :     NULL, 0,
     540             :     NULL, 0,
     541             :     NULL,
     542             :     (SvxMSDffTextRectangles*)mso_sptPentagonTextRect, SAL_N_ELEMENTS( mso_sptPentagonTextRect ),
     543             :     21600, 21600,
     544             :     MIN_INT32, MIN_INT32,
     545             :     (SvxMSDffVertPair*)mso_sptPentagonGluePoints, SAL_N_ELEMENTS( mso_sptPentagonGluePoints ),
     546             :     NULL, 0     // handles
     547             : };
     548             : 
     549             : static const SvxMSDffVertPair mso_sptPlusVert[] =               // adjustment1 : 0 - 10800
     550             : {
     551             :     { 1 MSO_I, 0 }, { 2 MSO_I, 0 }, { 2 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I },
     552             :     { 21600, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 21600 }, { 1 MSO_I, 21600 },
     553             :     { 1 MSO_I, 3 MSO_I }, { 0, 3 MSO_I }, { 0, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 0 }
     554             : };
     555             : static const SvxMSDffCalculationData mso_sptPlusCalc[] =
     556             : {
     557             :     { 0x2001, { DFF_Prop_adjustValue, 10799, 10800 } },
     558             :     { 0x2000, { 0x400, 0, 0 } },
     559             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
     560             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
     561             : };
     562             : static const SvxMSDffTextRectangles mso_sptPlusTextRect[] =
     563             : {
     564             :     { { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } }
     565             : };
     566             : static const SvxMSDffHandle mso_sptPlusHandle[] =
     567             : {
     568             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
     569             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
     570             : };
     571             : static const mso_CustomShape msoPlus =
     572             : {
     573             :     (SvxMSDffVertPair*)mso_sptPlusVert, SAL_N_ELEMENTS( mso_sptPlusVert ),
     574             :     NULL, 0,
     575             :     (SvxMSDffCalculationData*)mso_sptPlusCalc, SAL_N_ELEMENTS( mso_sptPlusCalc ),
     576             :     (sal_Int32*)mso_sptDefault5400,
     577             :     (SvxMSDffTextRectangles*)mso_sptPlusTextRect, SAL_N_ELEMENTS( mso_sptPlusTextRect ),
     578             :     21600, 21600,
     579             :     10800, 10800,
     580             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
     581             :     (SvxMSDffHandle*)mso_sptPlusHandle, SAL_N_ELEMENTS( mso_sptPlusHandle )      // handles
     582             : };
     583             : 
     584             : static const SvxMSDffVertPair mso_sptCanVert[] =        // adjustment1 : 0 - 10800
     585             : {
     586             :     { 44, 0 },
     587             :     { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I },          // ccp
     588             :     { 0, 3 MSO_I },                                     // p
     589             :     { 0, 4 MSO_I }, { 20, 21600 }, { 44, 21600 },       // ccp
     590             :     { 68, 21600 }, { 88, 4 MSO_I }, { 88, 3 MSO_I },    // ccp
     591             :     { 88, 0 MSO_I },                                    // p
     592             :     { 88, 2 MSO_I }, { 68, 0 }, { 44, 0 },              // ccp
     593             :     { 44, 0 },                                          // p
     594             :     { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I },          // ccp
     595             :     { 0, 5 MSO_I }, { 20, 6 MSO_I }, { 44, 6 MSO_I },   // ccp
     596             :     { 68, 6 MSO_I },{ 88, 5 MSO_I }, { 88, 0 MSO_I },   // ccp
     597             :     { 88, 2 MSO_I },{ 68, 0 }, { 44, 0 }                // ccp
     598             : };
     599             : static const sal_uInt16 mso_sptCanSegm[] =
     600             : {
     601             :     0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x6001, 0x8000,
     602             :     0x4000, 0x2004, 0x6001, 0x8000
     603             : };
     604             : static const SvxMSDffCalculationData mso_sptCanCalc[] =
     605             : {
     606             :     { 0x2001, { DFF_Prop_adjustValue, 2, 4 } },     // 1/4
     607             :     { 0x2001, { 0x0400, 6, 11 } },
     608             :     { 0xa000, { 0x0400, 0, 0x0401 } },
     609             :     { 0x8000, { 21600, 0, 0x0400 } },
     610             :     { 0x6000, { 0x0403, 0x0401, 0 } },
     611             :     { 0x6000, { 0x0400, 0x0401, 0 } },
     612             :     { 0x2001, { DFF_Prop_adjustValue, 2, 2 } },
     613             :     { 0x0000, { 44, 0, 0 } }
     614             : };
     615             : static const SvxMSDffTextRectangles mso_sptCanTextRect[] =
     616             : {
     617             :     { { 0, 6 MSO_I }, { 88, 3 MSO_I } }
     618             : };
     619             : static const SvxMSDffVertPair mso_sptCanGluePoints[] =
     620             : {
     621             :     { 44, 6 MSO_I }, { 44, 0 }, { 0, 10800 }, { 44, 21600 }, { 88, 10800 }
     622             : };
     623             : static const SvxMSDffHandle mso_sptCanHandle[] =
     624             : {
     625             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     626             :         7 + 3, 0x100, 44, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
     627             : };
     628             : static const mso_CustomShape msoCan =
     629             : {
     630             :     (SvxMSDffVertPair*)mso_sptCanVert, SAL_N_ELEMENTS( mso_sptCanVert ),
     631             :     (sal_uInt16*)mso_sptCanSegm, sizeof( mso_sptCanSegm ) >> 1,
     632             :     (SvxMSDffCalculationData*)mso_sptCanCalc, SAL_N_ELEMENTS( mso_sptCanCalc ),
     633             :     (sal_Int32*)mso_sptDefault5400,
     634             :     (SvxMSDffTextRectangles*)mso_sptCanTextRect, SAL_N_ELEMENTS( mso_sptCanTextRect ),
     635             :     88, 21600,
     636             :     MIN_INT32, MIN_INT32,
     637             :     (SvxMSDffVertPair*)mso_sptCanGluePoints, SAL_N_ELEMENTS( mso_sptCanGluePoints ),
     638             :     (SvxMSDffHandle*)mso_sptCanHandle, SAL_N_ELEMENTS( mso_sptCanHandle )        // handles
     639             : };
     640             : 
     641             : static const SvxMSDffVertPair mso_sptArrowVert[] =  // adjustment1: x 0 - 21600
     642             : {                                                   // adjustment2: y 0 - 10800
     643             :     { 0, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
     644             :     { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }
     645             : };
     646             : static const sal_uInt16 mso_sptArrowSegm[] =
     647             : {
     648             :     0x4000, 0x0006, 0x6001, 0x8000
     649             : };
     650             : static const SvxMSDffCalculationData mso_sptArrowCalc[] =
     651             : {
     652             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
     653             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     654             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
     655             :     { 0x8000, { 21600, 0, 0x401 } },
     656             :     { 0x6001, { 0x403, 0x400, 10800 } },
     657             :     { 0x6000, { 0x401, 0x404, 0 } },
     658             :     { 0x6001, { 0x401, 0x400, 10800 } },
     659             :     { 0xa000, { 0x401, 0, 0x406 } }
     660             : };
     661             : static const SvxMSDffTextRectangles mso_sptArrowTextRect[] =
     662             : {
     663             :     { { 0, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
     664             : };
     665             : static const SvxMSDffHandle mso_sptArrowHandle[] =
     666             : {
     667             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     668             :         0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
     669             : };
     670             : static const mso_CustomShape msoArrow =
     671             : {
     672             :     (SvxMSDffVertPair*)mso_sptArrowVert, SAL_N_ELEMENTS( mso_sptArrowVert ),
     673             :     (sal_uInt16*)mso_sptArrowSegm, sizeof( mso_sptArrowSegm ) >> 1,
     674             :     (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
     675             :     (sal_Int32*)mso_sptDefault16200and5400,
     676             :     (SvxMSDffTextRectangles*)mso_sptArrowTextRect, SAL_N_ELEMENTS( mso_sptArrowTextRect ),
     677             :     21600, 21600,
     678             :     MIN_INT32, MIN_INT32,
     679             :     NULL, 0,
     680             :     (SvxMSDffHandle*)mso_sptArrowHandle, SAL_N_ELEMENTS( mso_sptArrowHandle )        // handles
     681             : };
     682             : 
     683             : static const SvxMSDffVertPair mso_sptLeftArrowVert[] =  // adjustment1: x 0 - 21600
     684             : {                                                       // adjustment2: y 0 - 10800
     685             :     { 21600, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 0, 10800 },
     686             :     { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }
     687             : };
     688             : static const sal_uInt16 mso_sptLeftArrowSegm[] =
     689             : {
     690             :     0x4000, 0x0006, 0x6001, 0x8000
     691             : };
     692             : static const sal_Int32 mso_sptLeftArrowDefault[] =
     693             : {
     694             :     2, 5400, 5400
     695             : };
     696             : static const SvxMSDffTextRectangles mso_sptLeftArrowTextRect[] =
     697             : {
     698             :     { { 7 MSO_I, 0 MSO_I }, { 21600, 2 MSO_I } }
     699             : };
     700             : static const SvxMSDffHandle mso_sptLeftArrowHandle[] =
     701             : {
     702             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     703             :         0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
     704             : };
     705             : static const mso_CustomShape msoLeftArrow =
     706             : {
     707             :     (SvxMSDffVertPair*)mso_sptLeftArrowVert, SAL_N_ELEMENTS( mso_sptLeftArrowVert ),
     708             :     (sal_uInt16*)mso_sptLeftArrowSegm, sizeof( mso_sptLeftArrowSegm ) >> 1,
     709             :     (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
     710             :     (sal_Int32*)mso_sptLeftArrowDefault,
     711             :     (SvxMSDffTextRectangles*)mso_sptLeftArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftArrowTextRect ),
     712             :     21600, 21600,
     713             :     MIN_INT32, MIN_INT32,
     714             :     NULL, 0,
     715             :     (SvxMSDffHandle*)mso_sptLeftArrowHandle, SAL_N_ELEMENTS( mso_sptLeftArrowHandle )        // handles
     716             : };
     717             : 
     718             : static const SvxMSDffVertPair mso_sptDownArrowVert[] =  // adjustment1: x 0 - 21600
     719             : {                                                       // adjustment2: y 0 - 10800
     720             :     { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 21600 },
     721             :     { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 }
     722             : };
     723             : static const sal_uInt16 mso_sptDownArrowSegm[] =
     724             : {
     725             :     0x4000, 0x0006, 0x6001, 0x8000
     726             : };
     727             : static const SvxMSDffTextRectangles mso_sptDownArrowTextRect[] =
     728             : {
     729             :     { { 0 MSO_I, 0 }, { 2 MSO_I, 5 MSO_I } }
     730             : };
     731             : static const SvxMSDffHandle mso_sptDownArrowHandle[] =
     732             : {
     733             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     734             :         0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
     735             : };
     736             : static const mso_CustomShape msoDownArrow =
     737             : {
     738             :     (SvxMSDffVertPair*)mso_sptDownArrowVert, SAL_N_ELEMENTS( mso_sptDownArrowVert ),
     739             :     (sal_uInt16*)mso_sptDownArrowSegm, sizeof( mso_sptDownArrowSegm ) >> 1,
     740             :     (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
     741             :     (sal_Int32*)mso_sptDefault16200and5400,
     742             :     (SvxMSDffTextRectangles*)mso_sptDownArrowTextRect, SAL_N_ELEMENTS( mso_sptDownArrowTextRect ),
     743             :     21600, 21600,
     744             :     MIN_INT32, MIN_INT32,
     745             :     NULL, 0,
     746             :     (SvxMSDffHandle*)mso_sptDownArrowHandle, SAL_N_ELEMENTS( mso_sptDownArrowHandle )        // handles
     747             : };
     748             : 
     749             : static const SvxMSDffVertPair mso_sptUpArrowVert[] =    // adjustment1: x 0 - 21600
     750             : {                                                       // adjustment2: y 0 - 10800
     751             :     { 0 MSO_I, 21600 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 0 },
     752             :     { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
     753             : };
     754             : static const sal_uInt16 mso_sptUpArrowSegm[] =
     755             : {
     756             :     0x4000, 0x0006, 0x6001, 0x8000
     757             : };
     758             : static const sal_Int32 mso_sptUpArrowDefault[] =
     759             : {
     760             :     2, 5400, 5400
     761             : };
     762             : static const SvxMSDffTextRectangles mso_sptUpArrowTextRect[] =
     763             : {
     764             :     { { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 21600 } }
     765             : };
     766             : static const SvxMSDffHandle mso_sptUpArrowHandle[] =
     767             : {
     768             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     769             :         0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
     770             : };
     771             : static const mso_CustomShape msoUpArrow =
     772             : {
     773             :     (SvxMSDffVertPair*)mso_sptUpArrowVert, SAL_N_ELEMENTS( mso_sptUpArrowVert ),
     774             :     (sal_uInt16*)mso_sptUpArrowSegm, sizeof( mso_sptUpArrowSegm ) >> 1,
     775             :     (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
     776             :     (sal_Int32*)mso_sptUpArrowDefault,
     777             :     (SvxMSDffTextRectangles*)mso_sptUpArrowTextRect, SAL_N_ELEMENTS( mso_sptUpArrowTextRect ),
     778             :     21600, 21600,
     779             :     MIN_INT32, MIN_INT32,
     780             :     NULL, 0,
     781             :     (SvxMSDffHandle*)mso_sptUpArrowHandle, SAL_N_ELEMENTS( mso_sptUpArrowHandle )        // handles
     782             : };
     783             : 
     784             : static const SvxMSDffVertPair mso_sptLeftRightArrowVert[] = // adjustment1: x 0 - 10800
     785             : {                                                           // adjustment2: y 0 - 10800
     786             :     { 0, 10800 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
     787             :     { 2 MSO_I, 0 }, { 21600, 10800 }, { 2 MSO_I, 21600 }, { 2 MSO_I, 3 MSO_I },
     788             :     { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 21600 }
     789             : };
     790             : static const sal_uInt16 mso_sptLeftRightArrowSegm[] =
     791             : {
     792             :     0x4000, 0x0009, 0x6001, 0x8000
     793             : };
     794             : static const SvxMSDffCalculationData mso_sptDoubleArrowCalc[] =
     795             : {
     796             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     797             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
     798             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
     799             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
     800             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
     801             :     { 0x6001, { DFF_Prop_adjustValue, 0x404, 10800 } },
     802             :     { 0x8000, { 21600, 0, 0x405 } },
     803             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
     804             :     { 0x6001, { DFF_Prop_adjust2Value, 0x407, 10800 } },
     805             :     { 0x8000, { 21600, 0, 0x408 } }
     806             : };
     807             : static const sal_Int32 mso_sptLeftRightArrowDefault[] =
     808             : {
     809             :     2, 4300, 5400
     810             : };
     811             : static const SvxMSDffTextRectangles mso_sptLeftRightArrowTextRect[] =
     812             : {
     813             :     { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 3 MSO_I } }
     814             : };
     815             : static const SvxMSDffHandle mso_sptLeftRightArrowHandle[] =
     816             : {
     817             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     818             :         0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
     819             : };
     820             : static const mso_CustomShape msoLeftRightArrow =
     821             : {
     822             :     (SvxMSDffVertPair*)mso_sptLeftRightArrowVert, SAL_N_ELEMENTS( mso_sptLeftRightArrowVert ),
     823             :     (sal_uInt16*)mso_sptLeftRightArrowSegm, sizeof( mso_sptLeftRightArrowSegm ) >> 1,
     824             :     (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, SAL_N_ELEMENTS( mso_sptDoubleArrowCalc ),
     825             :     (sal_Int32*)mso_sptLeftRightArrowDefault,
     826             :     (SvxMSDffTextRectangles*)mso_sptLeftRightArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftRightArrowTextRect ),
     827             :     21600, 21600,
     828             :     MIN_INT32, MIN_INT32,
     829             :     NULL, 0,
     830             :     (SvxMSDffHandle*)mso_sptLeftRightArrowHandle, SAL_N_ELEMENTS( mso_sptLeftRightArrowHandle )      // handles
     831             : };
     832             : 
     833             : static const SvxMSDffVertPair mso_sptUpDownArrowVert[] =    // adjustment1: x 0 - 10800
     834             : {                                                           // adjustment2: y 0 - 10800
     835             :     { 0, 1 MSO_I }, { 10800, 0 }, { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
     836             :     { 2 MSO_I, 3 MSO_I }, { 21600, 3 MSO_I }, { 10800, 21600 }, { 0, 3 MSO_I },
     837             :     { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
     838             : };
     839             : static const sal_uInt16 mso_sptUpDownArrowSegm[] =
     840             : {
     841             :     0x4000, 0x0009, 0x6001, 0x8000
     842             : };
     843             : static const sal_Int32 mso_sptUpDownArrowDefault[] =
     844             : {
     845             :     2, 5400, 4300
     846             : };
     847             : static const SvxMSDffTextRectangles mso_sptUpDownArrowTextRect[] =
     848             : {
     849             :     { { 0 MSO_I, 8 MSO_I }, { 2 MSO_I, 9 MSO_I } }
     850             : };
     851             : static const SvxMSDffHandle mso_sptUpDownArrowHandle[] =
     852             : {
     853             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     854             :         0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
     855             : };
     856             : static const mso_CustomShape msoUpDownArrow =
     857             : {
     858             :     (SvxMSDffVertPair*)mso_sptUpDownArrowVert, SAL_N_ELEMENTS( mso_sptUpDownArrowVert ),
     859             :     (sal_uInt16*)mso_sptUpDownArrowSegm, sizeof( mso_sptUpDownArrowSegm ) >> 1,
     860             :     (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, SAL_N_ELEMENTS( mso_sptDoubleArrowCalc ),
     861             :     (sal_Int32*)mso_sptUpDownArrowDefault,
     862             :     (SvxMSDffTextRectangles*)mso_sptUpDownArrowTextRect, SAL_N_ELEMENTS( mso_sptUpDownArrowTextRect ),
     863             :     21600, 21600,
     864             :     MIN_INT32, MIN_INT32,
     865             :     NULL, 0,
     866             :     (SvxMSDffHandle*)mso_sptUpDownArrowHandle, SAL_N_ELEMENTS( mso_sptUpDownArrowHandle )        // handles
     867             : };
     868             : 
     869             : static const SvxMSDffVertPair mso_sptQuadArrowVert[] =  // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
     870             : {                                                       // adjustment3: y 0 - 10800
     871             :     { 0, 10800 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 2 MSO_I, 2 MSO_I },
     872             :     { 2 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 10800, 0 }, { 3 MSO_I, 0 MSO_I },
     873             :     { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 1 MSO_I },
     874             :     { 21600, 10800 }, { 5 MSO_I, 3 MSO_I }, { 5 MSO_I, 4 MSO_I }, { 4 MSO_I, 4 MSO_I },
     875             :     { 4 MSO_I, 5 MSO_I }, { 3 MSO_I, 5 MSO_I }, { 10800, 21600 }, { 1 MSO_I, 5 MSO_I },
     876             :     { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 3 MSO_I }
     877             : };
     878             : static const sal_uInt16 mso_sptQuadArrowSegm[] =
     879             : {
     880             :     0x4000, 0x0017, 0x6001, 0x8000
     881             : };
     882             : static const SvxMSDffCalculationData mso_sptQuadArrowCalc[] =
     883             : {
     884             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
     885             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     886             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
     887             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
     888             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
     889             :     { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } }
     890             : };
     891             : static const sal_Int32 mso_sptQuadArrowDefault[] =
     892             : {
     893             :     3, 6500, 8600, 4300
     894             : };
     895             : static const SvxMSDffTextRectangles mso_sptQuadArrowTextRect[] =    // todo
     896             : {
     897             :     { { 0, 0 }, { 21600, 21600 } }
     898             : };
     899             : static const SvxMSDffHandle mso_sptQuadArrowHandle[] =
     900             : {
     901             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
     902             :         0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
     903             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
     904             :         0x100, 0, 10800, 10800, 0x102, 0x101, MIN_INT32, 0x7fffffff }
     905             : };
     906             : static const mso_CustomShape msoQuadArrow =
     907             : {
     908             :     (SvxMSDffVertPair*)mso_sptQuadArrowVert, SAL_N_ELEMENTS( mso_sptQuadArrowVert ),
     909             :     (sal_uInt16*)mso_sptQuadArrowSegm, sizeof( mso_sptQuadArrowSegm ) >> 1,
     910             :     (SvxMSDffCalculationData*)mso_sptQuadArrowCalc, SAL_N_ELEMENTS( mso_sptQuadArrowCalc ),
     911             :     (sal_Int32*)mso_sptQuadArrowDefault,
     912             :     (SvxMSDffTextRectangles*)mso_sptQuadArrowTextRect, SAL_N_ELEMENTS( mso_sptQuadArrowTextRect ),
     913             :     21600, 21600,
     914             :     MIN_INT32, MIN_INT32,
     915             :     NULL, 0,
     916             :     (SvxMSDffHandle*)mso_sptQuadArrowHandle, SAL_N_ELEMENTS( mso_sptQuadArrowHandle )        // handles
     917             : };
     918             : 
     919             : static const SvxMSDffVertPair mso_sptLeftRightUpArrowVert[] =   // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
     920             : {                                                               // adjustment3: y 0 - 21600
     921             :     { 10800, 0 }, { 3 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 4 MSO_I, 1 MSO_I },
     922             :     { 5 MSO_I, 1 MSO_I }, { 5 MSO_I, 0 MSO_I }, { 21600, 10800 }, { 5 MSO_I, 3 MSO_I },
     923             :     { 5 MSO_I, 4 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0, 10800 },
     924             :     { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 2 MSO_I },
     925             :     { 0 MSO_I, 2 MSO_I }
     926             : };
     927             : static const sal_uInt16 mso_sptLeftRightUpArrowSegm[] =
     928             : {
     929             :     0x4000, 0x0010, 0x6001, 0x8000
     930             : };
     931             : static const SvxMSDffCalculationData mso_sptLeftRightUpArrowCalc[] =
     932             : {
     933             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },             // 0
     934             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },            // 1
     935             :     { 0x6001, { 0x0403, DFF_Prop_adjust3Value, 21600 } },   // 2
     936             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },         // 3
     937             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },        // 4
     938             :     { 0x8000, { 21600, 0, 0x0402 } }                        // 5
     939             : };
     940             : static const sal_Int32 mso_sptLeftRightUpArrowDefault[] =
     941             : {
     942             :     3, 6500, 8600, 6200
     943             : };
     944             : static const SvxMSDffTextRectangles mso_sptLeftRightUpArrowTextRect[] =     // todo
     945             : {
     946             :     { { 0, 0 }, { 21600, 21600 } }
     947             : };
     948             : static const SvxMSDffHandle mso_sptLeftRightUpArrowHandle[] =
     949             : {
     950             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
     951             :         0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
     952             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
     953             :         0x100, 0, 10800, 10800, 0x102, 0x101, MIN_INT32, 0x7fffffff }
     954             : };
     955             : static const mso_CustomShape msoLeftRightUpArrow =
     956             : {
     957             :     (SvxMSDffVertPair*)mso_sptLeftRightUpArrowVert, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowVert ),
     958             :     (sal_uInt16*)mso_sptLeftRightUpArrowSegm, sizeof( mso_sptLeftRightUpArrowSegm ) >> 1,
     959             :     (SvxMSDffCalculationData*)mso_sptLeftRightUpArrowCalc, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowCalc ),
     960             :     (sal_Int32*)mso_sptLeftRightUpArrowDefault,
     961             :     (SvxMSDffTextRectangles*)mso_sptLeftRightUpArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowTextRect ),
     962             :     21600, 21600,
     963             :     MIN_INT32, MIN_INT32,
     964             :     NULL, 0,
     965             :     (SvxMSDffHandle*)mso_sptLeftRightUpArrowHandle, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowHandle )      // handles
     966             : };
     967             : 
     968             : static const SvxMSDffVertPair mso_sptBentArrowVert[] =  // adjustment1 : x 12427 - 21600
     969             : {                                                       // adjustment2 : y 0 - 6079
     970             :     { 0, 21600 }, { 0, 12160 }, { 12427, 1 MSO_I }, { 0 MSO_I, 1 MSO_I },
     971             :     { 0 MSO_I, 0 }, { 21600, 6079 }, { 0 MSO_I, 12158 }, { 0 MSO_I, 2 MSO_I },
     972             :     { 12427, 2 MSO_I }, { 4 MSO_I, 12160 }, { 4 MSO_I, 21600 }
     973             : };
     974             : static const sal_uInt16 mso_sptBentArrowSegm[] =
     975             : {
     976             :     0x4000, 0x0001, 0xa801, 0x0006, 0xa701, 0x0001, 0x6001, 0x8000
     977             : };
     978             : static const SvxMSDffCalculationData mso_sptBentArrowCalc[] =
     979             : {
     980             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
     981             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
     982             :     { 0x8000, { 12158, 0, DFF_Prop_adjust2Value } },
     983             :     { 0x8000, { 6079, 0, DFF_Prop_adjust2Value } },
     984             :     { 0x2001, { 0x0403, 2, 1 } }
     985             : };
     986             : static const sal_Int32 mso_sptBentArrowDefault[] =
     987             : {
     988             :     2, 15100, 2900
     989             : };
     990             : static const SvxMSDffTextRectangles mso_sptBentArrowTextRect[] =    // todo
     991             : {
     992             :     { { 0, 0 }, { 21600, 21600 } }
     993             : };
     994             : static const SvxMSDffHandle mso_sptBentArrowHandle[] =
     995             : {
     996             :     {   MSDFF_HANDLE_FLAGS_RANGE,
     997             :         0x100, 0x101, 10800, 10800, 12427, 21600, 0, 6079 }
     998             : };
     999             : static const mso_CustomShape msoBentArrow =
    1000             : {
    1001             :     (SvxMSDffVertPair*)mso_sptBentArrowVert, SAL_N_ELEMENTS( mso_sptBentArrowVert ),
    1002             :     (sal_uInt16*)mso_sptBentArrowSegm, sizeof( mso_sptBentArrowSegm ) >> 1,
    1003             :     (SvxMSDffCalculationData*)mso_sptBentArrowCalc, SAL_N_ELEMENTS( mso_sptBentArrowCalc ),
    1004             :     (sal_Int32*)mso_sptBentArrowDefault,
    1005             :     (SvxMSDffTextRectangles*)mso_sptBentArrowTextRect, SAL_N_ELEMENTS( mso_sptBentArrowTextRect ),
    1006             :     21600, 21600,
    1007             :     MIN_INT32, MIN_INT32,
    1008             :     NULL, 0,
    1009             :     (SvxMSDffHandle*)mso_sptBentArrowHandle, SAL_N_ELEMENTS( mso_sptBentArrowHandle )        // handles
    1010             : };
    1011             : 
    1012             : static const SvxMSDffVertPair mso_sptUturnArrowVert[] =
    1013             : {
    1014             :     { 0, 21600 }, { 0, 8550 },                                          // pp
    1015             :     { 0, 3540 }, { 4370, 0 }, { 9270, 0 },                              // ccp
    1016             :     { 13890, 0 }, { 18570, 3230 }, { 18600, 8300 },                     // ccp
    1017             :     { 21600, 8300 }, { 15680, 14260 }, { 9700, 8300 }, { 12500, 8300 }, // pppp
    1018             :     { 12320, 6380 }, { 10870, 5850 }, { 9320, 5850 },                   // ccp
    1019             :     { 7770, 5850 }, { 6040, 6410 }, { 6110, 8520 },                     // ccp
    1020             :     { 6110, 21600 }
    1021             : };
    1022             : static const sal_uInt16 mso_sptUturnArrowSegm[] =
    1023             : {
    1024             :     0x4000, 0x0001, 0x2002, 0x0004, 0x2002, 0x0001, 0x6000, 0x8000
    1025             : };
    1026             : static const SvxMSDffTextRectangles mso_sptUturnArrowTextRect[] =
    1027             : {
    1028             :     { { 0, 8280 }, { 6110, 21600 } }
    1029             : };
    1030             : static const mso_CustomShape msoUturnArrow =
    1031             : {
    1032             :     (SvxMSDffVertPair*)mso_sptUturnArrowVert, SAL_N_ELEMENTS( mso_sptUturnArrowVert ),
    1033             :     (sal_uInt16*)mso_sptUturnArrowSegm, sizeof( mso_sptUturnArrowSegm ) >> 1,
    1034             :     NULL, 0,
    1035             :     NULL,
    1036             :     (SvxMSDffTextRectangles*)mso_sptUturnArrowTextRect, SAL_N_ELEMENTS( mso_sptUturnArrowTextRect ),
    1037             :     21600, 21600,
    1038             :     MIN_INT32, MIN_INT32,
    1039             :     NULL, 0,
    1040             :     NULL, 0     // handles
    1041             : };
    1042             : 
    1043             : static const SvxMSDffVertPair mso_sptLeftUpArrowVert[] =    // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
    1044             : {                                                           // adjustment3 : y 0 - 21600
    1045             :     { 0, 5 MSO_I }, { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 7 MSO_I, 7 MSO_I },
    1046             :     { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 }, { 21600, 2 MSO_I },
    1047             :     { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
    1048             : };
    1049             : static const sal_uInt16 mso_sptLeftUpArrowSegm[] =
    1050             : {
    1051             :     0x4000, 0x000b, 0x6001, 0x8000
    1052             : };
    1053             : static const SvxMSDffCalculationData mso_sptLeftUpArrowCalc[] =
    1054             : {
    1055             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 0
    1056             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },        // 1
    1057             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },        // 2
    1058             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
    1059             :     { 0x2001, { 0x0403, 1, 2 } },                       // 4
    1060             :     { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } },    // 5
    1061             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },    // 6
    1062             :     { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } },    // 7
    1063             :     { 0x8000, { 21600, 0, 0x406 } },                    // 8
    1064             :     { 0xa000, { 0x408, 0, 0x406 } }                 // 9
    1065             : };
    1066             : static const sal_Int32 mso_sptLeftUpArrowDefault[] =
    1067             : {
    1068             :     3, 9340, 18500, 6200
    1069             : };
    1070             : static const SvxMSDffTextRectangles mso_sptLeftUpArrowTextRect[] =
    1071             : {
    1072             :     { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
    1073             :     { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
    1074             : };
    1075             : static const SvxMSDffHandle mso_sptLeftUpArrowHandle[] =
    1076             : {
    1077             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
    1078             :         0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
    1079             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1080             :         0x100, 0, 10800, 10800, 0x102, 3 + 9, MIN_INT32, 0x7fffffff }
    1081             : };
    1082             : static const mso_CustomShape msoLeftUpArrow =
    1083             : {
    1084             :     (SvxMSDffVertPair*)mso_sptLeftUpArrowVert, SAL_N_ELEMENTS( mso_sptLeftUpArrowVert ),
    1085             :     (sal_uInt16*)mso_sptLeftUpArrowSegm, sizeof( mso_sptLeftUpArrowSegm ) >> 1,
    1086             :     (SvxMSDffCalculationData*)mso_sptLeftUpArrowCalc, SAL_N_ELEMENTS( mso_sptLeftUpArrowCalc ),
    1087             :     (sal_Int32*)mso_sptLeftUpArrowDefault,
    1088             :     (SvxMSDffTextRectangles*)mso_sptLeftUpArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftUpArrowTextRect ),
    1089             :     21600, 21600,
    1090             :     MIN_INT32, MIN_INT32,
    1091             :     NULL, 0,
    1092             :     (SvxMSDffHandle*)mso_sptLeftUpArrowHandle, SAL_N_ELEMENTS( mso_sptLeftUpArrowHandle )        // handles
    1093             : };
    1094             : 
    1095             : static const SvxMSDffVertPair mso_sptBentUpArrowVert[] =    // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
    1096             : {                                                           // adjustment3 : y 0 - 21600
    1097             :     { 0, 8 MSO_I }, { 7 MSO_I, 8 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I },
    1098             :     { 5 MSO_I, 0 }, { 21600, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 21600 },
    1099             :     { 0, 21600 }
    1100             : };
    1101             : static const sal_uInt16 mso_sptBentUpArrowSegm[] =
    1102             : {
    1103             :     0x4000, 0x0008, 0x6001, 0x8000
    1104             : };
    1105             : static const SvxMSDffCalculationData mso_sptBentUpArrowCalc[] =
    1106             : {
    1107             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 0
    1108             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },        // 1
    1109             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },        // 2
    1110             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
    1111             :     { 0x2001, { 0x0403, 1, 2 } },                       // 4
    1112             :     { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } },    // 5
    1113             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },    // 6
    1114             :     { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } },    // 7
    1115             :     { 0x6000, { 0x0407, 0x0406, 0 } },                  // 8
    1116             :     { 0x8000, { 21600, 0, 0x406 } },                    // 9
    1117             :     { 0xa000, { 0x409, 0, 0x406 } }                 // a
    1118             : };
    1119             : static const sal_Int32 mso_sptBentUpArrowDefault[] =
    1120             : {
    1121             :     3, 9340, 18500, 7200
    1122             : };
    1123             : static const SvxMSDffTextRectangles mso_sptBentUpArrowTextRect[] =
    1124             : {
    1125             :     { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
    1126             :     { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
    1127             : };
    1128             : static const SvxMSDffHandle mso_sptBentUpArrowHandle[] =
    1129             : {
    1130             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
    1131             :         0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
    1132             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1133             :         0x100, 0, 10800, 10800, 0x102, 3 + 10, MIN_INT32, 0x7fffffff }
    1134             : };
    1135             : static const mso_CustomShape msoBentUpArrow =
    1136             : {
    1137             :     (SvxMSDffVertPair*)mso_sptBentUpArrowVert, SAL_N_ELEMENTS( mso_sptBentUpArrowVert ),
    1138             :     (sal_uInt16*)mso_sptBentUpArrowSegm, sizeof( mso_sptBentUpArrowSegm ) >> 1,
    1139             :     (SvxMSDffCalculationData*)mso_sptBentUpArrowCalc, SAL_N_ELEMENTS( mso_sptBentUpArrowCalc ),
    1140             :     (sal_Int32*)mso_sptBentUpArrowDefault,
    1141             :     (SvxMSDffTextRectangles*)mso_sptBentUpArrowTextRect, SAL_N_ELEMENTS( mso_sptBentUpArrowTextRect ),
    1142             :     21600, 21600,
    1143             :     MIN_INT32, MIN_INT32,
    1144             :     NULL, 0,
    1145             :     (SvxMSDffHandle*)mso_sptBentUpArrowHandle, SAL_N_ELEMENTS( mso_sptBentUpArrowHandle )
    1146             : };
    1147             : 
    1148             : static const SvxMSDffVertPair mso_sptCurvedRightVert[] =
    1149             : {
    1150             :     { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 0, 7 MSO_I }, { 2 MSO_I, 13 MSO_I },
    1151             :     { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I },
    1152             :     { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I },
    1153             :     { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I },
    1154             :     { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 0, 4 MSO_I }, { 26 MSO_I, 17 MSO_I },
    1155             :     { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I }
    1156             : };
    1157             : static const sal_uInt16 mso_sptCurvedRightSegm[] =
    1158             : {
    1159             :     0xa408,
    1160             :     0x0003,
    1161             :     0xa508,
    1162             :     0x6000,
    1163             :     0x8000,
    1164             :     0xa404,
    1165             :     0xa304,
    1166             :     0xa504,
    1167             :     0x6000,
    1168             :     0x8000
    1169             : };
    1170             : static const SvxMSDffCalculationData mso_sptCurvedRightCalc[] =
    1171             : {
    1172             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1173             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1174             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1175             :     { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
    1176             :     { 0x2001, { 0x403, 1, 2 } },
    1177             :     { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
    1178             :     { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
    1179             :     { 0x2001, { 0x406, 1, 2 } },
    1180             :     { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
    1181             :     { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } },
    1182             :     { 0xa00f, { 0x409, 21600, 0x404 } },
    1183             :     { 0x6000, { 0x404, 0x40a, 0 } },
    1184             :     { 0x6000, { 0x40b, DFF_Prop_adjust2Value, 21600 } },
    1185             :     { 0x6000, { 0x407, 0x40a, 0 } },
    1186             :     { 0xa000, { 0x40c, 21600, DFF_Prop_adjustValue } },
    1187             :     { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
    1188             :     { 0x2001, { 0x40f, 1, 2 } },
    1189             :     { 0x6002, { 0x404, 0x407, 0 } },
    1190             :     { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
    1191             :     { 0x2001, { 0x412, 1, 2 } },
    1192             :     { 0xa000, { 0x411, 0, 0x413 } },
    1193             :     { 0x0000, { 21600, 0, 0 } },
    1194             :     { 0x0000, { 21600, 0, 0 } },
    1195             :     { 0x0001, { 21600, 2, 1 } },
    1196             :     { 0xa000, { 0x411, 0, 0x404 } },
    1197             :     { 0x600f, { 0x418, 0x404, 21600 } },
    1198             :     { 0x8000, { 21600, 0, 0x419 } },
    1199             :     { 0x2000, { 0x408, 128, 0 } },
    1200             :     { 0x2001, { 0x405, 1, 2 } },
    1201             :     { 0x2000, { 0x405, 0, 128 } },
    1202             :     { 0xe000, { DFF_Prop_adjustValue, 0x411, 0x40c } },
    1203             :     { 0x600f, { 0x414, 0x404, 21600 } },
    1204             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    1205             :     { 0x2001, { 0x420, 1, 2 } },
    1206             :     { 0x0001, { 21600, 21600, 1 } },
    1207             :     { 0x6001, { 0x409, 0x409, 1 } },
    1208             :     { 0xa000, { 0x422, 0, 0x423 } },
    1209             :     { 0x200d, { 0x424, 0, 0 } },
    1210             :     { 0x2000, { 0x425, 21600, 0 } },
    1211             :     { 0x8001, { 21600, 21600, 0x426 } },
    1212             :     { 0x2000, { 0x427, 64, 0 } },
    1213             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
    1214             :     { 0x600f, { 0x421, 0x429, 21600 } },
    1215             :     { 0x8000, { 21600, 0, 0x42a } },
    1216             :     { 0x2000, { 0x42b, 64, 0 } },
    1217             :     { 0x2001, { 0x404, 1, 2 } },
    1218             :     { 0xa000, { DFF_Prop_adjust2Value, 0, 0x42d } },
    1219             :     { 0x0001, { 21600, 2195, 16384 } },
    1220             :     { 0x0001, { 21600, 14189, 16384 } }
    1221             : };
    1222             : static const sal_Int32 mso_sptCurvedRightDefault[] =
    1223             : {
    1224             :     3, 12960, 19440, 14400
    1225             : };
    1226             : static const SvxMSDffTextRectangles mso_sptCurvedRightTextRect[] =
    1227             : {
    1228             :     { { 47 MSO_I, 45 MSO_I }, { 48 MSO_I, 46 MSO_I } }
    1229             : };
    1230             : static const SvxMSDffVertPair mso_sptCurvedRightGluePoints[] =
    1231             : {
    1232             :     { 0, 17 MSO_I }, { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I }, { 22 MSO_I, 16 MSO_I }
    1233             : };
    1234             : static const SvxMSDffHandle mso_sptCurvedRightHandles[] =
    1235             : {
    1236             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1237             :         21600, 0x100, 10800, 10800, 0, 10800, 3 + 40, 3 + 29 },
    1238             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1239             :         21600, 0x101, 10800, 10800, 0, 10800, 3 + 27, 3 + 21 },
    1240             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1241             :         0x102, 21600, 10800, 10800, 3 + 44, 3 + 22, 3375, 21600 }
    1242             : };
    1243             : static const mso_CustomShape msoCurvedRightArrow =
    1244             : {
    1245             :     (SvxMSDffVertPair*)mso_sptCurvedRightVert, SAL_N_ELEMENTS( mso_sptCurvedRightVert ),
    1246             :     (sal_uInt16*)mso_sptCurvedRightSegm, sizeof( mso_sptCurvedRightSegm ) >> 1,
    1247             :     (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, SAL_N_ELEMENTS( mso_sptCurvedRightCalc ),
    1248             :     (sal_Int32*)mso_sptCurvedRightDefault,
    1249             :     (SvxMSDffTextRectangles*)mso_sptCurvedRightTextRect, SAL_N_ELEMENTS( mso_sptCurvedRightTextRect ),
    1250             :     21600, 21600,
    1251             :     MIN_INT32, MIN_INT32,
    1252             :     (SvxMSDffVertPair*)mso_sptCurvedRightGluePoints, SAL_N_ELEMENTS( mso_sptCurvedRightGluePoints ),
    1253             :     (SvxMSDffHandle*)mso_sptCurvedRightHandles, SAL_N_ELEMENTS( mso_sptCurvedRightHandles )
    1254             : };
    1255             : 
    1256             : static const SvxMSDffVertPair mso_sptCurvedDownVert[] =
    1257             : {
    1258             :    { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
    1259             :    { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 7 MSO_I, 0 }, { 13 MSO_I, 2 MSO_I },
    1260             :    { 14 MSO_I, 2 MSO_I }, { 8 MSO_I, 22 MSO_I }, { 12 MSO_I, 2 MSO_I },
    1261             :    { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 11 MSO_I, 2 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 0 },
    1262             :    { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I },
    1263             :    { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
    1264             :    { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 4 MSO_I, 0 }, { 17 MSO_I, 26 MSO_I },
    1265             :    { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I }
    1266             : };
    1267             : static const sal_uInt16 mso_sptCurvedDownSegm[] =
    1268             : {
    1269             :     0xa608,
    1270             :     0x0003,
    1271             :     0xa308,
    1272             :     0x6000,
    1273             :     0x8000,
    1274             :    0xa604,
    1275             :    0xa504,
    1276             :    0xa304,
    1277             :    0x6000,
    1278             :    0x8000
    1279             : };
    1280             : static const SvxMSDffTextRectangles mso_sptCurvedDownTextRect[] =
    1281             : {
    1282             :    { { 45 MSO_I, 47 MSO_I }, { 46 MSO_I, 48 MSO_I } }
    1283             : };
    1284             : static const SvxMSDffVertPair mso_sptCurvedDownGluePoints[] =
    1285             : {
    1286             :    { 17 MSO_I, 0 }, { 16 MSO_I, 22 MSO_I }, { 12 MSO_I, 2 MSO_I }, { 8 MSO_I, 22 MSO_I }, { 14 MSO_I, 2 MSO_I }
    1287             : };
    1288             : static const SvxMSDffHandle mso_sptCurvedDownHandles[] =
    1289             : {
    1290             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1291             :        0x100, 21600, 10800, 10800, 3 + 40, 3 + 29, 0, 10800 },
    1292             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1293             :        0x101, 21600, 10800, 10800, 3 + 27, 3 + 21, 0, 10800 },
    1294             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1295             :        21600, 0x102, 10800, 10800, 3375, 21600, 3 + 44, 3 + 22 }
    1296             : };
    1297             : 
    1298             : static const mso_CustomShape msoCurvedDownArrow =
    1299             : {
    1300             :    (SvxMSDffVertPair*)mso_sptCurvedDownVert, SAL_N_ELEMENTS( mso_sptCurvedDownVert ),
    1301             :    (sal_uInt16*)mso_sptCurvedDownSegm, sizeof( mso_sptCurvedDownSegm ) >> 1,
    1302             :    (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, SAL_N_ELEMENTS( mso_sptCurvedRightCalc ),
    1303             :    (sal_Int32*)mso_sptCurvedRightDefault,
    1304             :    (SvxMSDffTextRectangles*)mso_sptCurvedDownTextRect, SAL_N_ELEMENTS( mso_sptCurvedDownTextRect ),
    1305             :    21600, 21600,
    1306             :    MIN_INT32, MIN_INT32,
    1307             :    (SvxMSDffVertPair*)mso_sptCurvedDownGluePoints, SAL_N_ELEMENTS( mso_sptCurvedDownGluePoints ),
    1308             :    (SvxMSDffHandle*)mso_sptCurvedDownHandles, SAL_N_ELEMENTS( mso_sptCurvedDownHandles )
    1309             : };
    1310             : 
    1311             : static const SvxMSDffVertPair mso_sptCurvedUpVert[] =
    1312             : {
    1313             :    { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
    1314             :    { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I },
    1315             :    { 12 MSO_I, 2 MSO_I }, { 13 MSO_I, 2 MSO_I }, { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I },
    1316             :    { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 10 MSO_I, 2 MSO_I }, { 16 MSO_I, 24 MSO_I },
    1317             :    { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 },
    1318             :    { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
    1319             :    { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I },
    1320             :    { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 }
    1321             : };
    1322             : static const sal_uInt16 mso_sptCurvedUpSegm[] =
    1323             : {
    1324             :    0xa408,
    1325             :    0x0003,
    1326             :    0xa508,
    1327             :    0x6000,
    1328             :    0x8000,
    1329             :    0xa404,
    1330             :    0xa508,
    1331             :    0xa504,
    1332             :    0x6000,
    1333             :    0x8000
    1334             : };
    1335             : static const SvxMSDffCalculationData mso_sptCurvedUpCalc[] =
    1336             : {
    1337             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1338             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1339             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1340             :     { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
    1341             :     { 0x2001, { 0x403, 1, 2 } },
    1342             :     { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
    1343             :     { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
    1344             :     { 0x2001, { 0x406, 1, 2 } },
    1345             :     { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
    1346             :     { 0xa00f, { DFF_Prop_adjust3Value, 21600, 0x404 } },
    1347             :     { 0x6000, { 0x404, 0x409, 0 } },
    1348             :     { 0x6000, { 0x40a, DFF_Prop_adjust2Value, 21600 } },
    1349             :     { 0x6000, { 0x407, 0x409, 0 } },
    1350             :     { 0xa000, { 0x40b, 21600, DFF_Prop_adjustValue } },
    1351             :     { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
    1352             :     { 0x2001, { 0x40e, 1, 2 } },
    1353             :     { 0x6002, { 0x404, 0x407, 0 } },
    1354             :     { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
    1355             :     { 0x2001, { 0x411, 1, 2 } },
    1356             :     { 0xa000, { 0x410, 0, 0x412 } },
    1357             :     { 0x0000, { 21600, 0, 0 } },
    1358             :     { 0x0000, { 21600, 0, 0 } },
    1359             :     { 0x0000, { 0, 0, 21600 } },
    1360             :     { 0xa000, { 0x410, 0, 0x404 } },
    1361             :     { 0x600f, { 0x417, 0x404, 21600 } },
    1362             :     { 0x2000, { 0x408, 128, 0 } },
    1363             :     { 0x2001, { 0x405, 1, 2 } },
    1364             :     { 0x2000, { 0x405, 0, 128 } },
    1365             :     { 0xe000, { DFF_Prop_adjustValue, 0x410, 0x40b } },
    1366             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    1367             :     { 0x2001, { 0x41d, 1, 2 } },
    1368             :     { 0x0001, { 21600, 21600, 1 } },
    1369             :     { 0x6001, { DFF_Prop_adjust3Value, DFF_Prop_adjust3Value, 1 } },
    1370             :     { 0xa000, { 0x41f, 0, 0x420 } },
    1371             :     { 0x200d, { 0x421, 0, 0 } },
    1372             :     { 0x2000, { 0x422, 21600, 0 } },
    1373             :     { 0x8001, { 21600, 21600, 0x423 } },
    1374             :     { 0x2000, { 0x424, 64, 0 } },
    1375             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
    1376             :     { 0x600f, { 0x41e, 0x426, 21600 } },
    1377             :     { 0x2000, { 0x427, 0, 64 } },
    1378             :     { 0x2001, { 0x404, 1, 2 } },
    1379             :     { 0xa000, { DFF_Prop_adjust2Value, 0, 0x429 } },
    1380             :     { 0x0001, { 21600, 2195, 16384 } },
    1381             :     { 0x0001, { 21600, 14189, 16384 } }
    1382             : };
    1383             : static const sal_Int32 mso_sptCurvedUpDefault[] =
    1384             : {
    1385             :     3, 12960, 19440, 7200
    1386             : };
    1387             : static const SvxMSDffTextRectangles mso_sptCurvedUpTextRect[] =
    1388             : {
    1389             :    { { 41 MSO_I, 43 MSO_I }, { 42 MSO_I, 44 MSO_I } }
    1390             : };
    1391             : static const SvxMSDffVertPair mso_sptCurvedUpGluePoints[] =
    1392             : {
    1393             :    { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I }, { 15 MSO_I, 0 }, { 16 MSO_I, 21 MSO_I }, { 13 MSO_I, 2 MSO_I }
    1394             : };
    1395             : static const SvxMSDffHandle mso_sptCurvedUpHandles[] =
    1396             : {
    1397             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1398             :        0x100, 0, 10800, 10800, 3 + 37, 3 + 27, 0, 10800 },
    1399             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1400             :        0x101, 0, 10800, 10800, 3 + 25, 3 + 20, 0, 10800 },
    1401             :    {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1402             :        21600, 0x102, 10800, 10800, 3375, 21600, 0, 3 + 40 }
    1403             : };
    1404             : static const mso_CustomShape msoCurvedUpArrow =
    1405             : {
    1406             :    (SvxMSDffVertPair*)mso_sptCurvedUpVert, SAL_N_ELEMENTS( mso_sptCurvedUpVert ),
    1407             :    (sal_uInt16*)mso_sptCurvedUpSegm, sizeof( mso_sptCurvedUpSegm ) >> 1,
    1408             :    (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, SAL_N_ELEMENTS( mso_sptCurvedUpCalc ),
    1409             :    (sal_Int32*)mso_sptCurvedUpDefault,
    1410             :    (SvxMSDffTextRectangles*)mso_sptCurvedUpTextRect, SAL_N_ELEMENTS( mso_sptCurvedUpTextRect ),
    1411             :    21600, 21600,
    1412             :    MIN_INT32, MIN_INT32,
    1413             :    (SvxMSDffVertPair*)mso_sptCurvedUpGluePoints, SAL_N_ELEMENTS( mso_sptCurvedUpGluePoints ),
    1414             :    (SvxMSDffHandle*)mso_sptCurvedUpHandles, SAL_N_ELEMENTS( mso_sptCurvedUpHandles )
    1415             : };
    1416             : 
    1417             : static const SvxMSDffVertPair mso_sptCurvedLeftVert[] =
    1418             : {
    1419             :    { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
    1420             :    { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 2 MSO_I, 12 MSO_I },
    1421             :    { 2 MSO_I, 13 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 11 MSO_I },
    1422             :    { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 2 MSO_I, 10 MSO_I }, { 24 MSO_I, 16 MSO_I },
    1423             :    { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I },
    1424             :    { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
    1425             :    { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 24 MSO_I, 16 MSO_I },
    1426             :    { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I }
    1427             : };
    1428             : static const sal_uInt16 mso_sptCurvedLeftSegm[] =
    1429             : {
    1430             :    0xa608,
    1431             :    0x0003,
    1432             :    0xa308,
    1433             :    0x6000,
    1434             :    0x8000,
    1435             :    0xa604,
    1436             :    0xa308,
    1437             :    0x6000,
    1438             :    0x8000
    1439             : };
    1440             : static const SvxMSDffTextRectangles mso_sptCurvedLeftTextRect[] =
    1441             : {
    1442             :     { { 43 MSO_I, 41 MSO_I }, { 44 MSO_I, 42 MSO_I } }
    1443             : };
    1444             : static const SvxMSDffVertPair mso_sptCurvedLeftGluePoints[] =
    1445             : {
    1446             :     { 0, 15 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 13 MSO_I }, { 21 MSO_I, 16 MSO_I }
    1447             : };
    1448             : static const SvxMSDffHandle mso_sptCurvedLeftHandles[] =
    1449             : {
    1450             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1451             :         0, 0x100, 10800, 10800, 0, 10800, 3 + 37, 3 + 27 },
    1452             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1453             :         0, 0x101, 10800, 10800, 0, 10800, 3 + 25, 3 + 20 },
    1454             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1455             :         0x102, 21600, 10800, 10800, 0, 3 + 40, 3375, 21600 }
    1456             : };
    1457             : static const mso_CustomShape msoCurvedLeftArrow =
    1458             : {
    1459             :     (SvxMSDffVertPair*)mso_sptCurvedLeftVert, SAL_N_ELEMENTS( mso_sptCurvedLeftVert ),
    1460             :     (sal_uInt16*)mso_sptCurvedLeftSegm, sizeof( mso_sptCurvedLeftSegm ) >> 1,
    1461             :     (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, SAL_N_ELEMENTS( mso_sptCurvedUpCalc ),
    1462             :     (sal_Int32*)mso_sptCurvedUpDefault,
    1463             :     (SvxMSDffTextRectangles*)mso_sptCurvedLeftTextRect, SAL_N_ELEMENTS( mso_sptCurvedLeftTextRect ),
    1464             :     21600, 21600,
    1465             :     MIN_INT32, MIN_INT32,
    1466             :     (SvxMSDffVertPair*)mso_sptCurvedLeftGluePoints, SAL_N_ELEMENTS( mso_sptCurvedLeftGluePoints ),
    1467             :     (SvxMSDffHandle*)mso_sptCurvedLeftHandles, SAL_N_ELEMENTS( mso_sptCurvedLeftHandles )
    1468             : };
    1469             : 
    1470             : static const SvxMSDffVertPair mso_sptStripedRightArrowVert[] =  // adjustment1 : x 3375 - 21600
    1471             : {                                                               // adjustment2 : y 0 - 10800
    1472             :     { 3375, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
    1473             :     { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 3375, 2 MSO_I }, { 0, 0 MSO_I },
    1474             :     { 675, 0 MSO_I }, { 675, 2 MSO_I }, { 0, 2 MSO_I }, { 1350, 0 MSO_I },
    1475             :     { 2700, 0 MSO_I }, { 2700, 2 MSO_I }, { 1350, 2 MSO_I }
    1476             : };
    1477             : static const sal_uInt16 mso_sptStripedRightArrowSegm[] =
    1478             : {
    1479             :     0x4000, 0x0006, 0x6001, 0x8000,
    1480             :     0x4000, 0x0003, 0x6001, 0x8000,
    1481             :     0x4000, 0x0003, 0x6001, 0x8000
    1482             : };
    1483             : static const SvxMSDffCalculationData mso_sptStripedRightArrowCalc[] =
    1484             : {
    1485             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1486             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1487             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
    1488             :     { 0x8000, { 21600, 0, 0x401 } },
    1489             :     { 0x6001, { 0x403, 0x400, 10800 } },
    1490             :     { 0x6000, { 0x401, 0x404, 0 } }
    1491             : };
    1492             : static const SvxMSDffTextRectangles mso_sptStripedRightArrowTextRect[] =
    1493             : {
    1494             :     { { 3375, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
    1495             : };
    1496             : static const SvxMSDffHandle mso_sptStripedRightArrowHandle[] =
    1497             : {
    1498             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    1499             :         0x100, 0x101, 10800, 10800, 3375, 21600, 0, 10800 }
    1500             : };
    1501             : static const mso_CustomShape msoStripedRightArrow =
    1502             : {
    1503             :     (SvxMSDffVertPair*)mso_sptStripedRightArrowVert, SAL_N_ELEMENTS( mso_sptStripedRightArrowVert ),
    1504             :     (sal_uInt16*)mso_sptStripedRightArrowSegm, sizeof( mso_sptStripedRightArrowSegm ) >> 1,
    1505             :     (SvxMSDffCalculationData*)mso_sptStripedRightArrowCalc, SAL_N_ELEMENTS( mso_sptStripedRightArrowCalc ),
    1506             :     (sal_Int32*)mso_sptDefault16200and5400,
    1507             :     (SvxMSDffTextRectangles*)mso_sptStripedRightArrowTextRect, SAL_N_ELEMENTS( mso_sptStripedRightArrowTextRect ),
    1508             :     21600, 21600,
    1509             :     MIN_INT32, MIN_INT32,
    1510             :     NULL, 0,
    1511             :     (SvxMSDffHandle*)mso_sptStripedRightArrowHandle, SAL_N_ELEMENTS( mso_sptStripedRightArrowHandle )
    1512             : };
    1513             : 
    1514             : static const SvxMSDffVertPair mso_sptNotchedRightArrowVert[] =  // adjustment1 : x 0 - 21600    (default 16200)
    1515             : {                                                               // adjustment2 : y 0 - 10800    (default 5400)
    1516             :     { 0, 1 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 0 }, { 21600, 10800 },
    1517             :     { 0 MSO_I, 21600 }, { 0 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }, { 5 MSO_I, 10800 }, { 0, 1 MSO_I }
    1518             : };
    1519             : static const SvxMSDffCalculationData mso_sptNotchedRightArrowCalc[] =
    1520             : {
    1521             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1522             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1523             :     { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
    1524             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    1525             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
    1526             :     { 0x6001, { 0x403, 0x404, 10800 } }
    1527             : };
    1528             : static const SvxMSDffTextRectangles mso_sptNotchedRightArrowTextRect[] =    // todo
    1529             : {
    1530             :     { { 0, 0 }, { 21600, 21600 } }
    1531             : };
    1532             : static const SvxMSDffHandle mso_sptNotchedRightArrowHandle[] =
    1533             : {
    1534             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    1535             :         0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
    1536             : };
    1537             : static const mso_CustomShape msoNotchedRightArrow =
    1538             : {
    1539             :     (SvxMSDffVertPair*)mso_sptNotchedRightArrowVert, SAL_N_ELEMENTS( mso_sptNotchedRightArrowVert ),
    1540             :     NULL, 0,
    1541             :     (SvxMSDffCalculationData*)mso_sptNotchedRightArrowCalc, SAL_N_ELEMENTS( mso_sptNotchedRightArrowCalc ),
    1542             :     (sal_Int32*)mso_sptDefault16200and5400,
    1543             :     (SvxMSDffTextRectangles*)mso_sptNotchedRightArrowTextRect, SAL_N_ELEMENTS( mso_sptNotchedRightArrowTextRect ),
    1544             :     21600, 21600,
    1545             :     MIN_INT32, MIN_INT32,
    1546             :     NULL, 0,
    1547             :     (SvxMSDffHandle*)mso_sptNotchedRightArrowHandle, SAL_N_ELEMENTS( mso_sptNotchedRightArrowHandle )
    1548             : };
    1549             : 
    1550             : static const SvxMSDffVertPair mso_sptHomePlateVert[] =  // adjustment1 : x 0 - 21600
    1551             : {
    1552             :     { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
    1553             :     { 0, 21600 }
    1554             : };
    1555             : static const sal_uInt16 mso_sptHomePlateSegm[] =
    1556             : {
    1557             :     0x4000, 0x0004, 0x6001, 0x8000
    1558             : };
    1559             : static const SvxMSDffCalculationData mso_sptHomePlateCalc[] =
    1560             : {
    1561             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
    1562             : };
    1563             : static const sal_Int32 mso_sptHomePlateDefault[] =
    1564             : {
    1565             :     1, 16200
    1566             : };
    1567             : static const SvxMSDffTextRectangles mso_sptHomePlateTextRect[] =    // todo
    1568             : {
    1569             :     { { 0, 0 }, { 21600, 21600 } }
    1570             : };
    1571             : static const SvxMSDffHandle mso_sptHomePlateHandle[] =
    1572             : {
    1573             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    1574             :         0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
    1575             : };
    1576             : static const mso_CustomShape msoHomePlate =
    1577             : {
    1578             :     (SvxMSDffVertPair*)mso_sptHomePlateVert, SAL_N_ELEMENTS( mso_sptHomePlateVert ),
    1579             :     (sal_uInt16*)mso_sptHomePlateSegm, sizeof( mso_sptHomePlateSegm ) >> 1,
    1580             :     (SvxMSDffCalculationData*)mso_sptHomePlateCalc, SAL_N_ELEMENTS( mso_sptHomePlateCalc ),
    1581             :     (sal_Int32*)mso_sptHomePlateDefault,
    1582             :     (SvxMSDffTextRectangles*)mso_sptHomePlateTextRect, SAL_N_ELEMENTS( mso_sptHomePlateTextRect ),
    1583             :     21600, 21600,
    1584             :     MIN_INT32, MIN_INT32,
    1585             :     NULL, 0,
    1586             :     (SvxMSDffHandle*)mso_sptHomePlateHandle, SAL_N_ELEMENTS( mso_sptHomePlateHandle )
    1587             : };
    1588             : 
    1589             : static const SvxMSDffVertPair mso_sptChevronVert[] =    // adjustment1 : x 0 - 21600
    1590             : {
    1591             :     { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
    1592             :     { 0, 21600 }, { 1 MSO_I, 10800 }
    1593             : };
    1594             : static const sal_uInt16 mso_sptChevronSegm[] =
    1595             : {
    1596             :     0x4000, 0x0005, 0x6001, 0x8000
    1597             : };
    1598             : static const SvxMSDffCalculationData mso_sptChevronCalc[] =
    1599             : {
    1600             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1601             :     { 0x8000, { 21600, 0, 0x0400 } }
    1602             : };
    1603             : static const sal_Int32 mso_sptChevronDefault[] =
    1604             : {
    1605             :     1, 16200
    1606             : };
    1607             : static const SvxMSDffTextRectangles mso_sptChevronTextRect[] =  // todo
    1608             : {
    1609             :     { { 0, 0 }, { 21600, 21600 } }
    1610             : };
    1611             : static const SvxMSDffHandle mso_sptChevronHandle[] =
    1612             : {
    1613             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    1614             :         0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
    1615             : };
    1616             : static const mso_CustomShape msoChevron =
    1617             : {
    1618             :     (SvxMSDffVertPair*)mso_sptChevronVert, SAL_N_ELEMENTS( mso_sptChevronVert ),
    1619             :     (sal_uInt16*)mso_sptChevronSegm, sizeof( mso_sptChevronSegm ) >> 1,
    1620             :     (SvxMSDffCalculationData*)mso_sptChevronCalc, SAL_N_ELEMENTS( mso_sptChevronCalc ),
    1621             :     (sal_Int32*)mso_sptChevronDefault,
    1622             :     (SvxMSDffTextRectangles*)mso_sptChevronTextRect, SAL_N_ELEMENTS( mso_sptChevronTextRect ),
    1623             :     21600, 21600,
    1624             :     MIN_INT32, MIN_INT32,
    1625             :     NULL, 0,
    1626             :     (SvxMSDffHandle*)mso_sptChevronHandle, SAL_N_ELEMENTS( mso_sptChevronHandle )
    1627             : };
    1628             : 
    1629             : static const SvxMSDffVertPair mso_sptRightArrowCalloutVert[] =  // adjustment1 : x 0 - 21000
    1630             : {                                                               // adjustment2 : y 0 - 10800
    1631             :     { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
    1632             :     { 2 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 5 MSO_I },
    1633             :     { 0 MSO_I, 5 MSO_I }, { 0 MSO_I, 21600 }, { 0, 21600 }
    1634             : };
    1635             : static const sal_uInt16 mso_sptRightArrowCalloutSegm[] =
    1636             : {
    1637             :     0x4000, 0x000a, 0x6001, 0x8000
    1638             : };
    1639             : static const SvxMSDffCalculationData mso_sptRightArrowCalloutCalc[] =
    1640             : {
    1641             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1642             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1643             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1644             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1645             :     { 0x8000, { 21600, 0, 0x0401 } },
    1646             :     { 0x8000, { 21600, 0, 0x0403 } }
    1647             : };
    1648             : static const sal_Int32 mso_sptRightArrowCalloutDefault[] =
    1649             : {
    1650             :     4, 14400, 5400, 18000, 8100
    1651             : };
    1652             : static const SvxMSDffTextRectangles mso_sptRightArrowCalloutTextRect[] =
    1653             : {
    1654             :     { { 0, 0 }, { 0 MSO_I, 21600 } }
    1655             : };
    1656             : static const SvxMSDffHandle mso_sptRightArrowCalloutHandle[] =
    1657             : {
    1658             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1659             :         0x100, 0, 10800, 10800, 0, 0x102, MIN_INT32, 0x7fffffff },
    1660             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1661             :         0x102, 0x103, 10800, 10800, 0x100, 21600, 0x101, 10800 },
    1662             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1663             :         1, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
    1664             : };
    1665             : static const mso_CustomShape msoRightArrowCallout =
    1666             : {
    1667             :     (SvxMSDffVertPair*)mso_sptRightArrowCalloutVert, SAL_N_ELEMENTS( mso_sptRightArrowCalloutVert ),
    1668             :     (sal_uInt16*)mso_sptRightArrowCalloutSegm, sizeof( mso_sptRightArrowCalloutSegm ) >> 1,
    1669             :     (SvxMSDffCalculationData*)mso_sptRightArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptRightArrowCalloutCalc ),
    1670             :     (sal_Int32*)mso_sptRightArrowCalloutDefault,
    1671             :     (SvxMSDffTextRectangles*)mso_sptRightArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptRightArrowCalloutTextRect ),
    1672             :     21600, 21600,
    1673             :     MIN_INT32, MIN_INT32,
    1674             :     NULL, 0,
    1675             :     (SvxMSDffHandle*)mso_sptRightArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptRightArrowCalloutHandle )
    1676             : };
    1677             : 
    1678             : static const SvxMSDffVertPair mso_sptLeftArrowCalloutVert[] =   // adjustment1 : x 0 - 21600, adjustment2 : y 0 - 10800
    1679             : {                                                               // adjustment3 : x 0 - 21600, adjustment4 : y 0 - 10800
    1680             :     { 0 MSO_I, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0 MSO_I, 21600 },
    1681             :     { 0 MSO_I, 5 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0, 10800 },
    1682             :     { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
    1683             : };
    1684             : static const sal_uInt16 mso_sptLeftArrowCalloutSegm[] =
    1685             : {
    1686             :     0x4000, 0x000a, 0x6001, 0x8000
    1687             : };
    1688             : static const SvxMSDffCalculationData mso_sptLeftArrowCalloutCalc[] =
    1689             : {
    1690             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1691             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1692             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1693             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1694             :     { 0x8000, { 21600, 0, 0x0401 } },
    1695             :     { 0x8000, { 21600, 0, 0x0403 } }
    1696             : };
    1697             : static const sal_Int32 mso_sptLeftArrowCalloutDefault[] =
    1698             : {
    1699             :     4, 7200, 5400, 3600, 8100
    1700             : };
    1701             : static const SvxMSDffTextRectangles mso_sptLeftArrowCalloutTextRect[] =
    1702             : {
    1703             :     { { 0 MSO_I, 0 }, { 21600, 21600 } }
    1704             : };
    1705             : static const SvxMSDffHandle mso_sptLeftArrowCalloutHandle[] =
    1706             : {
    1707             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
    1708             :         0x100, 0, 10800, 10800, 0x102, 21600, MIN_INT32, 0x7fffffff },
    1709             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1710             :         0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
    1711             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1712             :         0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
    1713             : };
    1714             : static const mso_CustomShape msoLeftArrowCallout =
    1715             : {
    1716             :     (SvxMSDffVertPair*)mso_sptLeftArrowCalloutVert, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutVert ),
    1717             :     (sal_uInt16*)mso_sptLeftArrowCalloutSegm, sizeof( mso_sptLeftArrowCalloutSegm ) >> 1,
    1718             :     (SvxMSDffCalculationData*)mso_sptLeftArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutCalc ),
    1719             :     (sal_Int32*)mso_sptLeftArrowCalloutDefault,
    1720             :     (SvxMSDffTextRectangles*)mso_sptLeftArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutTextRect ),
    1721             :     21600, 21600,
    1722             :     MIN_INT32, MIN_INT32,
    1723             :     NULL, 0,
    1724             :     (SvxMSDffHandle*)mso_sptLeftArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutHandle )
    1725             : };
    1726             : 
    1727             : static const SvxMSDffVertPair mso_sptUpArrowCalloutVert[] =
    1728             : {
    1729             :     { 21600, 0 MSO_I }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 MSO_I },
    1730             :     { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 10800, 0 },
    1731             :     { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 MSO_I }
    1732             : };
    1733             : static const sal_uInt16 mso_sptUpArrowCalloutSegm[] =
    1734             : {
    1735             :     0x4000, 0x000a, 0x6001, 0x8000
    1736             : };
    1737             : static const SvxMSDffCalculationData mso_sptUpArrowCalloutCalc[] =
    1738             : {
    1739             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1740             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1741             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1742             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1743             :     { 0x8000, { 21600, 0, 0x0401 } },
    1744             :     { 0x8000, { 21600, 0, 0x0403 } }
    1745             : };
    1746             : static const sal_Int32 mso_sptUpArrowCalloutDefault[] =
    1747             : {
    1748             :     4, 7200, 5400, 3600, 8100
    1749             : };
    1750             : static const SvxMSDffTextRectangles mso_sptUpArrowCalloutTextRect[] =
    1751             : {
    1752             :     { { 0, 0 MSO_I }, { 21600, 21600 } }
    1753             : };
    1754             : static const SvxMSDffHandle mso_sptUpArrowCalloutHandle[] =
    1755             : {
    1756             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1757             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 21600 },
    1758             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1759             :         0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
    1760             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1761             :         0x101, 0, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
    1762             : };
    1763             : static const mso_CustomShape msoUpArrowCallout =
    1764             : {
    1765             :     (SvxMSDffVertPair*)mso_sptUpArrowCalloutVert, SAL_N_ELEMENTS( mso_sptUpArrowCalloutVert ),
    1766             :     (sal_uInt16*)mso_sptUpArrowCalloutSegm, sizeof( mso_sptUpArrowCalloutSegm ) >> 1,
    1767             :     (SvxMSDffCalculationData*)mso_sptUpArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptUpArrowCalloutCalc ),
    1768             :     (sal_Int32*)mso_sptUpArrowCalloutDefault,
    1769             :     (SvxMSDffTextRectangles*)mso_sptUpArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptUpArrowCalloutTextRect ),
    1770             :     21600, 21600,
    1771             :     MIN_INT32, MIN_INT32,
    1772             :     NULL, 0,
    1773             :     (SvxMSDffHandle*)mso_sptUpArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptUpArrowCalloutHandle )
    1774             : };
    1775             : 
    1776             : static const SvxMSDffVertPair mso_sptDownArrowCalloutVert[] =
    1777             : {
    1778             :     { 0, 0 MSO_I }, { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I },
    1779             :     { 5 MSO_I, 0 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 10800, 21600 },
    1780             :     { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
    1781             : };
    1782             : static const sal_uInt16 mso_sptDownArrowCalloutSegm[] =
    1783             : {
    1784             :     0x4000, 0x000a, 0x6001, 0x8000
    1785             : };
    1786             : static const SvxMSDffCalculationData mso_sptDownArrowCalloutCalc[] =
    1787             : {
    1788             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1789             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1790             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1791             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1792             :     { 0x8000, { 21600, 0, 0x0401 } },
    1793             :     { 0x8000, { 21600, 0, 0x0403 } }
    1794             : };
    1795             : static const sal_Int32 mso_sptDownArrowCalloutDefault[] =
    1796             : {
    1797             :     4, 14400, 5400, 18000, 8100
    1798             : };
    1799             : static const SvxMSDffTextRectangles mso_sptDownArrowCalloutTextRect[] =
    1800             : {
    1801             :     { { 0, 0 }, { 21600, 0 MSO_I } }
    1802             : };
    1803             : static const SvxMSDffHandle mso_sptDownArrowCalloutHandle[] =
    1804             : {
    1805             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1806             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x102 },
    1807             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1808             :         0x103, 0x102, 10800, 10800, 0x101, 10800, 0x100, 21600 },
    1809             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1810             :         0x101, 1, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
    1811             : };
    1812             : static const mso_CustomShape msoDownArrowCallout =
    1813             : {
    1814             :     (SvxMSDffVertPair*)mso_sptDownArrowCalloutVert, SAL_N_ELEMENTS( mso_sptDownArrowCalloutVert ),
    1815             :     (sal_uInt16*)mso_sptDownArrowCalloutSegm, sizeof( mso_sptDownArrowCalloutSegm ) >> 1,
    1816             :     (SvxMSDffCalculationData*)mso_sptDownArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptDownArrowCalloutCalc ),
    1817             :     (sal_Int32*)mso_sptDownArrowCalloutDefault,
    1818             :     (SvxMSDffTextRectangles*)mso_sptDownArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptDownArrowCalloutTextRect ),
    1819             :     21600, 21600,
    1820             :     MIN_INT32, MIN_INT32,
    1821             :     NULL, 0,
    1822             :     (SvxMSDffHandle*)mso_sptDownArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptDownArrowCalloutHandle )
    1823             : };
    1824             : 
    1825             : static const SvxMSDffVertPair mso_sptLeftRightArrowCalloutVert[] =
    1826             : {
    1827             :     { 0 MSO_I, 0 }, { 4 MSO_I, 0 }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I },
    1828             :     { 6 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I },
    1829             :     { 4 MSO_I, 7 MSO_I }, { 4 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0 MSO_I, 7 MSO_I },
    1830             :     { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 0, 10800 }, { 2 MSO_I, 1 MSO_I },
    1831             :     { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
    1832             : };
    1833             : static const sal_uInt16 mso_sptLeftRightArrowCalloutSegm[] =
    1834             : {
    1835             :     0x4000, 0x0011, 0x6001, 0x8000
    1836             : };
    1837             : static const SvxMSDffCalculationData mso_sptLeftRightArrowCalloutCalc[] =
    1838             : {
    1839             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1840             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1841             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1842             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1843             :     { 0x8000, { 21600, 0, 0x0400 } },
    1844             :     { 0x8000, { 21600, 0, 0x0401 } },
    1845             :     { 0x8000, { 21600, 0, 0x0402 } },
    1846             :     { 0x8000, { 21600, 0, 0x0403 } }
    1847             : };
    1848             : static const sal_Int32 mso_sptLeftRightArrowCalloutDefault[] =
    1849             : {
    1850             :     4, 5400, 5500, 2700, 8100
    1851             : };
    1852             : static const SvxMSDffTextRectangles mso_sptLeftRightArrowCalloutTextRect[] =
    1853             : {
    1854             :     { { 0 MSO_I, 0 }, { 4 MSO_I, 21600 } }
    1855             : };
    1856             : static const SvxMSDffHandle mso_sptLeftRightArrowCalloutHandle[] =
    1857             : {
    1858             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
    1859             :         0x100, 0, 10800, 10800, 0x102, 10800, MIN_INT32, 0x7fffffff },
    1860             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1861             :         0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
    1862             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1863             :         0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
    1864             : };
    1865             : static const mso_CustomShape msoLeftRightArrowCallout =
    1866             : {
    1867             :     (SvxMSDffVertPair*)mso_sptLeftRightArrowCalloutVert, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutVert ),
    1868             :     (sal_uInt16*)mso_sptLeftRightArrowCalloutSegm, sizeof( mso_sptLeftRightArrowCalloutSegm ) >> 1,
    1869             :     (SvxMSDffCalculationData*)mso_sptLeftRightArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutCalc ),
    1870             :     (sal_Int32*)mso_sptLeftRightArrowCalloutDefault,
    1871             :     (SvxMSDffTextRectangles*)mso_sptLeftRightArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutTextRect ),
    1872             :     21600, 21600,
    1873             :     MIN_INT32, MIN_INT32,
    1874             :     NULL, 0,
    1875             :     (SvxMSDffHandle*)mso_sptLeftRightArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutHandle )
    1876             : };
    1877             : 
    1878             : static const SvxMSDffVertPair mso_sptUpDownArrowCalloutVert[] =
    1879             : {
    1880             :     { 0, 0 MSO_I }, { 0, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 6 MSO_I },
    1881             :     { 1 MSO_I, 6 MSO_I }, { 10800, 21600 }, { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 6 MSO_I },
    1882             :     { 7 MSO_I, 4 MSO_I }, { 21600, 4 MSO_I }, { 21600, 0 MSO_I }, { 7 MSO_I, 0 MSO_I },
    1883             :     { 7 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 10800, 0 }, { 1 MSO_I, 2 MSO_I },
    1884             :     { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
    1885             : };
    1886             : static const sal_uInt16 mso_sptUpDownArrowCalloutSegm[] =
    1887             : {
    1888             :     0x4000, 0x0011, 0x6001, 0x8000
    1889             : };
    1890             : static const SvxMSDffCalculationData mso_sptUpDownArrowCalloutCalc[] =
    1891             : {
    1892             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1893             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1894             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1895             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1896             :     { 0x8000, { 21600, 0, 0x0400 } },
    1897             :     { 0x8000, { 21600, 0, 0x0401 } },
    1898             :     { 0x8000, { 21600, 0, 0x0402 } },
    1899             :     { 0x8000, { 21600, 0, 0x0403 } }
    1900             : };
    1901             : static const sal_Int32 mso_sptUpDownArrowCalloutDefault[] =
    1902             : {
    1903             :     4, 5400, 5500, 2700, 8100
    1904             : };
    1905             : static const SvxMSDffTextRectangles mso_sptUpDownArrowCalloutTextRect[] =
    1906             : {
    1907             :     { { 0, 0 MSO_I }, { 21600, 4 MSO_I } }
    1908             : };
    1909             : static const SvxMSDffHandle mso_sptUpDownArrowCalloutHandle[] =
    1910             : {
    1911             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
    1912             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 10800 },
    1913             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1914             :         0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
    1915             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    1916             :         0x101, 0, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
    1917             : };
    1918             : static const mso_CustomShape msoUpDownArrowCallout =
    1919             : {
    1920             :     (SvxMSDffVertPair*)mso_sptUpDownArrowCalloutVert, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutVert ),
    1921             :     (sal_uInt16*)mso_sptUpDownArrowCalloutSegm, sizeof( mso_sptUpDownArrowCalloutSegm ) >> 1,
    1922             :     (SvxMSDffCalculationData*)mso_sptUpDownArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutCalc ),
    1923             :     (sal_Int32*)mso_sptUpDownArrowCalloutDefault,
    1924             :     (SvxMSDffTextRectangles*)mso_sptUpDownArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutTextRect ),
    1925             :     21600, 21600,
    1926             :     MIN_INT32, MIN_INT32,
    1927             :     NULL, 0,
    1928             :     (SvxMSDffHandle*)mso_sptUpDownArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutHandle )
    1929             : };
    1930             : 
    1931             : static const SvxMSDffVertPair mso_sptQuadArrowCalloutVert[] =
    1932             : {
    1933             :     { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    1934             :     { 10800, 0 }, { 5 MSO_I, 2 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 7 MSO_I, 0 MSO_I },
    1935             :     { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I }, { 6 MSO_I, 1 MSO_I },
    1936             :     { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 7 MSO_I },
    1937             :     { 4 MSO_I, 4 MSO_I }, { 7 MSO_I, 4 MSO_I }, { 7 MSO_I, 6 MSO_I }, { 5 MSO_I, 6 MSO_I },
    1938             :     { 10800, 21600 }, { 1 MSO_I, 6 MSO_I }, { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 4 MSO_I },
    1939             :     { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I },
    1940             :     { 0, 10800 }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
    1941             : };
    1942             : static const sal_uInt16 mso_sptQuadArrowCalloutSegm[] =
    1943             : {
    1944             :     0x4000, 0x001f, 0x6001, 0x8000
    1945             : };
    1946             : static const SvxMSDffCalculationData mso_sptQuadArrowCalloutCalc[] =
    1947             : {
    1948             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    1949             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    1950             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    1951             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    1952             :     { 0x8000, { 21600, 0, 0x0400 } },
    1953             :     { 0x8000, { 21600, 0, 0x0401 } },
    1954             :     { 0x8000, { 21600, 0, 0x0402 } },
    1955             :     { 0x8000, { 21600, 0, 0x0403 } }
    1956             : };
    1957             : static const sal_Int32 mso_sptQuadArrowCalloutDefault[] =
    1958             : {
    1959             :     4, 5400, 8100, 2700, 9400
    1960             : };
    1961             : static const SvxMSDffTextRectangles mso_sptQuadArrowCalloutTextRect[] =
    1962             : {
    1963             :     { { 0 MSO_I, 0 MSO_I }, { 4 MSO_I, 4 MSO_I } }
    1964             : };
    1965             : static const SvxMSDffHandle mso_sptQuadArrowCalloutHandle[] =
    1966             : {
    1967             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1968             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 0x101 },
    1969             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
    1970             :         0x101, 0, 10800, 10800, 0x100, 10800, MIN_INT32, 0x7fffffff },
    1971             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    1972             :         0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 }
    1973             : };
    1974             : static const mso_CustomShape msoQuadArrowCallout =
    1975             : {
    1976             :     (SvxMSDffVertPair*)mso_sptQuadArrowCalloutVert, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutVert ),
    1977             :     (sal_uInt16*)mso_sptQuadArrowCalloutSegm, sizeof( mso_sptQuadArrowCalloutSegm ) >> 1,
    1978             :     (SvxMSDffCalculationData*)mso_sptQuadArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutCalc ),
    1979             :     (sal_Int32*)mso_sptQuadArrowCalloutDefault,
    1980             :     (SvxMSDffTextRectangles*)mso_sptQuadArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutTextRect ),
    1981             :     21600, 21600,
    1982             :     MIN_INT32, MIN_INT32,
    1983             :     NULL, 0,
    1984             :     (SvxMSDffHandle*)mso_sptQuadArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutHandle )
    1985             : };
    1986             : 
    1987             : static const SvxMSDffVertPair mso_sptCircularArrowVert[] =
    1988             : {
    1989             :     { 0x03 MSO_I, 0x03 MSO_I },
    1990             :     { 0x14 MSO_I, 0x14 MSO_I },
    1991             :     { 0x13 MSO_I, 0x12 MSO_I },
    1992             :     { 0x11 MSO_I, 0x10 MSO_I },
    1993             :     { 0, 0 }, { 21600, 21600 },
    1994             :     { 0x09 MSO_I, 0x08 MSO_I },
    1995             :     { 0x0B MSO_I, 0x0A MSO_I },
    1996             :     { 0x18 MSO_I, 0x17 MSO_I },
    1997             :     { 0x2F MSO_I, 0x2E MSO_I },
    1998             :     { 0x1D MSO_I, 0x1C MSO_I }
    1999             : };
    2000             : static const sal_uInt16 mso_sptCircularArrowSegm[] =
    2001             : {
    2002             :     0xa404, 0xa504, 0x0003, 0x6001, 0x8000
    2003             : };
    2004             : static const SvxMSDffCalculationData mso_sptCircularArrowCalc[] =
    2005             : {
    2006             :     { 0x2000, { 0x0147, 0x0000, 0x0000 } },
    2007             :     { 0x2000, { 0x0148, 0x0000, 0x0000 } },
    2008             :     { 0x2000, { 0x0149, 0x0000, 0x0000 } },
    2009             :     { 0x4000, { 0x2A30, 0x0149, 0x0000 } },
    2010             :     { 0x4009, { 0x2A30, 0x0147, 0x0000 } },
    2011             :     { 0x400A, { 0x2A30, 0x0147, 0x0000 } },
    2012             :     { 0x4009, { 0x2A30, 0x0148, 0x0000 } },
    2013             :     { 0x400A, { 0x2A30, 0x0148, 0x0000 } },
    2014             :     { 0x2000, { 0x0404, 0x2A30, 0x0000 } },
    2015             :     { 0x2000, { 0x0405, 0x2A30, 0x0000 } },
    2016             :     { 0x2000, { 0x0406, 0x2A30, 0x0000 } },
    2017             :     { 0x2000, { 0x0407, 0x2A30, 0x0000 } },
    2018             :     { 0x6009, { 0x0403, 0x0147, 0x0000 } },
    2019             :     { 0x600A, { 0x0403, 0x0147, 0x0000 } },
    2020             :     { 0x6009, { 0x0403, 0x0148, 0x0000 } },
    2021             :     { 0x600A, { 0x0403, 0x0148, 0x0000 } },
    2022             :     { 0x2000, { 0x040C, 0x2A30, 0x0000 } },
    2023             :     { 0x2000, { 0x040D, 0x2A30, 0x0000 } },
    2024             :     { 0x2000, { 0x040E, 0x2A30, 0x0000 } },
    2025             :     { 0x2000, { 0x040F, 0x2A30, 0x0000 } },
    2026             :     { 0x8000, { 0x5460, 0x0000, 0x0403 } },
    2027             :     { 0x4009, { 0x34BC, 0x0148, 0x0000 } },
    2028             :     { 0x400A, { 0x34BC, 0x0148, 0x0000 } },
    2029             :     { 0x2000, { 0x0415, 0x2A30, 0x0000 } },
    2030             :     { 0x2000, { 0x0416, 0x2A30, 0x0000 } },
    2031             :     { 0x2000, { 0x0149, 0x0000, 0x0A8C } },
    2032             :     { 0x6009, { 0x0419, 0x0148, 0x0000 } },
    2033             :     { 0x600A, { 0x0419, 0x0148, 0x0000 } },
    2034             :     { 0x2000, { 0x041A, 0x2A30, 0x0000 } },
    2035             :     { 0x2000, { 0x041B, 0x2A30, 0x0000 } },
    2036             :     { 0xA000, { 0x041D, 0x0000, 0x0418 } },
    2037             :     { 0xA000, { 0x041D, 0x0000, 0x0418 } },
    2038             :     { 0x6001, { 0x041E, 0x041F, 0x0001 } },
    2039             :     { 0xA000, { 0x041C, 0x0000, 0x0417 } },
    2040             :     { 0xA000, { 0x041C, 0x0000, 0x0417 } },
    2041             :     { 0x6001, { 0x0421, 0x0422, 0x0001 } },
    2042             :     { 0x6000, { 0x0420, 0x0423, 0x0000 } },
    2043             :     { 0x200D, { 0x0424, 0x0000, 0x0000 } },
    2044             :     { 0x200E, { 0x0148, 0x002D, 0x0000 } },
    2045             :     { 0x6009, { 0x0425, 0x0426, 0x0000 } },
    2046             :     { 0x200E, { 0x0148, 0x002D, 0x0000 } },
    2047             :     { 0x600A, { 0x0425, 0x0428, 0x0000 } },
    2048             :     { 0x000E, { 0x0000, 0x002D, 0x0000 } },
    2049             :     { 0x6009, { 0x0427, 0x042A, 0x0000 } },
    2050             :     { 0x000E, { 0x0000, 0x002D, 0x0000 } },
    2051             :     { 0x6009, { 0x0429, 0x042C, 0x0000 } },
    2052             :     { 0x6000, { 0x041C, 0x042B, 0x0000 } },
    2053             :     { 0x6000, { 0x041D, 0x042D, 0x0000 } }
    2054             : };
    2055             : static const sal_Int32 mso_sptCircularArrowDefault[] =
    2056             : {
    2057             :     3, 180, 0, 5500
    2058             : };
    2059             : static const SvxMSDffTextRectangles mso_sptCircularArrowTextRect[] =    // todo
    2060             : {
    2061             :     { { 0, 0 }, { 21600, 21600 } }
    2062             : };
    2063             : static const SvxMSDffHandle mso_sptCircularArrowHandle[] =
    2064             : {
    2065             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    2066             :         10800, 0x100, 10800, 10800, 10800, 10800, -0x7f4c0000, 0x00b40000 },
    2067             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    2068             :         0x102, 0x101, 10800, 10800, 0, 10800, -0x7f4c0000, 0x00b40000 }
    2069             : };
    2070             : static const mso_CustomShape msoCircularArrow =
    2071             : {
    2072             :     (SvxMSDffVertPair*)mso_sptCircularArrowVert, SAL_N_ELEMENTS( mso_sptCircularArrowVert ),
    2073             :     (sal_uInt16*)mso_sptCircularArrowSegm, sizeof( mso_sptCircularArrowSegm ) >> 1,
    2074             :     (SvxMSDffCalculationData*)mso_sptCircularArrowCalc, SAL_N_ELEMENTS( mso_sptCircularArrowCalc ),
    2075             :     (sal_Int32*)mso_sptCircularArrowDefault,
    2076             :     (SvxMSDffTextRectangles*)mso_sptCircularArrowTextRect, SAL_N_ELEMENTS( mso_sptCircularArrowTextRect ),
    2077             :     21600, 21600,
    2078             :     MIN_INT32, MIN_INT32,
    2079             :     NULL, 0,
    2080             :     (SvxMSDffHandle*)mso_sptCircularArrowHandle, SAL_N_ELEMENTS( mso_sptCircularArrowHandle )        // handles
    2081             : };
    2082             : 
    2083             : static const SvxMSDffVertPair mso_sptCubeVert[] =
    2084             : {
    2085             :     { 0, 12 MSO_I }, { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }, { 4 MSO_I, 12 MSO_I },
    2086             :     { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 4 MSO_I, 1 MSO_I },
    2087             :     { 4 MSO_I, 12 MSO_I  }, { 4 MSO_I, 1 MSO_I },   { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }
    2088             : };
    2089             : static const sal_uInt16 mso_sptCubeSegm[] =
    2090             : {
    2091             :     0x4000, 0x0005, 0x6001, 0x8000,
    2092             :     0x4000, 0x0003, 0x6001, 0x8000,
    2093             :     0x4000, 0x0003, 0x6001, 0x8000
    2094             : };
    2095             : static const SvxMSDffCalculationData mso_sptCubeCalc[] =
    2096             : {
    2097             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2098             :     { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
    2099             :     { 0x6000, { DFF_Prop_geoLeft, 0x400, 0 } },
    2100             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
    2101             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
    2102             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } },    // 5
    2103             :     { 0x2001, { 0x405, 1, 2 } },                    // 6
    2104             :     { 0x6000, { 0x402, 0x406, 0 } },                // 7
    2105             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } },   // 8
    2106             :     { 0x2001, { 0x408, 1, 2 } },                    // 9
    2107             :     { 0x6000, { 0x401, 0x409, 0 } },                // 10
    2108             :     { 0x2000, { DFF_Prop_geoRight, 0, 0 } },        // 11
    2109             :     { 0x2000, { DFF_Prop_geoBottom, 0, 0 } }        // 12
    2110             : };
    2111             : static const SvxMSDffTextRectangles mso_sptCubeTextRect[] =
    2112             : {
    2113             :     { { 0, 1 MSO_I }, { 4 MSO_I, 12 MSO_I } }
    2114             : };
    2115             : static const SvxMSDffHandle mso_sptCubeHandle[] =
    2116             : {
    2117             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    2118             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
    2119             : };
    2120             : static const SvxMSDffVertPair mso_sptCubeGluePoints[] =
    2121             : {
    2122             :     { 7 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I }, { 0, 10 MSO_I }, { 6 MSO_I, 21600 }, { 4 MSO_I, 10 MSO_I }, { 21600, 9 MSO_I }
    2123             : };
    2124             : static const mso_CustomShape msoCube =
    2125             : {
    2126             :     (SvxMSDffVertPair*)mso_sptCubeVert, SAL_N_ELEMENTS( mso_sptCubeVert ),
    2127             :     (sal_uInt16*)mso_sptCubeSegm, sizeof( mso_sptCubeSegm ) >> 1,
    2128             :     (SvxMSDffCalculationData*)mso_sptCubeCalc, SAL_N_ELEMENTS( mso_sptCubeCalc ),
    2129             :     (sal_Int32*)mso_sptDefault5400,
    2130             :     (SvxMSDffTextRectangles*)mso_sptCubeTextRect, SAL_N_ELEMENTS( mso_sptCubeTextRect ),
    2131             :     21600, 21600,
    2132             :     10800, 10800,
    2133             :     (SvxMSDffVertPair*)mso_sptCubeGluePoints, SAL_N_ELEMENTS( mso_sptCubeGluePoints ),
    2134             :     (SvxMSDffHandle*)mso_sptCubeHandle, SAL_N_ELEMENTS( mso_sptCubeHandle )
    2135             : };
    2136             : 
    2137             : static const SvxMSDffVertPair mso_sptBevelVert[] =
    2138             : {
    2139             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2140             :     { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
    2141             :     { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
    2142             :     { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2143             :     { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
    2144             : };
    2145             : static const sal_uInt16 mso_sptBevelSegm[] =
    2146             : {
    2147             :     0x4000, 0x0003, 0x6001, 0x8000,
    2148             :     0x4000, 0x0003, 0x6001, 0x8000,
    2149             :     0x4000, 0x0003, 0x6001, 0x8000,
    2150             :     0x4000, 0x0003, 0x6001, 0x8000,
    2151             :     0x4000, 0x0003, 0x6001, 0x8000
    2152             : };
    2153             : static const SvxMSDffCalculationData mso_sptBevelCalc[] =
    2154             : {
    2155             :     { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
    2156             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
    2157             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
    2158             : };
    2159             : 
    2160             : static const SvxMSDffTextRectangles mso_sptBevelTextRect[] =
    2161             : {
    2162             :     { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
    2163             : };
    2164             : static const SvxMSDffHandle mso_sptBevelHandle[] =
    2165             : {
    2166             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    2167             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    2168             : };
    2169             : static const mso_CustomShape msoBevel =
    2170             : {
    2171             :     (SvxMSDffVertPair*)mso_sptBevelVert, SAL_N_ELEMENTS( mso_sptBevelVert ),
    2172             :     (sal_uInt16*)mso_sptBevelSegm, sizeof( mso_sptBevelSegm ) >> 1,
    2173             :     (SvxMSDffCalculationData*)mso_sptBevelCalc, SAL_N_ELEMENTS( mso_sptBevelCalc ),
    2174             :     (sal_Int32*)mso_sptDefault2700,
    2175             :     (SvxMSDffTextRectangles*)mso_sptBevelTextRect, SAL_N_ELEMENTS( mso_sptBevelTextRect ),
    2176             :     21600, 21600,
    2177             :     10800, 10800,
    2178             :     NULL, 0,
    2179             :     (SvxMSDffHandle*)mso_sptBevelHandle, SAL_N_ELEMENTS( mso_sptBevelHandle )
    2180             : };
    2181             : 
    2182             : static const SvxMSDffVertPair mso_sptFoldedCornerVert[] =   // adjustment1 : x 10800 - 21600
    2183             : {
    2184             :     { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I }, { 0 MSO_I, 21600 },
    2185             :     { 0, 21600 }, { 0 MSO_I, 21600 }, { 3 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I },
    2186             :     { 10 MSO_I, 11 MSO_I }, { 21600, 0 MSO_I }
    2187             : };
    2188             : static const sal_uInt16 mso_sptFoldedCornerSegm[] =
    2189             : {
    2190             :     0x4000, 0x0004, 0x6001, 0x8000,
    2191             :     0x4000, 0x0001, 0x2001, 0x6001, 0x8000
    2192             : };
    2193             : static const SvxMSDffCalculationData mso_sptFoldedCornerCalc[] =
    2194             : {
    2195             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2196             :     { 0x8000, { 21600, 0, 0x400 } },
    2197             :     { 0x2001, { 0x0401, 8000, 10800 } },
    2198             :     { 0x8000, { 21600, 0, 0x0402 } },
    2199             :     { 0x2001, { 0x0401, 1, 2 } },
    2200             :     { 0x2001, { 0x0401, 1, 4 } },
    2201             :     { 0x2001, { 0x0401, 1, 7 } },
    2202             :     { 0x2001, { 0x0401, 1, 16 } },
    2203             :     { 0x6000, { 0x0403, 0x405, 0 } },
    2204             :     { 0x6000, { 0x0400, 0x406, 0 } },
    2205             :     { 0x8000, { 21600, 0, 0x404 } },
    2206             :     { 0x6000, { 0x400, 0x407, 0 } }
    2207             : };
    2208             : static const sal_Int32 mso_sptFoldedCornerDefault[] =
    2209             : {
    2210             :     1, 18900
    2211             : };
    2212             : static const SvxMSDffTextRectangles mso_sptFoldedCornerTextRect[] =
    2213             : {
    2214             :     { { 0, 0 }, { 21600, 11 MSO_I } }
    2215             : };
    2216             : static const SvxMSDffHandle mso_sptFoldedCornerHandle[] =
    2217             : {
    2218             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    2219             :         0x100, 1, 10800, 10800, 10800, 21600, MIN_INT32, 0x7fffffff }
    2220             : };
    2221             : static const mso_CustomShape msoFoldedCorner =
    2222             : {
    2223             :     (SvxMSDffVertPair*)mso_sptFoldedCornerVert, SAL_N_ELEMENTS( mso_sptFoldedCornerVert ),
    2224             :     (sal_uInt16*)mso_sptFoldedCornerSegm, sizeof( mso_sptFoldedCornerSegm ) >> 1,
    2225             :     (SvxMSDffCalculationData*)mso_sptFoldedCornerCalc, SAL_N_ELEMENTS( mso_sptFoldedCornerCalc ),
    2226             :     (sal_Int32*)mso_sptFoldedCornerDefault,
    2227             :     (SvxMSDffTextRectangles*)mso_sptFoldedCornerTextRect, SAL_N_ELEMENTS( mso_sptFoldedCornerTextRect ),
    2228             :     21600, 21600,
    2229             :     MIN_INT32, MIN_INT32,
    2230             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    2231             :     (SvxMSDffHandle*)mso_sptFoldedCornerHandle, SAL_N_ELEMENTS( mso_sptFoldedCornerHandle )
    2232             : };
    2233             : 
    2234             : static const SvxMSDffVertPair mso_sptActionButtonBlankVert[] =
    2235             : {
    2236             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2237             :     { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
    2238             :     { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
    2239             :     { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2240             :     { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
    2241             : };
    2242             : static const sal_uInt16 mso_sptActionButtonBlankSegm[] =
    2243             : {
    2244             :     0x4000, 0x0003, 0x6001, 0x8000,
    2245             :     0x4000, 0x0003, 0x6001, 0x8000,
    2246             :     0x4000, 0x0003, 0x6001, 0x8000,
    2247             :     0x4000, 0x0003, 0x6001, 0x8000,
    2248             :     0x4000, 0x0003, 0x6001, 0x8000
    2249             : };
    2250             : static const SvxMSDffCalculationData mso_sptActionButtonBlankCalc[] =
    2251             : {
    2252             :     { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
    2253             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
    2254             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
    2255             : };
    2256             : static const SvxMSDffTextRectangles mso_sptActionButtonBlankTextRect[] =
    2257             : {
    2258             :     { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
    2259             : };
    2260             : static const SvxMSDffHandle mso_sptButtonHandle[] =
    2261             : {
    2262             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    2263             :         0x100, 0, 10800, 10800, 0, 5400, MIN_INT32, 0x7fffffff }
    2264             : };
    2265             : static const mso_CustomShape msoActionButtonBlank =
    2266             : {
    2267             :     (SvxMSDffVertPair*)mso_sptActionButtonBlankVert, SAL_N_ELEMENTS( mso_sptActionButtonBlankVert ),
    2268             :     (sal_uInt16*)mso_sptActionButtonBlankSegm, sizeof( mso_sptActionButtonBlankSegm ) >> 1,
    2269             :     (SvxMSDffCalculationData*)mso_sptActionButtonBlankCalc, SAL_N_ELEMENTS( mso_sptActionButtonBlankCalc ),
    2270             :     (sal_Int32*)mso_sptDefault1400,
    2271             :     (SvxMSDffTextRectangles*)mso_sptActionButtonBlankTextRect, SAL_N_ELEMENTS( mso_sptActionButtonBlankTextRect ),
    2272             :     21600, 21600,
    2273             :     10800, 10800,
    2274             :     NULL, 0,
    2275             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2276             : };
    2277             : 
    2278             : static const SvxMSDffTextRectangles mso_sptActionButtonTextRect[] =
    2279             : {
    2280             :     { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
    2281             : };
    2282             : static const SvxMSDffVertPair mso_sptActionButtonHomeVert[] =
    2283             : {
    2284             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2285             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2286             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2287             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2288             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2289             : 
    2290             :     { 7 MSO_I, 0xa MSO_I }, { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },
    2291             :     { 0x12 MSO_I, 0x14 MSO_I }, { 0x16 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
    2292             :     { 0x1c MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1e MSO_I, 8 MSO_I },
    2293             : 
    2294             :     { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },{ 0x12 MSO_I, 0x14 MSO_I },
    2295             : 
    2296             :     { 0x20 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x1a MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
    2297             :     { 0x18 MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x20 MSO_I, 0x1a MSO_I }
    2298             : 
    2299             : };
    2300             : static const sal_uInt16 mso_sptActionButtonHomeSegm[] =
    2301             : {
    2302             :     0x4000, 0x0003, 0x6001, 0x8000,
    2303             :     0x4000, 0x0003, 0x6001, 0x8000,
    2304             :     0x4000, 0x0003, 0x6001, 0x8000,
    2305             :     0x4000, 0x0003, 0x6001, 0x8000,
    2306             :     0x4000, 0x0003, 0x6001, 0x8000,
    2307             :     0x4000, 0x000a, 0x6001, 0x8000,
    2308             :     0x4000, 0x0003, 0x6001, 0x8000,
    2309             :     0x4000, 0x0007, 0x6001, 0x8000
    2310             : };
    2311             : static const SvxMSDffCalculationData mso_sptActionButtonHomeCalc[] =    // adj value 0 - 5400
    2312             : {
    2313             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2314             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2315             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2316             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2317             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2318             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2319             :     { 0x2001, { 0x0405, 1, 10800 } },                           // scaling   6
    2320             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2321             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2322             : 
    2323             :     { 0x4001, { -8000, 0x0406, 1 } },   // 9
    2324             :     { 0x6000, { 0x0409, 0x0408, 0 } },  // a
    2325             :     { 0x4001, { 2960, 0x0406, 1 } },    // b
    2326             :     { 0x6000, { 0x040b, 0x0407, 0 } },  // c
    2327             :     { 0x4001, { -5000, 0x0406, 1 } },   // d
    2328             :     { 0x6000, { 0x040d, 0x0408, 0 } },  // e
    2329             :     { 0x4001, { -7000, 0x0406, 1 } },   // f
    2330             :     { 0x6000, { 0x040f, 0x0408, 0 } },  // 10
    2331             :     { 0x4001, { 5000, 0x0406, 1 } },    // 11
    2332             :     { 0x6000, { 0x0411, 0x0407, 0 } },  // 12
    2333             :     { 0x4001, { -2960, 0x0406, 1 } },   // 13
    2334             :     { 0x6000, { 0x0413, 0x0408, 0 } },  // 14
    2335             :     { 0x4001, { 8000, 0x0406, 1 } },    // 15
    2336             :     { 0x6000, { 0x0415,0x0407, 0 } },   // 16
    2337             :     { 0x4001, { 6100, 0x0406, 1 } },    // 17
    2338             :     { 0x6000, { 0x0417,0x0407, 0 } },   // 18
    2339             :     { 0x4001, { 8260, 0x0406, 1 } },    // 19
    2340             :     { 0x6000, { 0x0419, 0x0408, 0 } },  // 1a
    2341             :     { 0x4001, { -6100, 0x0406, 1 } },   // 1b
    2342             :     { 0x6000, { 0x041b, 0x0407, 0 } },  // 1c
    2343             :     { 0x4001, { -8000, 0x0406, 1 } },   // 1d
    2344             :     { 0x6000, { 0x041d, 0x0407, 0 } },  // 1e
    2345             :     { 0x4001, { -1060, 0x0406, 1 } },   // 1f
    2346             :     { 0x6000, { 0x041f, 0x0407, 0 } },  // 20
    2347             :     { 0x4001, { 1060, 0x0406, 1 } },    // 21
    2348             :     { 0x6000, { 0x0421, 0x0407, 0 } },  // 22
    2349             :     { 0x4001, { 4020, 0x0406, 1 } },    // 23
    2350             :     { 0x6000, { 0x0423, 0x0408, 0 } }   // 24
    2351             : 
    2352             : };
    2353             : static const mso_CustomShape msoActionButtonHome =
    2354             : {
    2355             :     (SvxMSDffVertPair*)mso_sptActionButtonHomeVert, SAL_N_ELEMENTS( mso_sptActionButtonHomeVert ),
    2356             :     (sal_uInt16*)mso_sptActionButtonHomeSegm, sizeof( mso_sptActionButtonHomeSegm ) >> 1,
    2357             :     (SvxMSDffCalculationData*)mso_sptActionButtonHomeCalc, SAL_N_ELEMENTS( mso_sptActionButtonHomeCalc ),
    2358             :     (sal_Int32*)mso_sptDefault1400,
    2359             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2360             :     21600, 21600,
    2361             :     10800, 10800,
    2362             :     NULL, 0,
    2363             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2364             : };
    2365             : 
    2366             : static const SvxMSDffVertPair mso_sptActionButtonHelpVert[] =
    2367             : {
    2368             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2369             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2370             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2371             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2372             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I,4 MSO_I },
    2373             :     { 7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0xc MSO_I },
    2374             :     { 0x12 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x16 MSO_I },                             // pp
    2375             :     { 0x12 MSO_I, 0x18 MSO_I }, { 0x1a MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I },       // ccp
    2376             :     { 0x1e MSO_I, 8 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x20 MSO_I, 0x24 MSO_I },    // ccp
    2377             :     { 0x20 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I },    // ccp
    2378             :     { 0x2c MSO_I, 0x2a MSO_I }, { 0x2e MSO_I, 0x26 MSO_I }, { 0x2e MSO_I, 0x24 MSO_I }, // ccp
    2379             :     { 0x30 MSO_I, 0x24 MSO_I }, { 0x30 MSO_I, 0x32 MSO_I }, { 0x34 MSO_I, 0x36 MSO_I }, // ccp
    2380             :     { 7 MSO_I, 0x36 MSO_I },                                                            // p
    2381             :     { 0x12 MSO_I, 0x36 MSO_I }, { 0x1c MSO_I, 0x32 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I }, // ccp
    2382             :     { 0x1c MSO_I, 0x38 MSO_I }, { 0x3a MSO_I, 0x3c MSO_I }, { 0x12 MSO_I, 0x3c MSO_I }, // ccp
    2383             :     { 7 MSO_I, 0x3c MSO_I }, { 0x34 MSO_I, 8 MSO_I }, { 0x34 MSO_I, 0x16 MSO_I },       // ccp
    2384             :     { 0x34 MSO_I, 0x14 MSO_I }
    2385             : };
    2386             : static const sal_uInt16 mso_sptActionButtonHelpSegm[] =
    2387             : {
    2388             :     0x4000, 0x0003, 0x6001, 0x8000,
    2389             :     0x4000, 0x0003, 0x6001, 0x8000,
    2390             :     0x4000, 0x0003, 0x6001, 0x8000,
    2391             :     0x4000, 0x0003, 0x6001, 0x8000,
    2392             :     0x4000, 0x0003, 0x6001, 0x8000,
    2393             :     0x4000, 0xa704, 0x6000, 0x8000,
    2394             :     0x4000, 0x0001, 0x2004, 0x0001, 0x2004, 0x0001, 0x6001, 0x8000
    2395             : };
    2396             : static const SvxMSDffCalculationData mso_sptActionButtonHelpCalc[] =    // adj value 0 - 5400
    2397             : {
    2398             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2399             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2400             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2401             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2402             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2403             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2404             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2405             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2406             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2407             : 
    2408             :     { 0x4001, { -1690, 0x0406, 1 } },   // 9
    2409             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2410             :     { 0x4001, { 4600, 0x0406, 1 } },    // b
    2411             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2412             :     { 0x4001, { 1690, 0x0406, 1 } },    // d
    2413             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2414             :     { 0x4001, { 7980, 0x0406, 1 } },    // f
    2415             :     { 0x6000, { 0x040f, 0x0408, 0 } },  // 10
    2416             :     { 0x4001, { 1270, 0x0406, 1 } },    // 11
    2417             :     { 0x6000, { 0x0411, 0x0407, 0 } },  // 12
    2418             :     { 0x4001, { 4000, 0x0406, 1 } },    // 13
    2419             :     { 0x6000, { 0x0413, 0x0408, 0 } },  // 14
    2420             :     { 0x4001, { 1750, 0x0406, 1 } },    // 15
    2421             :     { 0x6000, { 0x0415, 0x0408, 0 } },  // 16
    2422             :     { 0x4001, { 800, 0x0406, 1 } },     // 17
    2423             :     { 0x6000, { 0x0417, 0x0408, 0 } },  // 18
    2424             :     { 0x4001, { 1650, 0x0406, 1 } },    // 19
    2425             :     { 0x6000, { 0x0419, 0x0407, 0 } },  // 1a
    2426             :     { 0x4001, { 2340, 0x0406, 1 } },    // 1b
    2427             :     { 0x6000, { 0x041b, 0x0407, 0 } },  // 1c
    2428             :     { 0x4001, { 3640, 0x0406, 1 } },    // 1d
    2429             :     { 0x6000, { 0x041d, 0x0407, 0 } },  // 1e
    2430             :     { 0x4001, { 4670, 0x0406, 1 } },    // 1f
    2431             :     { 0x6000, { 0x041f, 0x0407, 0 } },  // 20
    2432             :     { 0x4001, { -1570, 0x0406, 1 } },   // 21
    2433             :     { 0x6000, { 0x0421, 0x0408, 0 } },  // 22
    2434             :     { 0x4001, { -3390, 0x0406, 1 } },   // 23
    2435             :     { 0x6000, { 0x0423, 0x0408, 0 } },  // 24
    2436             :     { 0x4001, { -6050, 0x0406, 1 } },   // 25
    2437             :     { 0x6000, { 0x0425, 0x0408, 0 } },  // 26
    2438             :     { 0x4001, { 2540, 0x0406, 1 } },    // 27
    2439             :     { 0x6000, { 0x0427, 0x0407, 0 } },  // 28
    2440             :     { 0x4001, { -8050, 0x0406, 1 } },   // 29
    2441             :     { 0x6000, { 0x0429, 0x0408, 0 } },  // 2a
    2442             :     { 0x4001, { -2540, 0x0406, 1 } },   // 2b
    2443             :     { 0x6000, { 0x042b, 0x0407, 0 } },  // 2c
    2444             :     { 0x4001, { -4460, 0x0406, 1 } },   // 2d
    2445             :     { 0x6000, { 0x042d, 0x0407, 0 } },  // 2e
    2446             :     { 0x4001, { -2330, 0x0406, 1 } },   // 2f
    2447             :     { 0x6000, { 0x042f, 0x0407, 0 } },  // 30
    2448             :     { 0x4001, { -4700, 0x0406, 1 } },   // 31
    2449             :     { 0x6000, { 0x0431, 0x0408, 0 } },  // 32
    2450             :     { 0x4001, { -1270, 0x0406, 1 } },   // 33
    2451             :     { 0x6000, { 0x0433, 0x0407, 0 } },  // 34
    2452             :     { 0x4001, { -5720, 0x0406, 1 } },   // 35
    2453             :     { 0x6000, { 0x0435, 0x0408, 0 } },  // 36
    2454             :     { 0x4001, { -2540, 0x0406, 1 } },   // 37
    2455             :     { 0x6000, { 0x0437, 0x0408, 0 } },  // 38
    2456             :     { 0x4001, { 1800, 0x0406, 1 } },    // 39
    2457             :     { 0x6000, { 0x0439, 0x0407, 0 } },  // 3a
    2458             :     { 0x4001, { -1700, 0x0406, 1 } },   // 3b
    2459             :     { 0x6000, { 0x043b, 0x0408, 0 } },  // 3c
    2460             :     { 0x4001, { 6290, 0x0406, 1 } },    // 3d
    2461             :     { 0x6000, { 0x043d, 0x0408, 0 } }   // 3e
    2462             : };
    2463             : static const mso_CustomShape msoActionButtonHelp =
    2464             : {
    2465             :     (SvxMSDffVertPair*)mso_sptActionButtonHelpVert, SAL_N_ELEMENTS( mso_sptActionButtonHelpVert ),
    2466             :     (sal_uInt16*)mso_sptActionButtonHelpSegm, sizeof( mso_sptActionButtonHelpSegm ) >> 1,
    2467             :     (SvxMSDffCalculationData*)mso_sptActionButtonHelpCalc, SAL_N_ELEMENTS( mso_sptActionButtonHelpCalc ),
    2468             :     (sal_Int32*)mso_sptDefault1400,
    2469             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2470             :     21600, 21600,
    2471             :     10800, 10800,
    2472             :     NULL, 0,
    2473             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2474             : };
    2475             : 
    2476             : static const SvxMSDffVertPair mso_sptActionButtonInformationVert[] =
    2477             : {
    2478             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2479             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2480             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2481             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2482             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2483             :     { 0x7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x8 MSO_I }, { 0x7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0x7 MSO_I, 0xc MSO_I },
    2484             :     { 0x7 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x14 MSO_I },
    2485             :     { 0x1a MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0x20 MSO_I },
    2486             :     { 0x22 MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x20 MSO_I }, { 0x26 MSO_I, 0x20 MSO_I },
    2487             :     { 0x26 MSO_I, 0x28 MSO_I }, { 0x1a MSO_I, 0x28 MSO_I }
    2488             : };
    2489             : static const sal_uInt16 mso_sptActionButtonInformationSegm[] =
    2490             : {
    2491             :     0x4000, 0x0003, 0x6001, 0x8000,
    2492             :     0x4000, 0x0003, 0x6001, 0x8000,
    2493             :     0x4000, 0x0003, 0x6001, 0x8000,
    2494             :     0x4000, 0x0003, 0x6001, 0x8000,
    2495             :     0x4000, 0x0003, 0x6001, 0x8000,
    2496             :     0x4000, 0xa704, 0x6000, 0x8000,
    2497             :     0x4000, 0xa704, 0x6000, 0x8000,
    2498             :     0x4000, 0x0009, 0x6001, 0x8000
    2499             : };
    2500             : static const SvxMSDffCalculationData mso_sptActionButtonInformationCalc[] = // adj value 0 - 5400
    2501             : {
    2502             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2503             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2504             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2505             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2506             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2507             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2508             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2509             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2510             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2511             : 
    2512             :     { 0x4001, { -8050, 0x0406, 1 } },   // 9
    2513             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2514             :     { 0x4001, { -8050, 0x0406, 1 } },   // b
    2515             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2516             :     { 0x4001, { 8050, 0x0406, 1 } },    // d
    2517             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2518             :     { 0x4001, { 8050, 0x0406, 1 } },    // f
    2519             :     { 0x6000, { 0x040f, 0x0408, 0 } },  // 10
    2520             : 
    2521             :     { 0x4001, { -2060, 0x0406, 1 } },   // 11
    2522             :     { 0x6000, { 0x0411, 0x0407, 0 } },  // 12
    2523             :     { 0x4001, { -7620, 0x0406, 1 } },   // 13
    2524             :     { 0x6000, { 0x0413, 0x0408, 0 } },  // 14
    2525             :     { 0x4001, { 2060, 0x0406, 1 } },    // 15
    2526             :     { 0x6000, { 0x0415, 0x0407, 0 } },  // 16
    2527             :     { 0x4001, { -3500, 0x0406, 1 } },   // 17
    2528             :     { 0x6000, { 0x0417, 0x0408, 0 } },  // 18
    2529             : 
    2530             :     { 0x4001, { -2960, 0x0406, 1 } },   // 19
    2531             :     { 0x6000, { 0x0419, 0x0407, 0 } },  // 1a
    2532             :     { 0x4001, { -2960, 0x0406, 1 } },   // 1b
    2533             :     { 0x6000, { 0x041b, 0x0408, 0 } },  // 1c
    2534             :     { 0x4001, { 1480, 0x0406, 1 } },    // 1d
    2535             :     { 0x6000, { 0x041d, 0x0407, 0 } },  // 1e
    2536             :     { 0x4001, { 5080, 0x0406, 1 } },    // 1f
    2537             :     { 0x6000, { 0x041f, 0x0408, 0 } },  // 20
    2538             :     { 0x4001, { 2960, 0x0406, 1 } },    // 21
    2539             :     { 0x6000, { 0x0421, 0x0407, 0 } },  // 22
    2540             :     { 0x4001, { 6140, 0x0406, 1 } },    // 23
    2541             :     { 0x6000, { 0x0423, 0x0408, 0 } },  // 24
    2542             :     { 0x4001, { -1480, 0x0406, 1 } },   // 25
    2543             :     { 0x6000, { 0x0425, 0x0407, 0 } },  // 26
    2544             :     { 0x4001, { -1920, 0x0406, 1 } },   // 27
    2545             :     { 0x6000, { 0x0427, 0x0408, 0 } },  // 28
    2546             : 
    2547             :     { 0x4001, { -5560, 0x0406, 1 } },   // 29
    2548             :     { 0x6000, { 0x0429, 0x0408, 0 } },  // 2a
    2549             : 
    2550             : };
    2551             : static const mso_CustomShape msoActionButtonInformation =
    2552             : {
    2553             :     (SvxMSDffVertPair*)mso_sptActionButtonInformationVert, SAL_N_ELEMENTS( mso_sptActionButtonInformationVert ),
    2554             :     (sal_uInt16*)mso_sptActionButtonInformationSegm, sizeof( mso_sptActionButtonInformationSegm ) >> 1,
    2555             :     (SvxMSDffCalculationData*)mso_sptActionButtonInformationCalc, SAL_N_ELEMENTS( mso_sptActionButtonInformationCalc ),
    2556             :     (sal_Int32*)mso_sptDefault1400,
    2557             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2558             :     21600, 21600,
    2559             :     10800, 10800,
    2560             :     NULL, 0,
    2561             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2562             : };
    2563             : 
    2564             : static const SvxMSDffVertPair mso_sptActionButtonBackPreviousVert[] =
    2565             : {
    2566             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2567             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2568             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2569             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I,4 MSO_I },
    2570             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2571             : 
    2572             :     { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }
    2573             : };
    2574             : static const sal_uInt16 mso_sptActionButtonForwardBackSegm[] =
    2575             : {
    2576             :     0x4000, 0x0003, 0x6001, 0x8000,
    2577             :     0x4000, 0x0003, 0x6001, 0x8000,
    2578             :     0x4000, 0x0003, 0x6001, 0x8000,
    2579             :     0x4000, 0x0003, 0x6001, 0x8000,
    2580             :     0x4000, 0x0003, 0x6001, 0x8000,
    2581             :     0x4000, 0x0002, 0x6001, 0x8000
    2582             : };
    2583             : static const SvxMSDffCalculationData mso_sptActionButtonForwardBackCalc[] = // adj value 0 - 5400
    2584             : {
    2585             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2586             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2587             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2588             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2589             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2590             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2591             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2592             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2593             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2594             : 
    2595             :     { 0x4001, { -8050, 0x0406, 1 } },   // 9
    2596             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2597             :     { 0x4001, { -8050, 0x0406, 1 } },   // b
    2598             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2599             :     { 0x4001, { 8050, 0x0406, 1 } },    // d
    2600             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2601             :     { 0x4001, { 8050, 0x0406, 1 } },    // f
    2602             :     { 0x6000, { 0x040f, 0x0408, 0 } }   // 10
    2603             : };
    2604             : static const mso_CustomShape msoActionButtonBackPrevious =
    2605             : {
    2606             :     (SvxMSDffVertPair*)mso_sptActionButtonBackPreviousVert, SAL_N_ELEMENTS( mso_sptActionButtonBackPreviousVert ),
    2607             :     (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
    2608             :     (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, SAL_N_ELEMENTS( mso_sptActionButtonForwardBackCalc ),
    2609             :     (sal_Int32*)mso_sptDefault1400,
    2610             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2611             :     21600, 21600,
    2612             :     10800, 10800,
    2613             :     NULL, 0,
    2614             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2615             : };
    2616             : 
    2617             : static const SvxMSDffVertPair mso_sptActionButtonForwardNextVert[] =
    2618             : {
    2619             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2620             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2621             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2622             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2623             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2624             : 
    2625             :     { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0xa MSO_I, 0x10 MSO_I }
    2626             : };
    2627             : static const mso_CustomShape msoActionButtonForwardNext =
    2628             : {
    2629             :     (SvxMSDffVertPair*)mso_sptActionButtonForwardNextVert, SAL_N_ELEMENTS( mso_sptActionButtonForwardNextVert ),
    2630             :     (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
    2631             :     (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, SAL_N_ELEMENTS( mso_sptActionButtonForwardBackCalc ),
    2632             :     (sal_Int32*)mso_sptDefault1400,
    2633             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2634             :     21600, 21600,
    2635             :     10800, 10800,
    2636             :     NULL, 0,
    2637             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2638             : };
    2639             : 
    2640             : static const SvxMSDffVertPair mso_sptActionButtonBeginningVert[] =
    2641             : {
    2642             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2643             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2644             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2645             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2646             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2647             : 
    2648             :     { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
    2649             :     { 0x14 MSO_I, 0xc MSO_I }, { 0x14 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }
    2650             : };
    2651             : static const sal_uInt16 mso_sptActionButtonBeginningEndSegm[] =
    2652             : {
    2653             :     0x4000, 0x0003, 0x6001, 0x8000,
    2654             :     0x4000, 0x0003, 0x6001, 0x8000,
    2655             :     0x4000, 0x0003, 0x6001, 0x8000,
    2656             :     0x4000, 0x0003, 0x6001, 0x8000,
    2657             :     0x4000, 0x0003, 0x6001, 0x8000,
    2658             : 
    2659             :     0x4000, 0x0002, 0x6001, 0x8000,
    2660             :     0x4000, 0x0003, 0x6001, 0x8000
    2661             : };
    2662             : static const SvxMSDffCalculationData mso_sptActionButtonBeginningEndCalc[] =    // adj value 0 - 5400
    2663             : {
    2664             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2665             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2666             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2667             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2668             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2669             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2670             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2671             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2672             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2673             : 
    2674             :     { 0x4001, { -4020, 0x0406, 1 } },   // 9
    2675             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2676             :     { 0x4001, { -8050, 0x0406, 1 } },   // b
    2677             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2678             :     { 0x4001, { 8050, 0x0406, 1 } },    // d
    2679             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2680             :     { 0x4001, { 8050, 0x0406, 1 } },    // f
    2681             :     { 0x6000, { 0x040f, 0x0408, 0 } },  // 10
    2682             : 
    2683             :     { 0x4001, { -8050, 0x0406, 1 } },   // 11
    2684             :     { 0x6000, { 0x0411, 0x0407, 0 } },  // 12
    2685             :     { 0x4001, { -6140, 0x0406, 1 } },   // 13
    2686             :     { 0x6000, { 0x0413, 0x0407, 0 } },  // 14
    2687             : 
    2688             : 
    2689             :     { 0x4001, { 4020, 0x0406, 1 } },    // 15
    2690             :     { 0x6000, { 0x0415, 0x0407, 0 } },  // 16
    2691             :     { 0x4001, { 6140, 0x0406, 1 } },    // 17
    2692             :     { 0x6000, { 0x0417, 0x0407, 0 } }   // 18
    2693             : };
    2694             : static const mso_CustomShape msoActionButtonBeginning =
    2695             : {
    2696             :     (SvxMSDffVertPair*)mso_sptActionButtonBeginningVert, SAL_N_ELEMENTS( mso_sptActionButtonBeginningVert ),
    2697             :     (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
    2698             :     (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, SAL_N_ELEMENTS( mso_sptActionButtonBeginningEndCalc ),
    2699             :     (sal_Int32*)mso_sptDefault1400,
    2700             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2701             :     21600, 21600,
    2702             :     10800, 10800,
    2703             :     NULL, 0,
    2704             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2705             : };
    2706             : 
    2707             : static const SvxMSDffVertPair mso_sptActionButtonEndVert[] =
    2708             : {
    2709             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2710             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2711             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2712             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2713             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2714             : 
    2715             :     { 0x16 MSO_I, 8 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
    2716             : 
    2717             :     { 0x18 MSO_I, 0xc MSO_I }, { 0x18 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0xc MSO_I }
    2718             : };
    2719             : static const mso_CustomShape msoActionButtonEnd =
    2720             : {
    2721             :     (SvxMSDffVertPair*)mso_sptActionButtonEndVert, SAL_N_ELEMENTS( mso_sptActionButtonEndVert ),
    2722             :     (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
    2723             :     (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, SAL_N_ELEMENTS( mso_sptActionButtonBeginningEndCalc ),
    2724             :     (sal_Int32*)mso_sptDefault1400,
    2725             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2726             :     21600, 21600,
    2727             :     10800, 10800,
    2728             :     NULL, 0,
    2729             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2730             : };
    2731             : 
    2732             : static const SvxMSDffVertPair mso_sptActionButtonReturnVert[] =
    2733             : {
    2734             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2735             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2736             :     { 21600, 0 }, { 21600,  21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2737             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2738             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2739             : 
    2740             :     { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I },                          // ppp
    2741             :     { 0xe MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 0x16 MSO_I },                      // ccp
    2742             :     { 7 MSO_I, 0x16 MSO_I },                                                                                // p
    2743             :     { 0x1a MSO_I, 0x16 MSO_I }, { 0x1c MSO_I, 0x12 MSO_I }, { 0x1c MSO_I, 0x10 MSO_I },                     // ccp
    2744             :     { 0x1c MSO_I, 0xc MSO_I }, { 7 MSO_I, 0xc MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0xc MSO_I },// pppp
    2745             :     { 0x24 MSO_I, 0xc MSO_I }, { 0x24 MSO_I, 0x10 MSO_I },                                                  // pp
    2746             :     { 0x24 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I },                        // ccp
    2747             :     { 0x18 MSO_I, 0x2a MSO_I },                                                                             // p
    2748             :     { 0x2c MSO_I, 0x2a MSO_I }, { 0xa MSO_I, 0x26 MSO_I }, { 0xa MSO_I, 0x10 MSO_I }                        // ccp
    2749             : };
    2750             : static const sal_uInt16 mso_sptActionButtonReturnSegm[] =
    2751             : {
    2752             :     0x4000, 0x0003, 0x6001, 0x8000,
    2753             :     0x4000, 0x0003, 0x6001, 0x8000,
    2754             :     0x4000, 0x0003, 0x6001, 0x8000,
    2755             :     0x4000, 0x0003, 0x6001, 0x8000,
    2756             :     0x4000, 0x0003, 0x6001, 0x8000,
    2757             :     0x4000, 0x0002, 0x2001, 0x0001, 0x2001, 0x0006,0x2001, 0x0001, 0x2001, 0x6001, 0x8000
    2758             : };
    2759             : static const SvxMSDffCalculationData mso_sptActionButtonReturnCalc[] =  // adj value 0 - 5400
    2760             : {
    2761             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2762             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2763             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2764             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2765             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2766             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2767             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2768             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2769             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2770             : 
    2771             :     { 0x4001, { -8050, 0x0406, 1 } },   // 9
    2772             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2773             :     { 0x4001, { -3800, 0x0406, 1 } },   // b
    2774             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2775             :     { 0x4001, { -4020, 0x0406, 1 } },   // d
    2776             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2777             :     { 0x4001, { 2330, 0x0406, 1 } },    // f
    2778             :     { 0x6000, { 0x040f, 0x0408, 0 } },  // 10
    2779             :     { 0x4001, { 3390, 0x0406, 1 } },    // 11
    2780             :     { 0x6000, { 0x0411, 0x0408, 0 } },  // 12
    2781             :     { 0x4001, { -3100, 0x0406, 1 } },   // 13
    2782             :     { 0x6000, { 0x0413, 0x0407, 0 } },  // 14
    2783             :     { 0x4001, { 4230, 0x0406, 1 } },    // 15
    2784             :     { 0x6000, { 0x0415, 0x0408, 0 } },  // 16
    2785             :     { 0x4001, { -1910, 0x0406, 1 } },   // 17
    2786             :     { 0x6000, { 0x0417, 0x0407, 0 } },  // 18
    2787             :     { 0x4001, { 1190, 0x0406, 1 } },    // 19
    2788             :     { 0x6000, { 0x0419, 0x0407, 0 } },  // 1a
    2789             :     { 0x4001, { 2110, 0x0406, 1 } },    // 1b
    2790             :     { 0x6000, { 0x041b, 0x0407, 0 } },  // 1c
    2791             :     { 0x4001, { 4030, 0x0406, 1 } },    // 1d
    2792             :     { 0x6000, { 0x041d, 0x0407, 0 } },  // 1e
    2793             :     { 0x4001, { -7830, 0x0406, 1 } },   // 1f
    2794             :     { 0x6000, { 0x041f, 0x0408, 0 } },  // 20
    2795             :     { 0x4001, { 8250, 0x0406, 1 } },    // 21
    2796             :     { 0x6000, { 0x0421, 0x0407, 0 } },  // 22
    2797             :     { 0x4001, { 6140, 0x0406, 1 } },    // 23
    2798             :     { 0x6000, { 0x0423, 0x0407, 0 } },  // 24
    2799             :     { 0x4001, { 5510, 0x0406, 1 } },    // 25
    2800             :     { 0x6000, { 0x0425, 0x0408, 0 } },  // 26
    2801             :     { 0x4001, { 3180, 0x0406, 1 } },    // 27
    2802             :     { 0x6000, { 0x0427, 0x0407, 0 } },  // 28
    2803             :     { 0x4001, { 8450, 0x0406, 1 } },    // 29
    2804             :     { 0x6000, { 0x0429, 0x0408, 0 } },  // 2a
    2805             :     { 0x4001, { -5090, 0x0406, 1 } },   // 2b
    2806             :     { 0x6000, { 0x042b, 0x0407, 0 } }   // 2c
    2807             : };
    2808             : static const mso_CustomShape msoActionButtonReturn =
    2809             : {
    2810             :     (SvxMSDffVertPair*)mso_sptActionButtonReturnVert, SAL_N_ELEMENTS( mso_sptActionButtonReturnVert ),
    2811             :     (sal_uInt16*)mso_sptActionButtonReturnSegm, sizeof( mso_sptActionButtonReturnSegm ) >> 1,
    2812             :     (SvxMSDffCalculationData*)mso_sptActionButtonReturnCalc, SAL_N_ELEMENTS( mso_sptActionButtonReturnCalc ),
    2813             :     (sal_Int32*)mso_sptDefault1400,
    2814             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2815             :     21600, 21600,
    2816             :     10800, 10800,
    2817             :     NULL, 0,
    2818             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2819             : };
    2820             : 
    2821             : static const SvxMSDffVertPair mso_sptActionButtonDocumentVert[] =
    2822             : {
    2823             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2824             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2825             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2826             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2827             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2828             : 
    2829             :     { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
    2830             :     { 0xa MSO_I, 0x14 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0xe MSO_I, 0x12 MSO_I }
    2831             : };
    2832             : static const sal_uInt16 mso_sptActionButtonDocumentSegm[] =
    2833             : {
    2834             :     0x4000, 0x0003, 0x6001, 0x8000,
    2835             :     0x4000, 0x0003, 0x6001, 0x8000,
    2836             :     0x4000, 0x0003, 0x6001, 0x8000,
    2837             :     0x4000, 0x0003, 0x6001, 0x8000,
    2838             :     0x4000, 0x0003, 0x6001, 0x8000,
    2839             : 
    2840             :     0x4000, 0x0004, 0x6001, 0x8000,
    2841             :     0x4000, 0x0002, 0x6001, 0x8000
    2842             : };
    2843             : static const SvxMSDffCalculationData mso_sptActionButtonDocumentCalc[] =    // adj value 0 - 5400
    2844             : {
    2845             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2846             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2847             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2848             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2849             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2850             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2851             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2852             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2853             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2854             : 
    2855             :     { 0x4001, { -6350, 0x0406, 1 } },   // 9
    2856             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2857             :     { 0x4001, { -7830, 0x0406, 1 } },   // b
    2858             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2859             :     { 0x4001, { 1690, 0x0406, 1 } },    // d
    2860             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2861             :     { 0x4001, { 6350, 0x0406, 1 } },    // f
    2862             :     { 0x6000, { 0x040f, 0x0407, 0 } },  // 10
    2863             :     { 0x4001, { -3810, 0x0406, 1 } },   // 11
    2864             :     { 0x6000, { 0x0411, 0x0408, 0 } },  // 12
    2865             :     { 0x4001, { 7830, 0x0406, 1 } },    // 13
    2866             :     { 0x6000, { 0x0413, 0x0408, 0 } }   // 14
    2867             : };
    2868             : static const mso_CustomShape msoActionButtonDocument =
    2869             : {
    2870             :     (SvxMSDffVertPair*)mso_sptActionButtonDocumentVert, SAL_N_ELEMENTS( mso_sptActionButtonDocumentVert ),
    2871             :     (sal_uInt16*)mso_sptActionButtonDocumentSegm, sizeof( mso_sptActionButtonDocumentSegm ) >> 1,
    2872             :     (SvxMSDffCalculationData*)mso_sptActionButtonDocumentCalc, SAL_N_ELEMENTS( mso_sptActionButtonDocumentCalc ),
    2873             :     (sal_Int32*)mso_sptDefault1400,
    2874             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2875             :     21600, 21600,
    2876             :     10800, 10800,
    2877             :     NULL, 0,
    2878             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2879             : };
    2880             : 
    2881             : static const SvxMSDffVertPair mso_sptActionButtonSoundVert[] =
    2882             : {
    2883             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2884             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2885             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2886             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2887             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2888             : 
    2889             :     { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
    2890             :     { 0xe MSO_I, 0x16 MSO_I }, { 0xa MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x1a MSO_I, 8 MSO_I },
    2891             : 
    2892             :     { 0x18 MSO_I, 0xc MSO_I }, { 0x1a MSO_I, 0x1c MSO_I },
    2893             : 
    2894             :     { 0x18 MSO_I, 0x16 MSO_I }, { 0x1a MSO_I, 0x1e MSO_I }
    2895             : };
    2896             : static const sal_uInt16 mso_sptActionButtonSoundSegm[] =
    2897             : {
    2898             :     0x4000, 0x0003, 0x6001, 0x8000,
    2899             :     0x4000, 0x0003, 0x6001, 0x8000,
    2900             :     0x4000, 0x0003, 0x6001, 0x8000,
    2901             :     0x4000, 0x0003, 0x6001, 0x8000,
    2902             :     0x4000, 0x0003, 0x6001, 0x8000,
    2903             : 
    2904             :     0x4000, 0x0005, 0x6001, 0x8000,
    2905             :     0x4000, 0x0001, 0x8000,
    2906             :     0x4000, 0x0001, 0x8000,
    2907             :     0x4000, 0x0001, 0x8000
    2908             : };
    2909             : static const SvxMSDffCalculationData mso_sptActionButtonSoundCalc[] =   // adj value 0 - 5400
    2910             : {
    2911             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2912             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2913             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2914             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2915             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2916             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2917             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2918             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2919             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2920             : 
    2921             :     { 0x4001, { -8050, 0x0406, 1 } },   // 9
    2922             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2923             :     { 0x4001, { -2750, 0x0406, 1 } },   // b
    2924             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2925             :     { 0x4001, { -2960, 0x0406, 1 } },   // d
    2926             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2927             :     { 0x4001, { 2120, 0x0406, 1 } },    // f
    2928             :     { 0x6000, { 0x040f, 0x0407, 0 } },  // 10
    2929             :     { 0x4001, { -8050, 0x0406, 1 } },   // 11
    2930             :     { 0x6000, { 0x0411, 0x0408, 0 } },  // 12
    2931             :     { 0x4001, { 8050, 0x0406, 1 } },    // 13
    2932             :     { 0x6000, { 0x0413, 0x0408, 0 } },  // 14
    2933             :     { 0x4001, { 2750, 0x0406, 1 } },    // 15
    2934             :     { 0x6000, { 0x0415, 0x0408, 0 } },  // 16
    2935             :     { 0x4001, { 4020, 0x0406, 1 } },    // 17
    2936             :     { 0x6000, { 0x0417, 0x0407, 0 } },  // 18
    2937             :     { 0x4001, { 8050, 0x0406, 1 } },    // 19
    2938             :     { 0x6000, { 0x0419, 0x0407, 0 } },  // 1a
    2939             :     { 0x4001, { -5930, 0x0406, 1 } },   // 1b
    2940             :     { 0x6000, { 0x041b, 0x0408, 0 } },  // 1c
    2941             :     { 0x4001, { 5930, 0x0406, 1 } },    // 1d
    2942             :     { 0x6000, { 0x041d, 0x0408, 0 } }   // 1e
    2943             : };
    2944             : static const mso_CustomShape msoActionButtonSound =
    2945             : {
    2946             :     (SvxMSDffVertPair*)mso_sptActionButtonSoundVert, SAL_N_ELEMENTS( mso_sptActionButtonSoundVert ),
    2947             :     (sal_uInt16*)mso_sptActionButtonSoundSegm, sizeof( mso_sptActionButtonSoundSegm ) >> 1,
    2948             :     (SvxMSDffCalculationData*)mso_sptActionButtonSoundCalc, SAL_N_ELEMENTS( mso_sptActionButtonSoundCalc ),
    2949             :     (sal_Int32*)mso_sptDefault1400,
    2950             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    2951             :     21600, 21600,
    2952             :     10800, 10800,
    2953             :     NULL, 0,
    2954             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    2955             : };
    2956             : 
    2957             : static const SvxMSDffVertPair mso_sptActionButtonMovieVert[] =
    2958             : {
    2959             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    2960             :     { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
    2961             :     { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
    2962             :     { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    2963             :     { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
    2964             : 
    2965             :     { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x12 MSO_I },
    2966             :     { 0x16 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x1e MSO_I, 0x18 MSO_I },
    2967             :     { 0x20 MSO_I, 0x18 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x1e MSO_I, 0x22 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I },
    2968             :     { 0x16 MSO_I, 0x24 MSO_I }, { 0x16 MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x28 MSO_I },
    2969             :     { 0x10 MSO_I, 0x28 MSO_I }, { 0xe MSO_I, 0x2c MSO_I }, { 0xa MSO_I, 0x2c MSO_I }
    2970             : };
    2971             : static const sal_uInt16 mso_sptActionButtonMovieSegm[] =
    2972             : {
    2973             :     0x4000, 0x0003, 0x6001, 0x8000,
    2974             :     0x4000, 0x0003, 0x6001, 0x8000,
    2975             :     0x4000, 0x0003, 0x6001, 0x8000,
    2976             :     0x4000, 0x0003, 0x6001, 0x8000,
    2977             :     0x4000, 0x0003, 0x6001, 0x8000,
    2978             :     0x4000, 0x0012, 0x6001, 0x8000
    2979             : };
    2980             : static const SvxMSDffCalculationData mso_sptActionButtonMovieCalc[] =   // adj value 0 - 5400
    2981             : {
    2982             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    2983             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    2984             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    2985             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    2986             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    2987             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
    2988             :     { 0x2001, { 0x0405, 1, 10800 } },           // scaling   6
    2989             :     { 0x2001, { DFF_Prop_geoRight, 1, 2 } },    // lr center 7
    2990             :     { 0x2001, { DFF_Prop_geoBottom, 1, 2 } },   // ul center 8
    2991             : 
    2992             :     { 0x4001, { -8050, 0x0406, 1 } },   // 9
    2993             :     { 0x6000, { 0x0409, 0x0407, 0 } },  // a
    2994             :     { 0x4001, { -4020, 0x0406, 1 } },   // b
    2995             :     { 0x6000, { 0x040b, 0x0408, 0 } },  // c
    2996             :     { 0x4001, { -7000, 0x0406, 1 } },   // d
    2997             :     { 0x6000, { 0x040d, 0x0407, 0 } },  // e
    2998             :     { 0x4001, { -6560, 0x0406, 1 } },   // f
    2999             :     { 0x6000, { 0x040f, 0x0407, 0 } },  // 10
    3000             :     { 0x4001, { -3600, 0x0406, 1 } },   // 11
    3001             :     { 0x6000, { 0x0411, 0x0408, 0 } },  // 12
    3002             :     { 0x4001, { 4020, 0x0406, 1 } },    // 13
    3003             :     { 0x6000, { 0x0413, 0x0407, 0 } },  // 14
    3004             :     { 0x4001, { 4660, 0x0406, 1 } },    // 15
    3005             :     { 0x6000, { 0x0415, 0x0407, 0 } },  // 16
    3006             :     { 0x4001, { -2960, 0x0406, 1 } },   // 17
    3007             :     { 0x6000, { 0x0417, 0x0408, 0 } },  // 18
    3008             :     { 0x4001, { -2330, 0x0406, 1 } },   // 19
    3009             :     { 0x6000, { 0x0419, 0x0408, 0 } },  // 1a
    3010             :     { 0x4001, { 6780, 0x0406, 1 } },    // 1b
    3011             :     { 0x6000, { 0x041b, 0x0407, 0 } },  // 1c
    3012             :     { 0x4001, { 7200, 0x0406, 1 } },    // 1d
    3013             :     { 0x6000, { 0x041d, 0x0407, 0 } },  // 1e
    3014             :     { 0x4001, { 8050, 0x0406, 1 } },    // 1f
    3015             :     { 0x6000, { 0x041f, 0x0407, 0 } },  // 20
    3016             :     { 0x4001, { 2960, 0x0406, 1 } },    // 21
    3017             :     { 0x6000, { 0x0421, 0x0408, 0 } },  // 22
    3018             :     { 0x4001, { 2330, 0x0406, 1 } },    // 23
    3019             :     { 0x6000, { 0x0423, 0x0408, 0 } },  // 24
    3020             :     { 0x4001, { 3800, 0x0406, 1 } },    // 25
    3021             :     { 0x6000, { 0x0425, 0x0408, 0 } },  // 26
    3022             :     { 0x4001, { -1060, 0x0406, 1 } },   // 27
    3023             :     { 0x6000, { 0x0427, 0x0408, 0 } },  // 28
    3024             :     { 0x4001, { -6350, 0x0406, 1 } },   // 29
    3025             :     { 0x6000, { 0x0429, 0x0407, 0 } },  // 2a
    3026             :     { 0x4001, { -640, 0x0406, 1 } },    // 2b
    3027             :     { 0x6000, { 0x042b, 0x0408, 0 } }   // 2c
    3028             : };
    3029             : static const mso_CustomShape msoActionButtonMovie =
    3030             : {
    3031             :     (SvxMSDffVertPair*)mso_sptActionButtonMovieVert, SAL_N_ELEMENTS( mso_sptActionButtonMovieVert ),
    3032             :     (sal_uInt16*)mso_sptActionButtonMovieSegm, sizeof( mso_sptActionButtonMovieSegm ) >> 1,
    3033             :     (SvxMSDffCalculationData*)mso_sptActionButtonMovieCalc, SAL_N_ELEMENTS( mso_sptActionButtonMovieCalc ),
    3034             :     (sal_Int32*)mso_sptDefault1400,
    3035             :     (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
    3036             :     21600, 21600,
    3037             :     10800, 10800,
    3038             :     NULL, 0,
    3039             :     (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
    3040             : };
    3041             : 
    3042             : static const SvxMSDffVertPair mso_sptSmileyFaceVert[] = // adj value 15510 - 17520
    3043             : {
    3044             :     { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
    3045             :     { 7305, 7515 }, { 1165, 1165 }, { 0, 360 },
    3046             :     { 14295, 7515 }, { 1165, 1165 }, { 0, 360 },
    3047             :     { 4870, 1 MSO_I }, { 8680, 2 MSO_I }, { 12920, 2 MSO_I }, { 16730, 1 MSO_I }
    3048             : };
    3049             : static const sal_uInt16 mso_sptSmileyFaceSegm[] =
    3050             : {
    3051             :     0xa203, 0x6000, 0x8000,
    3052             :     0xa203, 0x6000, 0x8000,
    3053             :     0xa203, 0x6000, 0x8000,
    3054             :     0x4000, 0x2001, 0xaa00, 0x8000
    3055             : };
    3056             : static const SvxMSDffCalculationData mso_sptSmileyFaceCalc[] =
    3057             : {
    3058             :     { 0x2000, { DFF_Prop_adjustValue, 0, 15510 } },
    3059             :     { 0x8000, { 17520, 0, 0x400 } },
    3060             :     { 0x4000, { 15510, 0x400, 0 } }
    3061             : };
    3062             : 
    3063             : static const SvxMSDffTextRectangles mso_sptSmileyFaceTextRect[] =
    3064             : {
    3065             :     { { 0, 1 MSO_I }, { 4 MSO_I, 21600 } }
    3066             : };
    3067             : static const sal_Int32 mso_sptSmileyFaceDefault[] =
    3068             : {
    3069             :     1, 17520
    3070             : };
    3071             : static const SvxMSDffHandle mso_sptSmileyHandle[] =
    3072             : {
    3073             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3074             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 15510, 17520 }
    3075             : };
    3076             : static const mso_CustomShape msoSmileyFace =
    3077             : {
    3078             :     (SvxMSDffVertPair*)mso_sptSmileyFaceVert, SAL_N_ELEMENTS( mso_sptSmileyFaceVert ),
    3079             :     (sal_uInt16*)mso_sptSmileyFaceSegm, sizeof( mso_sptSmileyFaceSegm ) >> 1,
    3080             :     (SvxMSDffCalculationData*)mso_sptSmileyFaceCalc, SAL_N_ELEMENTS( mso_sptSmileyFaceCalc ),
    3081             :     (sal_Int32*)mso_sptSmileyFaceDefault,
    3082             :     (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
    3083             :     21600, 21600,
    3084             :     MIN_INT32, MIN_INT32,
    3085             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    3086             :     (SvxMSDffHandle*)mso_sptSmileyHandle, SAL_N_ELEMENTS( mso_sptSmileyHandle )      // handles
    3087             : };
    3088             : 
    3089             : static const SvxMSDffVertPair mso_sptDonutVert[] =  // adj value 0 - 10800
    3090             : {
    3091             :     { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
    3092             :     { 10800, 10800 }, { 1 MSO_I, 1 MSO_I }, { 0, 360 }
    3093             : };
    3094             : static const sal_uInt16 mso_sptDonutSegm[] =
    3095             : {
    3096             :     0xa203, 0x6000, 0xa203, 0x8000
    3097             : };
    3098             : static const SvxMSDffCalculationData mso_sptDonutCalc[] =
    3099             : {
    3100             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    3101             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
    3102             : };
    3103             : static const SvxMSDffHandle mso_sptDonutHandle[] =
    3104             : {
    3105             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3106             :         0x100, 10800, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    3107             : };
    3108             : static const mso_CustomShape msoDonut =
    3109             : {
    3110             :     (SvxMSDffVertPair*)mso_sptDonutVert, SAL_N_ELEMENTS( mso_sptDonutVert ),
    3111             :     (sal_uInt16*)mso_sptDonutSegm, sizeof( mso_sptDonutSegm ) >> 1,
    3112             :     (SvxMSDffCalculationData*)mso_sptDonutCalc, SAL_N_ELEMENTS( mso_sptDonutCalc ),
    3113             :     (sal_Int32*)mso_sptDefault5400,
    3114             :     (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
    3115             :     21600, 21600,
    3116             :     MIN_INT32, MIN_INT32,
    3117             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    3118             :     (SvxMSDffHandle*)mso_sptDonutHandle, SAL_N_ELEMENTS( mso_sptDonutHandle )        // handles
    3119             : };
    3120             : 
    3121             : static const SvxMSDffVertPair mso_sptNoSmokingVert[] =  // adj value 0 - 7200
    3122             : {
    3123             :     { 10800, 10800 },  { 10800, 10800 }, { 0, 360 },
    3124             :     { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
    3125             :     { 9 MSO_I, 0xa MSO_I }, { 0xb MSO_I, 0xc MSO_I }, { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
    3126             :     { 0xd MSO_I, 0xe MSO_I }, { 0xf MSO_I, 0x10 MSO_I }
    3127             : };
    3128             : static const sal_uInt16 mso_sptNoSmokingSegm[] =
    3129             : {
    3130             :     0xa203, 0x6000, 0xa404, 0x6000, 0xa404, 0x6000, 0x8000
    3131             : };
    3132             : static const SvxMSDffCalculationData mso_sptNoSmokingCalc[] =
    3133             : {
    3134             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },         // 0
    3135             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },     // 1
    3136             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },     // 2
    3137             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },         // 3
    3138             :     { 0xa080, { 0x403, 0, 0x402 } },                    // 4
    3139             :     { 0x8000, { 10800, 0, 0x403 } },                    // 5 x1
    3140             :     { 0x4000, { 10800, 0x403, 0 } },                    // 6 x2
    3141             :     { 0x8000, { 10800, 0, 0x404 } },                    // 7 y1
    3142             :     { 0x4000, { 10800, 0x404, 0 } },                    // 8 y2
    3143             :     { 0x6081, { 0x405, 0x407, 45 } },                   // 9
    3144             :     { 0x6082, { 0x405, 0x407, 45 } },                   // a
    3145             :     { 0x6081, { 0x405, 0x408, 45 } },                   // b
    3146             :     { 0x6082, { 0x405, 0x408, 45 } },                   // c
    3147             :     { 0x6081, { 0x406, 0x408, 45 } },                   // d
    3148             :     { 0x6082, { 0x406, 0x408, 45 } },                   // e
    3149             :     { 0x6081, { 0x406, 0x407, 45 } },                   // f
    3150             :     { 0x6082, { 0x406, 0x407, 45 } }                    // 10
    3151             : };
    3152             : static const SvxMSDffHandle mso_sptNoSmokingHandle[] =
    3153             : {
    3154             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3155             :         0x100, 10800, 10800, 10800, 0, 7200, MIN_INT32, 0x7fffffff }
    3156             : };
    3157             : static const mso_CustomShape msoNoSmoking =
    3158             : {
    3159             :     (SvxMSDffVertPair*)mso_sptNoSmokingVert, SAL_N_ELEMENTS( mso_sptNoSmokingVert ),
    3160             :     (sal_uInt16*)mso_sptNoSmokingSegm, sizeof( mso_sptNoSmokingSegm ) >> 1,
    3161             :     (SvxMSDffCalculationData*)mso_sptNoSmokingCalc, SAL_N_ELEMENTS( mso_sptNoSmokingCalc ),
    3162             :     (sal_Int32*)mso_sptDefault2700,
    3163             :     (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
    3164             :     21600, 21600,
    3165             :     MIN_INT32, MIN_INT32,
    3166             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    3167             :     (SvxMSDffHandle*)mso_sptNoSmokingHandle, SAL_N_ELEMENTS( mso_sptNoSmokingHandle )        // handles
    3168             : };
    3169             : 
    3170             : static const SvxMSDffVertPair mso_sptBlockArcVert[] =   // adj value 0 (degrees)
    3171             : {                                                       // adj value 1: 0 -> 10800;
    3172             :     { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
    3173             :     { 5 MSO_I, 5 MSO_I }, { 6 MSO_I, 6 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
    3174             : };
    3175             : static const sal_uInt16 mso_sptBlockArcSegm[] =
    3176             : {
    3177             :     0xA404, 0xa504, 0x6001, 0x8000
    3178             : };
    3179             : static const sal_Int32 mso_sptBlockArcDefault[] =
    3180             : {
    3181             :     2, 180, 5400
    3182             : };
    3183             : static const SvxMSDffCalculationData mso_sptBlockArcCalc[] =
    3184             : {
    3185             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    3186             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    3187             :     { 0x2000, { 0x400, 10800, 0 } },
    3188             :     { 0x2000, { 0x401, 10800, 0 } },
    3189             :     { 0x8000, { 21600, 0, 0x402 } },
    3190             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
    3191             :     { 0x4000, { 10800, DFF_Prop_adjust2Value, 0 } },
    3192             :     { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } },
    3193             :     { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }
    3194             : };
    3195             : static const SvxMSDffHandle mso_sptBlockArcHandle[] =
    3196             : {
    3197             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    3198             :         0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    3199             : };
    3200             : static const mso_CustomShape msoBlockArc =
    3201             : {
    3202             :     (SvxMSDffVertPair*)mso_sptBlockArcVert, SAL_N_ELEMENTS( mso_sptBlockArcVert ),
    3203             :     (sal_uInt16*)mso_sptBlockArcSegm, sizeof( mso_sptBlockArcSegm ) >> 1,
    3204             :     (SvxMSDffCalculationData*)mso_sptBlockArcCalc, SAL_N_ELEMENTS( mso_sptBlockArcCalc ),
    3205             :     (sal_Int32*)mso_sptBlockArcDefault,
    3206             :     NULL, 0,
    3207             :     21600, 21600,
    3208             :     MIN_INT32, MIN_INT32,
    3209             :     NULL, 0,
    3210             :     (SvxMSDffHandle*)mso_sptBlockArcHandle, SAL_N_ELEMENTS( mso_sptBlockArcHandle )      // handles
    3211             : };
    3212             : 
    3213             : // aware : control points are always part of the bounding box
    3214             : static const SvxMSDffVertPair mso_sptHeartVert[] =
    3215             : {
    3216             :     { 10800, 21599 }, { 321, 6886 }, { 70, 6036 },      // ppp
    3217             :     { -9, 5766 }, { -1, 5474 }, { 2, 5192 },            // ccp
    3218             :     { 6, 4918 }, { 43, 4641 }, { 101, 4370 },           // ccp
    3219             :     { 159, 4103 }, { 245, 3837 }, { 353, 3582 },        // ccp
    3220             :     { 460, 3326 }, { 591, 3077 }, { 741, 2839 },        // ccp
    3221             :     { 892, 2598 }, { 1066, 2369 }, { 1253, 2155 },      // ccp
    3222             :     { 1443, 1938 }, { 1651, 1732 }, { 1874, 1543 },     // ccp
    3223             :     { 2097, 1351 }, { 2337, 1174 }, { 2587, 1014 },     // ccp
    3224             :     { 2839, 854 }, { 3106, 708 }, { 3380, 584 },        // ccp
    3225             :     { 3656, 459 }, { 3945, 350 }, { 4237, 264 },        // ccp
    3226             :     { 4533, 176 }, { 4838, 108 }, { 5144, 66 },         // ccp
    3227             :     { 5454, 22 }, { 5771, 1 }, { 6086, 3 },             // ccp
    3228             :     { 6407, 7 }, { 6731, 35 }, { 7048, 89 },            // ccp
    3229             :     { 7374, 144 }, { 7700, 226 }, { 8015, 335 },        // ccp
    3230             :     { 8344, 447 }, { 8667, 590 }, { 8972, 756 },        // ccp
    3231             :     { 9297, 932 }, { 9613, 1135 }, { 9907, 1363 },      // ccp
    3232             :     { 10224, 1609 }, { 10504, 1900 }, { 10802, 2169 },  // ccp
    3233             :     { 11697, 1363 },                                    // p
    3234             :     { 11971, 1116 }, { 12304, 934 }, { 12630, 756 },    // ccp
    3235             :     { 12935, 590 }, { 13528, 450 }, { 13589, 335 },     // ccp
    3236             :     { 13901, 226 }, { 14227, 144 }, { 14556, 89 },      // ccp
    3237             :     { 14872, 35 }, { 15195, 7 }, { 15517, 3 },          // ccp
    3238             :     { 15830, 0 }, { 16147, 22 }, { 16458, 66 },         // ccp
    3239             :     { 16764, 109 }, { 17068, 177 }, { 17365, 264 },     // ccp
    3240             :     { 17658, 349 }, { 17946, 458 }, { 18222, 584 },     // ccp
    3241             :     { 18496, 708 }, { 18762, 854 }, { 19015, 1014 },    // ccp
    3242             :     { 19264, 1172 }, { 19504, 1349 }, { 19730, 1543 },  // ccp
    3243             :     { 19950, 1731 }, { 20158, 1937 }, { 20350, 2155 },  // ccp
    3244             :     { 20536, 2369 }, { 20710, 2598 }, { 20861, 2839 },  // ccp
    3245             :     { 21010, 3074 }, { 21143, 3323 }, { 21251, 3582 },  // ccp
    3246             :     { 21357, 3835 }, { 21443, 4099 }, { 21502, 4370 },  // ccp
    3247             :     { 21561, 4639 }, { 21595, 4916 }, { 21600, 5192 },  // ccp
    3248             :     { 21606, 5474 }, { 21584, 5760 }, { 21532, 6036 },  // ccp
    3249             :     { 21478, 6326 }, { 21366, 6603 }, { 21282, 6887 },  // ccp
    3250             :     { 10802, 21602 }                                    // p
    3251             : };
    3252             : static const sal_uInt16 mso_sptHeartSegm[] =
    3253             : {
    3254             :     0x4000, 0x0002, 0x2010, 0x0001, 0x2010, 0x0001, 0x6001, 0x8000
    3255             : };
    3256             : static const SvxMSDffTextRectangles mso_sptHeartTextRect[] =
    3257             : {
    3258             :     { { 5080, 2540 }, { 16520, 13550 } }
    3259             : };
    3260             : static const SvxMSDffVertPair mso_sptHeartGluePoints[] =
    3261             : {
    3262             :     { 10800, 2180 }, { 3090, 10800 }, { 10800, 21600 }, { 18490, 10800 }
    3263             : };
    3264             : static const mso_CustomShape msoHeart =
    3265             : {
    3266             :     (SvxMSDffVertPair*)mso_sptHeartVert, SAL_N_ELEMENTS( mso_sptHeartVert ),
    3267             :     (sal_uInt16*)mso_sptHeartSegm, sizeof( mso_sptHeartSegm ) >> 1,
    3268             :     NULL, 0,
    3269             :     NULL,
    3270             :     (SvxMSDffTextRectangles*)mso_sptHeartTextRect, SAL_N_ELEMENTS( mso_sptHeartTextRect ),
    3271             :     21615, 21602,
    3272             :     MIN_INT32, MIN_INT32,
    3273             :     (SvxMSDffVertPair*)mso_sptHeartGluePoints, SAL_N_ELEMENTS( mso_sptHeartGluePoints ),
    3274             :     NULL, 0     // handles
    3275             : };
    3276             : 
    3277             : static const SvxMSDffVertPair mso_sptLightningBoldVert[] =
    3278             : {
    3279             :     { 8458, 0 }, { 0, 3923 }, { 7564, 8416 }, { 4993, 9720 },
    3280             :     { 12197, 13904 }, { 9987, 14934 }, { 21600, 21600 }, { 14768, 12911 },
    3281             :     { 16558, 12016 }, { 11030, 6840 }, { 12831, 6120 }, { 8458, 0 }
    3282             : };
    3283             : static const SvxMSDffTextRectangles mso_sptLightningBoldTextRect[] =
    3284             : {
    3285             :     { { 8680, 7410 }, { 13970, 14190 } }
    3286             : };
    3287             : static const SvxMSDffVertPair mso_sptLightningBoldGluePoints[] =
    3288             : {
    3289             :     { 8458, 0 }, { 0, 3923 }, { 4993, 9720 }, { 9987, 14934 }, { 21600, 21600 },
    3290             :     { 16558, 12016 }, { 12831, 6120 }
    3291             : };
    3292             : static const mso_CustomShape msoLightningBold =
    3293             : {
    3294             :     (SvxMSDffVertPair*)mso_sptLightningBoldVert, SAL_N_ELEMENTS( mso_sptLightningBoldVert ),
    3295             :     NULL, 0,
    3296             :     NULL, 0,
    3297             :     NULL,
    3298             :     (SvxMSDffTextRectangles*)mso_sptLightningBoldTextRect, SAL_N_ELEMENTS( mso_sptLightningBoldTextRect ),
    3299             :     21600, 21600,
    3300             :     MIN_INT32, MIN_INT32,
    3301             :     (SvxMSDffVertPair*)mso_sptLightningBoldGluePoints, SAL_N_ELEMENTS( mso_sptLightningBoldGluePoints ),
    3302             :     NULL, 0     // handles
    3303             : };
    3304             : 
    3305             : static const SvxMSDffVertPair mso_sptSunVert[] =    // adj value 2700 -> 10125
    3306             : {
    3307             :     { 0, 10800 },               { 4 MSO_I, 8 MSO_I },       { 4 MSO_I, 9 MSO_I },
    3308             :     { 0x0a MSO_I, 0x0b MSO_I }, { 0x0c MSO_I, 0x0d MSO_I }, { 0x0e MSO_I, 0x0f MSO_I },
    3309             :     { 0x10 MSO_I, 0x11 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0x14 MSO_I, 0x15 MSO_I },
    3310             :     { 0x16 MSO_I, 0x17 MSO_I }, { 0x18 MSO_I, 0x19 MSO_I }, { 0x1a MSO_I, 0x1b MSO_I },
    3311             :     { 0x1c MSO_I, 0x1d MSO_I }, { 0x1e MSO_I, 0x1f MSO_I }, { 0x20 MSO_I, 0x21 MSO_I },
    3312             :     { 0x22 MSO_I, 0x23 MSO_I }, { 0x24 MSO_I, 0x25 MSO_I }, { 0x26 MSO_I, 0x27 MSO_I },
    3313             :     { 0x28 MSO_I, 0x29 MSO_I }, { 0x2a MSO_I, 0x2b MSO_I }, { 0x2c MSO_I, 0x2d MSO_I },
    3314             :     { 0x2e MSO_I, 0x2f MSO_I }, { 0x30 MSO_I, 0x31 MSO_I }, { 0x32 MSO_I, 0x33 MSO_I },
    3315             :     { 10800, 10800 }, { 0x36 MSO_I, 0x36 MSO_I },   { 0, 360 }
    3316             : };
    3317             : static const sal_uInt16 mso_sptSunSegm[] =
    3318             : {
    3319             :     0x4000, 0x0002, 0x6001, 0x8000,
    3320             :     0x4000, 0x0002, 0x6001, 0x8000,
    3321             :     0x4000, 0x0002, 0x6001, 0x8000,
    3322             :     0x4000, 0x0002, 0x6001, 0x8000,
    3323             :     0x4000, 0x0002, 0x6001, 0x8000,
    3324             :     0x4000, 0x0002, 0x6001, 0x8000,
    3325             :     0x4000, 0x0002, 0x6001, 0x8000,
    3326             :     0x4000, 0x0002, 0x6001, 0x8000,
    3327             :     0xa203, 0x6000, 0x8000
    3328             : };
    3329             : static const SvxMSDffCalculationData mso_sptSunCalc[] =
    3330             : {
    3331             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    3332             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    3333             :     { 0x2000, { DFF_Prop_adjustValue, 0, 2700 } },
    3334             :     { 0x2001, { 0x402, 5080, 7425 } },
    3335             :     { 0x2000, { 0x403, 2540, 0 } },
    3336             :     { 0x8000, { 10125, 0, DFF_Prop_adjustValue } },
    3337             :     { 0x2001, { 0x405, 2120, 7425 } },
    3338             :     { 0x2000, { 0x406, 210, 0 } },
    3339             :     { 0x4000, { 10800, 0x407, 0 } },    // y1 (0x8)
    3340             :     { 0x8000, { 10800, 0, 0x407 } },    // y2 (0x9)
    3341             :     { 0x0081, { 0, 10800, 45 } },       // 0xa
    3342             :     { 0x0082, { 0, 10800, 45 } },       // 0xb
    3343             :     { 0x6081, { 0x404, 0x408, 45 } },   // 0xc
    3344             :     { 0x6082, { 0x404, 0x408, 45 } },   // 0xd
    3345             :     { 0x6081, { 0x404, 0x409, 45 } },   // 0xe
    3346             :     { 0x6082, { 0x404, 0x409, 45 } },   // 0xf
    3347             :     { 0x0081, { 0, 10800, 90 } },       // 0x10
    3348             :     { 0x0082, { 0, 10800, 90 } },       // 0x11
    3349             :     { 0x6081, { 0x404, 0x408, 90 } },   // 0x12
    3350             :     { 0x6082, { 0x404, 0x408, 90 } },   // 0x13
    3351             :     { 0x6081, { 0x404, 0x409, 90 } },   // 0x14
    3352             :     { 0x6082, { 0x404, 0x409, 90 } },   // 0x15
    3353             :     { 0x0081, { 0, 10800, 135 } },      // 0x16
    3354             :     { 0x0082, { 0, 10800, 135 } },      // 0x17
    3355             :     { 0x6081, { 0x404, 0x408, 135 } },  // 0x18
    3356             :     { 0x6082, { 0x404, 0x408, 135 } },  // 0x19
    3357             :     { 0x6081, { 0x404, 0x409, 135 } },  // 0x1a
    3358             :     { 0x6082, { 0x404, 0x409, 135 } },  // 0x1b
    3359             :     { 0x0081, { 0, 10800, 180 } },      // 0x1c
    3360             :     { 0x0082, { 0, 10800, 180 } },      // 0x1d
    3361             :     { 0x6081, { 0x404, 0x408, 180 } },  // 0x1e
    3362             :     { 0x6082, { 0x404, 0x408, 180 } },  // 0x1f
    3363             :     { 0x6081, { 0x404, 0x409, 180 } },  // 0x20
    3364             :     { 0x6082, { 0x404, 0x409, 180 } },  // 0x21
    3365             :     { 0x0081, { 0, 10800, 225 } },      // 0x22
    3366             :     { 0x0082, { 0, 10800, 225 } },      // 0x23
    3367             :     { 0x6081, { 0x404, 0x408, 225 } },  // 0x24
    3368             :     { 0x6082, { 0x404, 0x408, 225 } },  // 0x25
    3369             :     { 0x6081, { 0x404, 0x409, 225 } },  // 0x26
    3370             :     { 0x6082, { 0x404, 0x409, 225 } },  // 0x27
    3371             :     { 0x0081, { 0, 10800, 270 } },      // 0x28
    3372             :     { 0x0082, { 0, 10800, 270 } },      // 0x29
    3373             :     { 0x6081, { 0x404, 0x408, 270 } },  // 0x2a
    3374             :     { 0x6082, { 0x404, 0x408, 270 } },  // 0x2b
    3375             :     { 0x6081, { 0x404, 0x409, 270 } },  // 0x2c
    3376             :     { 0x6082, { 0x404, 0x409, 270 } },  // 0x2d
    3377             :     { 0x0081, { 0, 10800, 315 } },      // 0x2e
    3378             :     { 0x0082, { 0, 10800, 315 } },      // 0x2f
    3379             :     { 0x6081, { 0x404, 0x408, 315 } },  // 0x30
    3380             :     { 0x6082, { 0x404, 0x408, 315 } },  // 0x31
    3381             :     { 0x6081, { 0x404, 0x409, 315 } },  // 0x32
    3382             :     { 0x6082, { 0x404, 0x409, 315 } },  // 0x33
    3383             :     { 0x2081, { DFF_Prop_adjustValue, 10800, 45 } },    // 0x34 ( textbox )
    3384             :     { 0x2081, { DFF_Prop_adjustValue, 10800, 225 } },   // 0x35
    3385             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
    3386             : };
    3387             : static const SvxMSDffTextRectangles mso_sptSunTextRect[] =
    3388             : {
    3389             :     { { 0x34 MSO_I, 0x34 MSO_I }, { 0x35 MSO_I, 0x35 MSO_I } }
    3390             : };
    3391             : static const SvxMSDffHandle mso_sptSunHandle[] =
    3392             : {
    3393             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3394             :         0x100, 10800, 10800, 10800, 2700, 10125, MIN_INT32, 0x7fffffff }
    3395             : };
    3396             : static const mso_CustomShape msoSun =
    3397             : {
    3398             :     (SvxMSDffVertPair*)mso_sptSunVert, SAL_N_ELEMENTS( mso_sptSunVert ),
    3399             :     (sal_uInt16*)mso_sptSunSegm, sizeof( mso_sptSunSegm ) >> 1,
    3400             :     (SvxMSDffCalculationData*)mso_sptSunCalc, SAL_N_ELEMENTS( mso_sptSunCalc ),
    3401             :     (sal_Int32*)mso_sptDefault5400,
    3402             :     (SvxMSDffTextRectangles*)mso_sptSunTextRect, SAL_N_ELEMENTS( mso_sptSunTextRect ),
    3403             :     21600, 21600,
    3404             :     MIN_INT32, MIN_INT32,
    3405             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    3406             :     (SvxMSDffHandle*)mso_sptSunHandle, SAL_N_ELEMENTS( mso_sptSunHandle )        // handles
    3407             : };
    3408             : 
    3409             : static const SvxMSDffVertPair mso_sptMoonVert[] =   // adj value 0 -> 18900
    3410             : {
    3411             :     { 21600, 0 },
    3412             :     { 3 MSO_I, 4 MSO_I },   { 0 MSO_I, 5080 },      { 0 MSO_I, 10800 }, // ccp
    3413             :     { 0 MSO_I, 16520 },     { 3 MSO_I, 5 MSO_I },   { 21600, 21600 },   // ccp
    3414             :     { 9740, 21600 },        { 0, 16730 },           { 0, 10800 },       // ccp
    3415             :     { 0, 4870 },            { 9740, 0 },            { 21600, 0  }       // ccp
    3416             : };
    3417             : static const sal_uInt16 mso_sptMoonSegm[] =
    3418             : {
    3419             :     0x4000, 0x2004, 0x6000, 0x8000
    3420             : };
    3421             : static const SvxMSDffCalculationData mso_sptMoonCalc[] =
    3422             : {
    3423             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    3424             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    3425             :     { 0x2001, { 0x401, 1, 2 } },
    3426             :     { 0x6000, { 0x402, DFF_Prop_adjustValue, 0 } },
    3427             :     { 0x2001, { DFF_Prop_adjustValue, 1794, 10000 } },
    3428             :     { 0x8000, { 21600, 0, 0x0404 } },
    3429             :     { 0x2001, { DFF_Prop_adjustValue, 400, 18900 } },
    3430             :     { 0x8081, { 0, 10800, 0x406 } },
    3431             :     { 0x8082, { 0, 10800, 0x406 } },
    3432             :     { 0x6000, { 0x407, 0x407, 0 } },
    3433             :     { 0x8000, { 21600, 0, 0x408 } }
    3434             : };
    3435             : static const SvxMSDffTextRectangles mso_sptMoonTextRect[] =
    3436             : {
    3437             :     { { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 0xa MSO_I } }
    3438             : };
    3439             : static const SvxMSDffVertPair mso_sptMoonGluePoints[] =
    3440             : {
    3441             :     { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }, { 0 MSO_I, 10800 }
    3442             : };
    3443             : static const SvxMSDffHandle mso_sptMoonHandle[] =
    3444             : {
    3445             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3446             :         0x100, 10800, 10800, 10800, 0, 18900, MIN_INT32, 0x7fffffff }
    3447             : };
    3448             : static const mso_CustomShape msoMoon =
    3449             : {
    3450             :     (SvxMSDffVertPair*)mso_sptMoonVert, SAL_N_ELEMENTS( mso_sptMoonVert ),
    3451             :     (sal_uInt16*)mso_sptMoonSegm, sizeof( mso_sptMoonSegm ) >> 1,
    3452             :     (SvxMSDffCalculationData*)mso_sptMoonCalc, SAL_N_ELEMENTS( mso_sptMoonCalc ),
    3453             :     (sal_Int32*)mso_sptDefault10800,
    3454             :     (SvxMSDffTextRectangles*)mso_sptMoonTextRect, SAL_N_ELEMENTS( mso_sptMoonTextRect ),
    3455             :     21600, 21600,
    3456             :     MIN_INT32, MIN_INT32,
    3457             :     (SvxMSDffVertPair*)mso_sptMoonGluePoints, SAL_N_ELEMENTS( mso_sptMoonGluePoints ),
    3458             :     (SvxMSDffHandle*)mso_sptMoonHandle, SAL_N_ELEMENTS( mso_sptMoonHandle )      // handles
    3459             : };
    3460             : 
    3461             : static const SvxMSDffVertPair mso_sptBracketPairVert[] =    // adj value 0 -> 10800
    3462             : {
    3463             :     { 0 MSO_I, 0 },     { 0, 1 MSO_I },     // left top alignment
    3464             :     { 0, 2 MSO_I },     { 0 MSO_I, 21600 }, // left  bottom "
    3465             :     { 3 MSO_I, 21600 }, { 21600, 2 MSO_I }, // right bottom "
    3466             :     { 21600, 1 MSO_I }, { 3 MSO_I, 0 },     // right top    "
    3467             :     { 0 MSO_I, 0 },     { 0, 1 MSO_I },     // filling area
    3468             :     { 0, 2 MSO_I },     { 0 MSO_I, 21600 },
    3469             :     { 3 MSO_I, 21600 }, { 21600, 2 MSO_I },
    3470             :     { 21600, 1 MSO_I }, { 3 MSO_I, 0 }
    3471             : };
    3472             : static const sal_uInt16 mso_sptBracketPairSegm[] =
    3473             : {
    3474             :     0x4000, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
    3475             :     0x4000, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
    3476             :     0x4000, 0xa701, 0x0001, 0xa801, 0x0001,             // filling area
    3477             :     0xa701, 0x0001, 0xa801, 0x6000, 0xab00, 0x8000
    3478             : };
    3479             : static const SvxMSDffCalculationData mso_sptBracketPairCalc[] =
    3480             : {
    3481             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    3482             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    3483             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    3484             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    3485             :     { 0x2082, { DFF_Prop_adjustValue, 0, 45 } },
    3486             :     { 0x2000, { 0x404, 0, 10800 } },
    3487             :     { 0x8000, { 0, 0, DFF_Prop_adjustValue } },
    3488             :     { 0xa000, { 0x406, 0, 0x405 } },
    3489             :     { 0xa000, { DFF_Prop_geoLeft, 0, 0x407 } },
    3490             :     { 0xa000, { DFF_Prop_geoTop, 0, 0x407 } },
    3491             :     { 0x6000, { DFF_Prop_geoRight, 0x407, 0 } },
    3492             :     { 0x6000, { DFF_Prop_geoBottom, 0x407, 0 } },
    3493             :     { 0xa000, { DFF_Prop_geoLeft, 0, 0x405 } },
    3494             :     { 0xa000, { DFF_Prop_geoTop, 0, 0x405 } },
    3495             :     { 0x6000, { DFF_Prop_geoRight, 0x405, 0 } },
    3496             :     { 0x6000, { DFF_Prop_geoBottom, 0x405, 0 } }
    3497             : };
    3498             : static const SvxMSDffTextRectangles mso_sptBracketPairTextRect[] =
    3499             : {
    3500             :     { { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 0xb MSO_I } }
    3501             : };
    3502             : static const SvxMSDffHandle mso_sptBracketPairHandle[] =
    3503             : {
    3504             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    3505             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    3506             : };
    3507             : static const mso_CustomShape msoBracketPair =
    3508             : {
    3509             :     (SvxMSDffVertPair*)mso_sptBracketPairVert, SAL_N_ELEMENTS( mso_sptBracketPairVert ),
    3510             :     (sal_uInt16*)mso_sptBracketPairSegm, sizeof( mso_sptBracketPairSegm ) >> 1,
    3511             :     (SvxMSDffCalculationData*)mso_sptBracketPairCalc, SAL_N_ELEMENTS( mso_sptBracketPairCalc ),
    3512             :     (sal_Int32*)mso_sptDefault3700,
    3513             :     (SvxMSDffTextRectangles*)mso_sptBracketPairTextRect, SAL_N_ELEMENTS( mso_sptBracketPairTextRect ),
    3514             :     21600, 21600,
    3515             :     10800, MIN_INT32,
    3516             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    3517             :     (SvxMSDffHandle*)mso_sptBracketPairHandle, SAL_N_ELEMENTS( mso_sptBracketPairHandle )        // handles
    3518             : };
    3519             : 
    3520             : static const sal_uInt16 mso_sptPlaqueSegm[] =
    3521             : {
    3522             :     0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
    3523             : };
    3524             : static const SvxMSDffTextRectangles mso_sptPlaqueTextRect[] =
    3525             : {
    3526             :     { { 0xc MSO_I, 0xd MSO_I }, { 0xe MSO_I, 0xf MSO_I } }
    3527             : };
    3528             : static const SvxMSDffHandle mso_sptPlaqueHandle[] =
    3529             : {
    3530             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    3531             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    3532             : };
    3533             : static const mso_CustomShape msoPlaque =
    3534             : {
    3535             :     (SvxMSDffVertPair*)mso_sptBracketPairVert, SAL_N_ELEMENTS( mso_sptBracketPairVert ),
    3536             :     (sal_uInt16*)mso_sptPlaqueSegm, sizeof( mso_sptPlaqueSegm ) >> 1,
    3537             :     (SvxMSDffCalculationData*)mso_sptBracketPairCalc, SAL_N_ELEMENTS( mso_sptBracketPairCalc ),
    3538             :     (sal_Int32*)mso_sptDefault3600,
    3539             :     (SvxMSDffTextRectangles*)mso_sptPlaqueTextRect, SAL_N_ELEMENTS( mso_sptPlaqueTextRect ),
    3540             :     21600, 21600,
    3541             :     10800, 10800,
    3542             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    3543             :     (SvxMSDffHandle*)mso_sptPlaqueHandle, SAL_N_ELEMENTS( mso_sptPlaqueHandle )      // handles
    3544             : };
    3545             : 
    3546             : static const SvxMSDffVertPair mso_sptBracePairVert[] =  // adj value 0 -> 5400
    3547             : {
    3548             :     { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 },           // left bracket
    3549             :     { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
    3550             :     { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 },   // right bracket
    3551             :     { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 },
    3552             :     { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 },           // filling area
    3553             :     { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
    3554             :     { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 },
    3555             :     { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 }
    3556             : };
    3557             : static const sal_uInt16 mso_sptBracePairSegm[] =
    3558             : {
    3559             :     0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
    3560             :     0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
    3561             :     0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x0001,                     // filling area
    3562             :     0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x6000, 0xab00, 0x8000
    3563             : };
    3564             : static const SvxMSDffCalculationData mso_sptBracePairCalc[] =
    3565             : {
    3566             :     { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
    3567             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    3568             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    3569             :     { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
    3570             :     { 0x2001, { 0x400, 2, 1 } },                                    //  4
    3571             :     { 0x2001, { DFF_Prop_adjustValue, 2, 1 } },                     //  5
    3572             :     { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },                 //  6
    3573             :     { 0x8000, { 21600, 0, 0x406 } },                                //  7
    3574             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x405 } },                    //  8
    3575             :     { 0x2001, { DFF_Prop_adjustValue, 1, 3 } },                     //  9
    3576             :     { 0x6000, { 0x409, DFF_Prop_adjustValue, 0 } },                 // xa
    3577             :     { 0x6000, { DFF_Prop_geoLeft, 0x40a, 0 } },                     // xb
    3578             :     { 0x6000, { DFF_Prop_geoTop, 0x409, 0 } },                      // xc
    3579             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x40a } },                    // xd
    3580             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } }                    // xe
    3581             : };
    3582             : static const SvxMSDffTextRectangles mso_sptBracePairTextRect[] =
    3583             : {
    3584             :     { { 0xb MSO_I, 0xc MSO_I }, { 0xd MSO_I, 0xe MSO_I } }
    3585             : };
    3586             : static const SvxMSDffHandle mso_sptBracePairHandle[] =
    3587             : {
    3588             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
    3589             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 }
    3590             : };
    3591             : static const mso_CustomShape msoBracePair =
    3592             : {
    3593             :     (SvxMSDffVertPair*)mso_sptBracePairVert, SAL_N_ELEMENTS( mso_sptBracePairVert ),
    3594             :     (sal_uInt16*)mso_sptBracePairSegm, sizeof( mso_sptBracePairSegm ) >> 1,
    3595             :     (SvxMSDffCalculationData*)mso_sptBracePairCalc, SAL_N_ELEMENTS( mso_sptBracePairCalc ),
    3596             :     (sal_Int32*)mso_sptDefault1800,
    3597             :     (SvxMSDffTextRectangles*)mso_sptBracePairTextRect, SAL_N_ELEMENTS( mso_sptBracePairTextRect ),
    3598             :     21600, 21600,
    3599             :     10800, MIN_INT32,
    3600             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    3601             :     (SvxMSDffHandle*)mso_sptBracePairHandle, SAL_N_ELEMENTS( mso_sptBracePairHandle )        // handles
    3602             : };
    3603             : 
    3604             : static const SvxMSDffCalculationData mso_sptBracketCalc[] =
    3605             : {
    3606             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
    3607             :     { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
    3608             :     { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
    3609             :     { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
    3610             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
    3611             : };
    3612             : static const sal_uInt16 mso_sptBracketSegm[] =
    3613             : {
    3614             :     0x4000, 0x2001, 0x0001, 0x2001, 0x8000
    3615             : };
    3616             : static const SvxMSDffVertPair mso_sptLeftBracketVert[] =    // adj value 0 -> 10800
    3617             : {
    3618             :     { 21600, 0 }, { 10800,  0 }, { 0, 3 MSO_I }, { 0, 1 MSO_I },
    3619             :     { 0, 2 MSO_I }, { 0, 4 MSO_I }, { 10800, 21600 }, { 21600, 21600 }
    3620             : };
    3621             : static const SvxMSDffTextRectangles mso_sptLeftBracketTextRect[] =
    3622             : {
    3623             :     { { 6350, 3 MSO_I }, { 21600, 4 MSO_I } }
    3624             : };
    3625             : static const SvxMSDffVertPair mso_sptLeftBracketGluePoints[] =
    3626             : {
    3627             :     { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }
    3628             : };
    3629             : static const SvxMSDffHandle mso_sptLeftBracketHandle[] =
    3630             : {
    3631             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3632             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
    3633             : };
    3634             : static const mso_CustomShape msoLeftBracket =
    3635             : {
    3636             :     (SvxMSDffVertPair*)mso_sptLeftBracketVert, SAL_N_ELEMENTS( mso_sptLeftBracketVert ),
    3637             :     (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
    3638             :     (SvxMSDffCalculationData*)mso_sptBracketCalc, SAL_N_ELEMENTS( mso_sptBracketCalc ),
    3639             :     (sal_Int32*)mso_sptDefault1800,
    3640             :     (SvxMSDffTextRectangles*)mso_sptLeftBracketTextRect, SAL_N_ELEMENTS( mso_sptLeftBracketTextRect ),
    3641             :     21600, 21600,
    3642             :     MIN_INT32, MIN_INT32,
    3643             :     (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, SAL_N_ELEMENTS( mso_sptLeftBracketGluePoints ),
    3644             :     (SvxMSDffHandle*)mso_sptLeftBracketHandle, SAL_N_ELEMENTS( mso_sptLeftBracketHandle )        // handles
    3645             : };
    3646             : static const SvxMSDffVertPair mso_sptRightBracketVert[] =   // adj value 0 -> 10800
    3647             : {
    3648             :     { 0, 0 }, { 10800, 0 }, { 21600, 3 MSO_I }, { 21600, 1 MSO_I },
    3649             :     { 21600, 2 MSO_I }, { 21600, 4 MSO_I }, { 10800, 21600 }, { 0, 21600 }
    3650             : };
    3651             : static const SvxMSDffTextRectangles mso_sptRightBracketTextRect[] =
    3652             : {
    3653             :     { { 0, 3 MSO_I }, { 15150, 4 MSO_I } }
    3654             : };
    3655             : static const SvxMSDffVertPair mso_sptRightBracketGluePoints[] =
    3656             : {
    3657             :     { 0, 0 }, { 0, 21600 }, { 21600, 10800 }
    3658             : };
    3659             : static const SvxMSDffHandle mso_sptRightBracketHandle[] =
    3660             : {
    3661             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3662             :         1, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
    3663             : };
    3664             : static const mso_CustomShape msoRightBracket =
    3665             : {
    3666             :     (SvxMSDffVertPair*)mso_sptRightBracketVert, SAL_N_ELEMENTS( mso_sptRightBracketVert ),
    3667             :     (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
    3668             :     (SvxMSDffCalculationData*)mso_sptBracketCalc, SAL_N_ELEMENTS( mso_sptBracketCalc ),
    3669             :     (sal_Int32*)mso_sptDefault1800,
    3670             :     (SvxMSDffTextRectangles*)mso_sptRightBracketTextRect, SAL_N_ELEMENTS( mso_sptRightBracketTextRect ),
    3671             :     21600, 21600,
    3672             :     MIN_INT32, MIN_INT32,
    3673             :     (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, SAL_N_ELEMENTS( mso_sptRightBracketGluePoints ),
    3674             :     (SvxMSDffHandle*)mso_sptRightBracketHandle, SAL_N_ELEMENTS( mso_sptRightBracketHandle )      // handles
    3675             : };
    3676             : 
    3677             : static const SvxMSDffCalculationData mso_sptBraceCalc[] =
    3678             : {
    3679             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
    3680             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    3681             :     { 0xa000, { 0x404, 0, DFF_Prop_adjustValue } },
    3682             :     { 0xa000, { 0x404, 0, 0x400 } },
    3683             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    3684             :     { 0x6000, { 0x404, 0x400, 0 } },
    3685             :     { 0x6000, { 0x404, DFF_Prop_adjustValue, 0 } },
    3686             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    3687             :     { 0x8000, { 21600, 0, 0x400 } },
    3688             :     { 0x2001, { DFF_Prop_adjustValue, 10000, 31953 } },
    3689             :     { 0x8000, { 21600, 0, 0x409 } }
    3690             : };
    3691             : static const sal_uInt16 mso_sptBraceSegm[] =
    3692             : {
    3693             :     0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x8000
    3694             : };
    3695             : static const sal_Int32 mso_sptBraceDefault[] =
    3696             : {
    3697             :     2, 1800, 10800
    3698             : };
    3699             : static const SvxMSDffVertPair mso_sptLeftBraceVert[] =
    3700             : {
    3701             :     { 21600, 0 },                                               // p
    3702             :     { 16200, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I },       // ccp
    3703             :     { 10800, 2 MSO_I },                                         // p
    3704             :     { 10800, 3 MSO_I }, { 5400, 4 MSO_I }, { 0, 4 MSO_I },      // ccp
    3705             :     { 5400, 4 MSO_I },  { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
    3706             :     { 10800, 7 MSO_I },                                         // p
    3707             :     { 10800, 8 MSO_I }, { 16200, 21600 }, { 21600, 21600 }      // ccp
    3708             : };
    3709             : static const SvxMSDffTextRectangles mso_sptLeftBraceTextRect[] =
    3710             : {
    3711             :     { { 13800, 9 MSO_I }, { 21600, 10 MSO_I } }
    3712             : };
    3713             : static const SvxMSDffHandle mso_sptLeftBraceHandle[] =
    3714             : {
    3715             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3716             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 },
    3717             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3718             :         0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
    3719             : };
    3720             : static const mso_CustomShape msoLeftBrace =     // adj value0 0 -> 5400
    3721             : {                                               // adj value1 0 -> 21600
    3722             :     (SvxMSDffVertPair*)mso_sptLeftBraceVert, SAL_N_ELEMENTS( mso_sptLeftBraceVert ),
    3723             :     (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
    3724             :     (SvxMSDffCalculationData*)mso_sptBraceCalc, SAL_N_ELEMENTS( mso_sptBraceCalc ),
    3725             :     (sal_Int32*)mso_sptBraceDefault,
    3726             :     (SvxMSDffTextRectangles*)mso_sptLeftBraceTextRect, SAL_N_ELEMENTS( mso_sptLeftBraceTextRect ),
    3727             :     21600, 21600,
    3728             :     MIN_INT32, MIN_INT32,
    3729             :     (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, SAL_N_ELEMENTS( mso_sptLeftBracketGluePoints ),
    3730             :     (SvxMSDffHandle*)mso_sptLeftBraceHandle, SAL_N_ELEMENTS( mso_sptLeftBraceHandle )        // handles
    3731             : };
    3732             : static const SvxMSDffVertPair mso_sptRightBraceVert[] =
    3733             : {
    3734             :     { 0, 0 },                                                   // p
    3735             :     { 5400, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I },        // ccp
    3736             :     { 10800, 2 MSO_I },                                         // p
    3737             :     { 10800, 3 MSO_I }, { 16200, 4 MSO_I }, { 21600, 4 MSO_I }, // ccp
    3738             :     { 16200, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
    3739             :     { 10800, 7 MSO_I },                                         // p
    3740             :     { 10800, 8 MSO_I }, { 5400, 21600 }, { 0, 21600 }           // ccp
    3741             : };
    3742             : static const SvxMSDffTextRectangles mso_sptRightBraceTextRect[] =
    3743             : {
    3744             :     { { 0, 9 MSO_I }, { 7800, 10 MSO_I } }
    3745             : };
    3746             : static const SvxMSDffHandle mso_sptRightBraceHandle[] =
    3747             : {
    3748             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3749             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 },
    3750             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3751             :         1, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
    3752             : };
    3753             : static const mso_CustomShape msoRightBrace =        // adj value0 0 -> 5400
    3754             : {                                               // adj value1 0 -> 21600
    3755             :     (SvxMSDffVertPair*)mso_sptRightBraceVert, SAL_N_ELEMENTS( mso_sptRightBraceVert ),
    3756             :     (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
    3757             :     (SvxMSDffCalculationData*)mso_sptBraceCalc, SAL_N_ELEMENTS( mso_sptBraceCalc ),
    3758             :     (sal_Int32*)mso_sptBraceDefault,
    3759             :     (SvxMSDffTextRectangles*)mso_sptRightBraceTextRect, SAL_N_ELEMENTS( mso_sptRightBraceTextRect ),
    3760             :     21600, 21600,
    3761             :     MIN_INT32, MIN_INT32,
    3762             :     (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, SAL_N_ELEMENTS( mso_sptRightBracketGluePoints ),
    3763             :     (SvxMSDffHandle*)mso_sptRightBraceHandle, SAL_N_ELEMENTS( mso_sptRightBraceHandle )      // handles
    3764             : };
    3765             : 
    3766             : static const SvxMSDffVertPair mso_sptIrregularSeal1Vert[] =
    3767             : {
    3768             :     { 10901, 5905 }, { 8458, 2399 }, { 7417, 6425 }, { 476, 2399 },
    3769             :     { 4732, 7722 }, { 106, 8718 }, { 3828, 11880 }, { 243, 14689 },
    3770             :     { 5772, 14041 }, { 4868, 17719 }, { 7819, 15730 }, { 8590, 21600 },
    3771             :     { 10637, 15038 }, { 13349, 19840 }, { 14125, 14561 }, { 18248, 18195 },
    3772             :     { 16938, 13044 }, { 21600, 13393 }, { 17710, 10579 }, { 21198, 8242 },
    3773             :     { 16806, 7417 }, { 18482, 4560 }, { 14257, 5429 }, { 14623, 106 }, { 10901, 5905 }
    3774             : };
    3775             : static const SvxMSDffTextRectangles mso_sptIrregularSeal1TextRect[] =
    3776             : {
    3777             :     { { 4680, 6570 }, { 16140, 13280 } }
    3778             : };
    3779             : static const SvxMSDffVertPair mso_sptIrregularSeal1GluePoints[] =
    3780             : {
    3781             :     { 14623, 106 }, { 106, 8718 }, { 8590, 21600 }, { 21600, 13393 }
    3782             : };
    3783             : static const mso_CustomShape msoIrregularSeal1 =
    3784             : {
    3785             :     (SvxMSDffVertPair*)mso_sptIrregularSeal1Vert, SAL_N_ELEMENTS( mso_sptIrregularSeal1Vert ),
    3786             :     NULL, 0,
    3787             :     NULL, 0,
    3788             :     NULL,
    3789             :     (SvxMSDffTextRectangles*)mso_sptIrregularSeal1TextRect, SAL_N_ELEMENTS( mso_sptIrregularSeal1TextRect ),
    3790             :     21600, 21600,
    3791             :     MIN_INT32, MIN_INT32,
    3792             :     (SvxMSDffVertPair*)mso_sptIrregularSeal1GluePoints, SAL_N_ELEMENTS( mso_sptIrregularSeal1GluePoints ),
    3793             :     NULL, 0     // handles
    3794             : };
    3795             : 
    3796             : static const SvxMSDffVertPair mso_sptIrregularSeal2Vert[] =
    3797             : {
    3798             :     { 11464, 4340 }, { 9722, 1887 }, { 8548, 6383 }, { 4503, 3626 },
    3799             :     { 5373, 7816 }, { 1174, 8270 }, { 3934, 11592 }, { 0, 12875 },
    3800             :     { 3329, 15372 }, { 1283, 17824 }, { 4804, 18239 }, { 4918, 21600 },
    3801             :     { 7525, 18125 }, { 8698, 19712 }, { 9871, 17371 }, { 11614, 18844 },
    3802             :     { 12178, 15937 }, { 14943, 17371 }, { 14640, 14348 }, { 18878, 15632 },
    3803             :     { 16382, 12311 }, { 18270, 11292 }, { 16986, 9404 }, { 21600, 6646 },
    3804             :     { 16382, 6533 }, { 18005, 3172 }, { 14524, 5778 }, { 14789, 0 },
    3805             :     { 11464, 4340 }
    3806             : };
    3807             : static const SvxMSDffTextRectangles mso_sptIrregularSeal2TextRect[] =
    3808             : {
    3809             :     { { 5400, 6570 }, { 14160, 15290 } }
    3810             : };
    3811             : static const SvxMSDffVertPair mso_sptIrregularSeal2GluePoints[] =
    3812             : {
    3813             :     { 9722, 1887 }, { 0, 12875 }, { 11614, 18844 }, { 21600, 6646 }
    3814             : };
    3815             : static const mso_CustomShape msoIrregularSeal2 =
    3816             : {
    3817             :     (SvxMSDffVertPair*)mso_sptIrregularSeal2Vert, SAL_N_ELEMENTS( mso_sptIrregularSeal2Vert ),
    3818             :     NULL, 0,
    3819             :     NULL, 0,
    3820             :     NULL,
    3821             :     (SvxMSDffTextRectangles*)mso_sptIrregularSeal2TextRect, SAL_N_ELEMENTS( mso_sptIrregularSeal2TextRect ),
    3822             :     21600, 21600,
    3823             :     MIN_INT32, MIN_INT32,
    3824             :     (SvxMSDffVertPair*)mso_sptIrregularSeal2GluePoints, SAL_N_ELEMENTS( mso_sptIrregularSeal2GluePoints ),
    3825             :     NULL, 0     // handles
    3826             : };
    3827             : 
    3828             : static const SvxMSDffVertPair mso_sptSeal4Vert[] =      // adjustment1 : 0 - 10800
    3829             : {
    3830             :     { 0, 10800 }, { 4 MSO_I, 4 MSO_I }, { 10800, 0 }, { 3 MSO_I, 4 MSO_I },
    3831             :     { 21600, 10800 }, { 3 MSO_I, 3 MSO_I }, { 10800, 21600 }, { 4 MSO_I, 3 MSO_I },
    3832             :     { 0, 10800 }
    3833             : };
    3834             : static const SvxMSDffCalculationData mso_sptSeal4Calc[] =
    3835             : {
    3836             :     { 0x0000, { 7600, 0, 0 } },
    3837             :     { 0x6001, { 0x400, DFF_Prop_adjustValue, 10800 } },
    3838             :     { 0xa000, { 0x400, 0, 0x401 } },
    3839             :     { 0x4000, { 10800, 0x402, 0 } },
    3840             :     { 0x8000, { 10800, 0, 0x402 } }
    3841             : };
    3842             : static const SvxMSDffTextRectangles mso_sptSeal4TextRect[] =
    3843             : {
    3844             :     { { 4 MSO_I, 4 MSO_I }, { 3 MSO_I, 3 MSO_I } }
    3845             : };
    3846             : static const SvxMSDffHandle mso_sptSealHandle[] =
    3847             : {
    3848             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    3849             :         0x100, 10800, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    3850             : };
    3851             : static const mso_CustomShape msoSeal4 =
    3852             : {
    3853             :     (SvxMSDffVertPair*)mso_sptSeal4Vert, SAL_N_ELEMENTS( mso_sptSeal4Vert ),
    3854             :     NULL, 0,
    3855             :     (SvxMSDffCalculationData*)mso_sptSeal4Calc, SAL_N_ELEMENTS( mso_sptSeal4Calc ),
    3856             :     (sal_Int32*)mso_sptDefault8100,
    3857             :     (SvxMSDffTextRectangles*)mso_sptSeal4TextRect, SAL_N_ELEMENTS( mso_sptSeal4TextRect ),
    3858             :     21600, 21600,
    3859             :     MIN_INT32, MIN_INT32,
    3860             :     NULL, 0,
    3861             :     (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )      // handles
    3862             : };
    3863             : 
    3864             : static const SvxMSDffVertPair mso_sptStarVert[] =
    3865             : {
    3866             :     { 10797, 0 }, { 8278, 8256 }, { 0, 8256 }, { 6722, 13405 },
    3867             :     { 4198, 21600 }, { 10797, 16580 }, { 17401, 21600 }, { 14878, 13405 },
    3868             :     { 21600, 8256 }, { 13321, 8256 }, { 10797, 0 }
    3869             : };
    3870             : static const SvxMSDffTextRectangles mso_sptStarTextRect[] =
    3871             : {
    3872             :     { { 6722, 8256 }, { 14878, 15460 } }
    3873             : };
    3874             : static const mso_CustomShape msoStar =
    3875             : {
    3876             :     (SvxMSDffVertPair*)mso_sptStarVert, SAL_N_ELEMENTS( mso_sptStarVert ),
    3877             :     NULL, 0,
    3878             :     NULL, 0,
    3879             :     NULL,
    3880             :     (SvxMSDffTextRectangles*)mso_sptStarTextRect, SAL_N_ELEMENTS( mso_sptStarTextRect ),
    3881             :     21600, 21600,
    3882             :     MIN_INT32, MIN_INT32,
    3883             :     NULL, 0,
    3884             :     NULL, 0     // handles
    3885             : };
    3886             : 
    3887             : static const SvxMSDffCalculationData mso_sptSeal24Calc[] =
    3888             : {
    3889             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 0x00
    3890             :     { 0x2081, { 0x400, 10800, 315 } },              // 0x01 ( textframe )
    3891             :     { 0x2082, { 0x400, 10800, 315 } },              // 0x02
    3892             :     { 0x2081, { 0x400, 10800, 135 } },              // 0x03
    3893             :     { 0x2082, { 0x400, 10800, 135 } },              // 0x04
    3894             :     { 0x0081, { 0,   10800, 0 } },
    3895             :     { 0x0082, { 0,   10800, 0 } },
    3896             :     { 0x2081, { 0x400, 10800, 7 } },
    3897             :     { 0x2082, { 0x400, 10800, 7 } },
    3898             :     { 0x0081, { 0,   10800, 15 } },
    3899             :     { 0x0082, { 0,   10800, 15 } },
    3900             :     { 0x2081, { 0x400, 10800, 22 } },
    3901             :     { 0x2082, { 0x400, 10800, 22 } },
    3902             :     { 0x0081, { 0,   10800, 30 } },
    3903             :     { 0x0082, { 0,   10800, 30 } },
    3904             :     { 0x2081, { 0x400, 10800, 37 } },
    3905             :     { 0x2082, { 0x400, 10800, 37 } },
    3906             :     { 0x0081, { 0,   10800, 45 } },
    3907             :     { 0x0082, { 0,   10800, 45 } },
    3908             :     { 0x2081, { 0x400, 10800, 52 } },
    3909             :     { 0x2082, { 0x400, 10800, 52 } },
    3910             :     { 0x0081, { 0,   10800, 60 } },
    3911             :     { 0x0082, { 0,   10800, 60 } },
    3912             :     { 0x2081, { 0x400, 10800, 67 } },
    3913             :     { 0x2082, { 0x400, 10800, 67 } },
    3914             :     { 0x0081, { 0,   10800, 75 } },
    3915             :     { 0x0082, { 0,   10800, 75 } },
    3916             :     { 0x2081, { 0x400, 10800, 82 } },
    3917             :     { 0x2082, { 0x400, 10800, 82 } },
    3918             :     { 0x0081, { 0,   10800, 90 } },
    3919             :     { 0x0082, { 0,   10800, 90 } },
    3920             :     { 0x2081, { 0x400, 10800, 97 } },
    3921             :     { 0x2082, { 0x400, 10800, 97 } },
    3922             :     { 0x0081, { 0,   10800, 105 } },
    3923             :     { 0x0082, { 0,   10800, 105 } },
    3924             :     { 0x2081, { 0x400, 10800, 112 } },
    3925             :     { 0x2082, { 0x400, 10800, 112 } },
    3926             :     { 0x0081, { 0,   10800, 120 } },
    3927             :     { 0x0082, { 0,   10800, 120 } },
    3928             :     { 0x2081, { 0x400, 10800, 127 } },
    3929             :     { 0x2082, { 0x400, 10800, 127 } },
    3930             :     { 0x0081, { 0,   10800, 135 } },
    3931             :     { 0x0082, { 0,   10800, 135 } },
    3932             :     { 0x2081, { 0x400, 10800, 142 } },
    3933             :     { 0x2082, { 0x400, 10800, 142 } },
    3934             :     { 0x0081, { 0,   10800, 150 } },
    3935             :     { 0x0082, { 0,   10800, 150 } },
    3936             :     { 0x2081, { 0x400, 10800, 157 } },
    3937             :     { 0x2082, { 0x400, 10800, 157 } },
    3938             :     { 0x0081, { 0,   10800, 165 } },
    3939             :     { 0x0082, { 0,   10800, 165 } },
    3940             :     { 0x2081, { 0x400, 10800, 172 } },
    3941             :     { 0x2082, { 0x400, 10800, 172 } },
    3942             :     { 0x0081, { 0,   10800, 180 } },
    3943             :     { 0x0082, { 0,   10800, 180 } },
    3944             :     { 0x2081, { 0x400, 10800, 187 } },
    3945             :     { 0x2082, { 0x400, 10800, 187 } },
    3946             :     { 0x0081, { 0,   10800, 195 } },
    3947             :     { 0x0082, { 0,   10800, 195 } },
    3948             :     { 0x2081, { 0x400, 10800, 202 } },
    3949             :     { 0x2082, { 0x400, 10800, 202 } },
    3950             :     { 0x0081, { 0,   10800, 210 } },
    3951             :     { 0x0082, { 0,   10800, 210 } },
    3952             :     { 0x2081, { 0x400, 10800, 217 } },
    3953             :     { 0x2082, { 0x400, 10800, 217 } },
    3954             :     { 0x0081, { 0,   10800, 225 } },
    3955             :     { 0x0082, { 0,   10800, 225 } },
    3956             :     { 0x2081, { 0x400, 10800, 232 } },
    3957             :     { 0x2082, { 0x400, 10800, 232 } },
    3958             :     { 0x0081, { 0,   10800, 240 } },
    3959             :     { 0x0082, { 0,   10800, 240 } },
    3960             :     { 0x2081, { 0x400, 10800, 247 } },
    3961             :     { 0x2082, { 0x400, 10800, 247 } },
    3962             :     { 0x0081, { 0,   10800, 255 } },
    3963             :     { 0x0082, { 0,   10800, 255 } },
    3964             :     { 0x2081, { 0x400, 10800, 262 } },
    3965             :     { 0x2082, { 0x400, 10800, 262 } },
    3966             :     { 0x0081, { 0,   10800, 270 } },
    3967             :     { 0x0082, { 0,   10800, 270 } },
    3968             :     { 0x2081, { 0x400, 10800, 277 } },
    3969             :     { 0x2082, { 0x400, 10800, 277 } },
    3970             :     { 0x0081, { 0,   10800, 285 } },
    3971             :     { 0x0082, { 0,   10800, 285 } },
    3972             :     { 0x2081, { 0x400, 10800, 292 } },
    3973             :     { 0x2082, { 0x400, 10800, 292 } },
    3974             :     { 0x0081, { 0,   10800, 300 } },
    3975             :     { 0x0082, { 0,   10800, 300 } },
    3976             :     { 0x2081, { 0x400, 10800, 307 } },
    3977             :     { 0x2082, { 0x400, 10800, 307 } },
    3978             :     { 0x0081, { 0,   10800, 315 } },
    3979             :     { 0x0082, { 0,   10800, 315 } },
    3980             :     { 0x2081, { 0x400, 10800, 322 } },
    3981             :     { 0x2082, { 0x400, 10800, 322 } },
    3982             :     { 0x0081, { 0,   10800, 330 } },
    3983             :     { 0x0082, { 0,   10800, 330 } },
    3984             :     { 0x2081, { 0x400, 10800, 337 } },
    3985             :     { 0x2082, { 0x400, 10800, 337 } },
    3986             :     { 0x0081, { 0,   10800, 345 } },
    3987             :     { 0x0082, { 0,   10800, 345 } },
    3988             :     { 0x2081, { 0x400, 10800, 352 } },
    3989             :     { 0x2082, { 0x400, 10800, 352 } }
    3990             : };
    3991             : static const SvxMSDffVertPair mso_sptSeal8Vert[] =  // adj value 0 -> 10800
    3992             : {
    3993             :     { 5 MSO_I, 6 MSO_I }, { 11 MSO_I, 12 MSO_I }, { 17 MSO_I, 18 MSO_I }, { 23 MSO_I, 24 MSO_I },
    3994             :     { 29 MSO_I, 30 MSO_I }, { 35 MSO_I, 36 MSO_I }, { 41 MSO_I, 42 MSO_I }, { 47 MSO_I, 48 MSO_I },
    3995             :     { 53 MSO_I, 54 MSO_I }, { 59 MSO_I, 60 MSO_I }, { 65 MSO_I, 66 MSO_I }, { 71 MSO_I, 72 MSO_I },
    3996             :     { 77 MSO_I, 78 MSO_I }, { 83 MSO_I, 84 MSO_I }, { 89 MSO_I, 90 MSO_I }, { 95 MSO_I, 96 MSO_I },
    3997             :     { 5 MSO_I, 6 MSO_I }
    3998             : };
    3999             : static const SvxMSDffTextRectangles mso_sptSealTextRect[] =
    4000             : {
    4001             :     { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
    4002             : };
    4003             : static const mso_CustomShape msoSeal8 =
    4004             : {
    4005             :     (SvxMSDffVertPair*)mso_sptSeal8Vert, SAL_N_ELEMENTS( mso_sptSeal8Vert ),
    4006             :     NULL, 0,
    4007             :     (SvxMSDffCalculationData*)mso_sptSeal24Calc, SAL_N_ELEMENTS( mso_sptSeal24Calc ),
    4008             :     (sal_Int32*)mso_sptDefault2500,
    4009             :     (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
    4010             :     21600, 21600,
    4011             :     MIN_INT32, MIN_INT32,
    4012             :     NULL, 0,
    4013             :     (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )      // handles
    4014             : };
    4015             : static const SvxMSDffVertPair mso_sptSeal16Vert[] = // adj value 0 -> 10800
    4016             : {
    4017             :     { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
    4018             :     { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
    4019             :     { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
    4020             :     { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
    4021             :     { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
    4022             :     { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
    4023             :     { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
    4024             :     { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
    4025             :     { 0x05 MSO_I, 0x06 MSO_I }
    4026             : };
    4027             : static const SvxMSDffCalculationData mso_sptSeal16Calc[] =
    4028             : {
    4029             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 0x00
    4030             :     { 0x2081, { 0x400, 10800, 315 } },              // 0x01 ( textframe )
    4031             :     { 0x2082, { 0x400, 10800, 315 } },              // 0x02
    4032             :     { 0x2081, { 0x400, 10800, 135 } },              // 0x03
    4033             :     { 0x2082, { 0x400, 10800, 135 } },              // 0x04
    4034             :     { 0x0081, { 0,   10800, 0 } },
    4035             :     { 0x0082, { 0,   10800, 0 } },
    4036             :     { 0x2081, { 0x400, 10800, 11 } },
    4037             :     { 0x2082, { 0x400, 10800, 11 } },
    4038             :     { 0x0081, { 0,   10800, 22 } },
    4039             :     { 0x0082, { 0,   10800, 22 } },
    4040             :     { 0x2081, { 0x400, 10800, 33 } },
    4041             :     { 0x2082, { 0x400, 10800, 33 } },
    4042             :     { 0x0081, { 0,   10800, 45 } },
    4043             :     { 0x0082, { 0,   10800, 45 } },
    4044             :     { 0x2081, { 0x400, 10800, 56 } },
    4045             :     { 0x2082, { 0x400, 10800, 56 } },
    4046             :     { 0x0081, { 0,   10800, 67 } },
    4047             :     { 0x0082, { 0,   10800, 67 } },
    4048             :     { 0x2081, { 0x400, 10800, 78 } },
    4049             :     { 0x2082, { 0x400, 10800, 78 } },
    4050             :     { 0x0081, { 0,   10800, 90 } },
    4051             :     { 0x0082, { 0,   10800, 90 } },
    4052             :     { 0x2081, { 0x400, 10800, 101 } },
    4053             :     { 0x2082, { 0x400, 10800, 101 } },
    4054             :     { 0x0081, { 0,   10800, 112 } },
    4055             :     { 0x0082, { 0,   10800, 112 } },
    4056             :     { 0x2081, { 0x400, 10800, 123 } },
    4057             :     { 0x2082, { 0x400, 10800, 123 } },
    4058             :     { 0x0081, { 0,   10800, 135 } },
    4059             :     { 0x0082, { 0,   10800, 135 } },
    4060             :     { 0x2081, { 0x400, 10800, 146 } },
    4061             :     { 0x2082, { 0x400, 10800, 146 } },
    4062             :     { 0x0081, { 0,   10800, 157 } },
    4063             :     { 0x0082, { 0,   10800, 157 } },
    4064             :     { 0x2081, { 0x400, 10800, 168 } },
    4065             :     { 0x2082, { 0x400, 10800, 168 } },
    4066             :     { 0x0081, { 0,   10800, 180 } },
    4067             :     { 0x0082, { 0,   10800, 180 } },
    4068             :     { 0x2081, { 0x400, 10800, 191 } },
    4069             :     { 0x2082, { 0x400, 10800, 191 } },
    4070             :     { 0x0081, { 0,   10800, 202 } },
    4071             :     { 0x0082, { 0,   10800, 202 } },
    4072             :     { 0x2081, { 0x400, 10800, 213 } },
    4073             :     { 0x2082, { 0x400, 10800, 213 } },
    4074             :     { 0x0081, { 0,   10800, 225 } },
    4075             :     { 0x0082, { 0,   10800, 225 } },
    4076             :     { 0x2081, { 0x400, 10800, 236 } },
    4077             :     { 0x2082, { 0x400, 10800, 236 } },
    4078             :     { 0x0081, { 0,   10800, 247 } },
    4079             :     { 0x0082, { 0,   10800, 247 } },
    4080             :     { 0x2081, { 0x400, 10800, 258 } },
    4081             :     { 0x2082, { 0x400, 10800, 258 } },
    4082             :     { 0x0081, { 0,   10800, 270 } },
    4083             :     { 0x0082, { 0,   10800, 270 } },
    4084             :     { 0x2081, { 0x400, 10800, 281 } },
    4085             :     { 0x2082, { 0x400, 10800, 281 } },
    4086             :     { 0x0081, { 0,   10800, 292 } },
    4087             :     { 0x0082, { 0,   10800, 292 } },
    4088             :     { 0x2081, { 0x400, 10800, 303 } },
    4089             :     { 0x2082, { 0x400, 10800, 303 } },
    4090             :     { 0x0081, { 0,   10800, 315 } },
    4091             :     { 0x0082, { 0,   10800, 315 } },
    4092             :     { 0x2081, { 0x400, 10800, 326 } },
    4093             :     { 0x2082, { 0x400, 10800, 326 } },
    4094             :     { 0x0081, { 0,   10800, 337 } },
    4095             :     { 0x0082, { 0,   10800, 337 } },
    4096             :     { 0x2081, { 0x400, 10800, 348 } },
    4097             :     { 0x2082, { 0x400, 10800, 348 } }
    4098             : };
    4099             : static const mso_CustomShape msoSeal16 =
    4100             : {
    4101             :     (SvxMSDffVertPair*)mso_sptSeal16Vert, SAL_N_ELEMENTS( mso_sptSeal16Vert ),
    4102             :     NULL, 0,
    4103             :     (SvxMSDffCalculationData*)mso_sptSeal16Calc, SAL_N_ELEMENTS( mso_sptSeal16Calc ),
    4104             :     (sal_Int32*)mso_sptDefault2500,
    4105             :     (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
    4106             :     21600, 21600,
    4107             :     MIN_INT32, MIN_INT32,
    4108             :     NULL, 0,
    4109             :     (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )      // handles
    4110             : };
    4111             : static const SvxMSDffVertPair mso_sptSeal24Vert[] =
    4112             : {
    4113             :     { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
    4114             :     { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
    4115             :     { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
    4116             :     { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
    4117             :     { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
    4118             :     { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
    4119             :     { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
    4120             :     { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
    4121             :     { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
    4122             :     { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
    4123             :     { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
    4124             :     { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
    4125             :     { 0x05 MSO_I, 0x06 MSO_I }
    4126             : };
    4127             : static const mso_CustomShape msoSeal24 =
    4128             : {
    4129             :     (SvxMSDffVertPair*)mso_sptSeal24Vert, SAL_N_ELEMENTS( mso_sptSeal24Vert ),
    4130             :     NULL, 0,
    4131             :     (SvxMSDffCalculationData*)mso_sptSeal24Calc, SAL_N_ELEMENTS( mso_sptSeal24Calc ),
    4132             :     (sal_Int32*)mso_sptDefault2500,
    4133             :     (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
    4134             :     21600, 21600,
    4135             :     MIN_INT32, MIN_INT32,
    4136             :     NULL, 0,
    4137             :     (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )      // handles
    4138             : };
    4139             : static const SvxMSDffCalculationData mso_sptSeal32Calc[] =
    4140             : {
    4141             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 0x00
    4142             :     { 0x2081, { 0x400, 10800, 315 } },              // 0x01 ( textframe )
    4143             :     { 0x2082, { 0x400, 10800, 315 } },              // 0x02
    4144             :     { 0x2081, { 0x400, 10800, 135 } },              // 0x03
    4145             :     { 0x2082, { 0x400, 10800, 135 } },              // 0x04
    4146             :     { 0x0081, { 0,   10800, 0 } },
    4147             :     { 0x0082, { 0,   10800, 0 } },
    4148             :     { 0x2081, { 0x400, 10800, 5 } },
    4149             :     { 0x2082, { 0x400, 10800, 5 } },
    4150             :     { 0x0081, { 0,   10800, 11 } },
    4151             :     { 0x0082, { 0,   10800, 11 } },
    4152             :     { 0x2081, { 0x400, 10800, 16 } },
    4153             :     { 0x2082, { 0x400, 10800, 16 } },
    4154             :     { 0x0081, { 0,   10800, 22 } },
    4155             :     { 0x0082, { 0,   10800, 22 } },
    4156             :     { 0x2081, { 0x400, 10800, 28 } },
    4157             :     { 0x2082, { 0x400, 10800, 28 } },
    4158             :     { 0x0081, { 0,   10800, 33 } },
    4159             :     { 0x0082, { 0,   10800, 33 } },
    4160             :     { 0x2081, { 0x400, 10800, 39 } },
    4161             :     { 0x2082, { 0x400, 10800, 39 } },
    4162             :     { 0x0081, { 0,   10800, 45 } },
    4163             :     { 0x0082, { 0,   10800, 45 } },
    4164             :     { 0x2081, { 0x400, 10800, 50 } },
    4165             :     { 0x2082, { 0x400, 10800, 50 } },
    4166             :     { 0x0081, { 0,   10800, 56 } },
    4167             :     { 0x0082, { 0,   10800, 56 } },
    4168             :     { 0x2081, { 0x400, 10800, 61 } },
    4169             :     { 0x2082, { 0x400, 10800, 61 } },
    4170             :     { 0x0081, { 0,   10800, 67 } },
    4171             :     { 0x0082, { 0,   10800, 67 } },
    4172             :     { 0x2081, { 0x400, 10800, 73 } },
    4173             :     { 0x2082, { 0x400, 10800, 73 } },
    4174             :     { 0x0081, { 0,   10800, 78 } },
    4175             :     { 0x0082, { 0,   10800, 78 } },
    4176             :     { 0x2081, { 0x400, 10800, 84 } },
    4177             :     { 0x2082, { 0x400, 10800, 84 } },
    4178             :     { 0x0081, { 0,   10800, 90 } },
    4179             :     { 0x0082, { 0,   10800, 90 } },
    4180             :     { 0x2081, { 0x400, 10800, 95 } },
    4181             :     { 0x2082, { 0x400, 10800, 95 } },
    4182             :     { 0x0081, { 0,   10800, 101 } },
    4183             :     { 0x0082, { 0,   10800, 101 } },
    4184             :     { 0x2081, { 0x400, 10800, 106 } },
    4185             :     { 0x2082, { 0x400, 10800, 106 } },
    4186             :     { 0x0081, { 0,   10800, 112 } },
    4187             :     { 0x0082, { 0,   10800, 112 } },
    4188             :     { 0x2081, { 0x400, 10800, 118 } },
    4189             :     { 0x2082, { 0x400, 10800, 118 } },
    4190             :     { 0x0081, { 0,   10800, 123 } },
    4191             :     { 0x0082, { 0,   10800, 123 } },
    4192             :     { 0x2081, { 0x400, 10800, 129 } },
    4193             :     { 0x2082, { 0x400, 10800, 129 } },
    4194             :     { 0x0081, { 0,   10800, 135 } },
    4195             :     { 0x0082, { 0,   10800, 135 } },
    4196             :     { 0x2081, { 0x400, 10800, 140 } },
    4197             :     { 0x2082, { 0x400, 10800, 140 } },
    4198             :     { 0x0081, { 0,   10800, 146 } },
    4199             :     { 0x0082, { 0,   10800, 146 } },
    4200             :     { 0x2081, { 0x400, 10800, 151 } },
    4201             :     { 0x2082, { 0x400, 10800, 151 } },
    4202             :     { 0x0081, { 0,   10800, 157 } },
    4203             :     { 0x0082, { 0,   10800, 157 } },
    4204             :     { 0x2081, { 0x400, 10800, 163 } },
    4205             :     { 0x2082, { 0x400, 10800, 163 } },
    4206             :     { 0x0081, { 0,   10800, 168 } },
    4207             :     { 0x0082, { 0,   10800, 168 } },
    4208             :     { 0x2081, { 0x400, 10800, 174 } },
    4209             :     { 0x2082, { 0x400, 10800, 174 } },
    4210             :     { 0x0081, { 0,   10800, 180 } },
    4211             :     { 0x0082, { 0,   10800, 180 } },
    4212             :     { 0x2081, { 0x400, 10800, 185 } },
    4213             :     { 0x2082, { 0x400, 10800, 185 } },
    4214             :     { 0x0081, { 0,   10800, 191 } },
    4215             :     { 0x0082, { 0,   10800, 191 } },
    4216             :     { 0x2081, { 0x400, 10800, 196 } },
    4217             :     { 0x2082, { 0x400, 10800, 196 } },
    4218             :     { 0x0081, { 0,   10800, 202 } },
    4219             :     { 0x0082, { 0,   10800, 202 } },
    4220             :     { 0x2081, { 0x400, 10800, 208 } },
    4221             :     { 0x2082, { 0x400, 10800, 208 } },
    4222             :     { 0x0081, { 0,   10800, 213 } },
    4223             :     { 0x0082, { 0,   10800, 213 } },
    4224             :     { 0x2081, { 0x400, 10800, 219 } },
    4225             :     { 0x2082, { 0x400, 10800, 219 } },
    4226             :     { 0x0081, { 0,   10800, 225 } },
    4227             :     { 0x0082, { 0,   10800, 225 } },
    4228             :     { 0x2081, { 0x400, 10800, 230 } },
    4229             :     { 0x2082, { 0x400, 10800, 230 } },
    4230             :     { 0x0081, { 0,   10800, 236 } },
    4231             :     { 0x0082, { 0,   10800, 236 } },
    4232             :     { 0x2081, { 0x400, 10800, 241 } },
    4233             :     { 0x2082, { 0x400, 10800, 241 } },
    4234             :     { 0x0081, { 0,   10800, 247 } },
    4235             :     { 0x0082, { 0,   10800, 247 } },
    4236             :     { 0x2081, { 0x400, 10800, 253 } },
    4237             :     { 0x2082, { 0x400, 10800, 253 } },
    4238             :     { 0x0081, { 0,   10800, 258 } },
    4239             :     { 0x0082, { 0,   10800, 258 } },
    4240             :     { 0x2081, { 0x400, 10800, 264 } },
    4241             :     { 0x2082, { 0x400, 10800, 264 } },
    4242             :     { 0x0081, { 0,   10800, 270 } },
    4243             :     { 0x0082, { 0,   10800, 270 } },
    4244             :     { 0x2081, { 0x400, 10800, 275 } },
    4245             :     { 0x2082, { 0x400, 10800, 275 } },
    4246             :     { 0x0081, { 0,   10800, 281 } },
    4247             :     { 0x0082, { 0,   10800, 281 } },
    4248             :     { 0x2081, { 0x400, 10800, 286 } },
    4249             :     { 0x2082, { 0x400, 10800, 286 } },
    4250             :     { 0x0081, { 0,   10800, 292 } },
    4251             :     { 0x0082, { 0,   10800, 292 } },
    4252             :     { 0x2081, { 0x400, 10800, 298 } },
    4253             :     { 0x2082, { 0x400, 10800, 298 } },
    4254             :     { 0x0081, { 0,   10800, 303 } },
    4255             :     { 0x0082, { 0,   10800, 303 } },
    4256             :     { 0x2081, { 0x400, 10800, 309 } },
    4257             :     { 0x2082, { 0x400, 10800, 309 } },
    4258             :     { 0x0081, { 0,   10800, 315 } },
    4259             :     { 0x0082, { 0,   10800, 315 } },
    4260             :     { 0x2081, { 0x400, 10800, 320 } },
    4261             :     { 0x2082, { 0x400, 10800, 320 } },
    4262             :     { 0x0081, { 0,   10800, 326 } },
    4263             :     { 0x0082, { 0,   10800, 326 } },
    4264             :     { 0x2081, { 0x400, 10800, 331 } },
    4265             :     { 0x2082, { 0x400, 10800, 331 } },
    4266             :     { 0x0081, { 0,   10800, 337 } },
    4267             :     { 0x0082, { 0,   10800, 337 } },
    4268             :     { 0x2081, { 0x400, 10800, 343 } },
    4269             :     { 0x2082, { 0x400, 10800, 343 } },
    4270             :     { 0x0081, { 0,   10800, 348 } },
    4271             :     { 0x0082, { 0,   10800, 348 } },
    4272             :     { 0x2081, { 0x400, 10800, 354 } },
    4273             :     { 0x2082, { 0x400, 10800, 354 } }
    4274             : };
    4275             : static const SvxMSDffVertPair mso_sptSeal32Vert[] =
    4276             : {
    4277             :     { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
    4278             :     { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
    4279             :     { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
    4280             :     { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
    4281             :     { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
    4282             :     { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
    4283             :     { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
    4284             :     { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
    4285             :     { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
    4286             :     { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
    4287             :     { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
    4288             :     { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
    4289             :     { 0x65 MSO_I, 0x66 MSO_I }, { 0x67 MSO_I, 0x68 MSO_I }, { 0x69 MSO_I, 0x6a MSO_I }, { 0x6b MSO_I, 0x6c MSO_I },
    4290             :     { 0x6d MSO_I, 0x6e MSO_I }, { 0x6f MSO_I, 0x70 MSO_I }, { 0x71 MSO_I, 0x72 MSO_I }, { 0x73 MSO_I, 0x74 MSO_I },
    4291             :     { 0x75 MSO_I, 0x76 MSO_I }, { 0x77 MSO_I, 0x78 MSO_I }, { 0x79 MSO_I, 0x7a MSO_I }, { 0x7b MSO_I, 0x7c MSO_I },
    4292             :     { 0x7d MSO_I, 0x7e MSO_I }, { 0x7f MSO_I, 0x80 MSO_I }, { 0x81 MSO_I, 0x82 MSO_I }, { 0x83 MSO_I, 0x84 MSO_I },
    4293             :     { 0x05 MSO_I, 0x06 MSO_I }
    4294             : };
    4295             : static const mso_CustomShape msoSeal32 =
    4296             : {
    4297             :     (SvxMSDffVertPair*)mso_sptSeal32Vert, SAL_N_ELEMENTS( mso_sptSeal32Vert ),
    4298             :     NULL, 0,
    4299             :     (SvxMSDffCalculationData*)mso_sptSeal32Calc, SAL_N_ELEMENTS( mso_sptSeal32Calc ),
    4300             :     (sal_Int32*)mso_sptDefault2500,
    4301             :     (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
    4302             :     21600, 21600,
    4303             :     MIN_INT32, MIN_INT32,
    4304             :     NULL, 0,
    4305             :     (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )
    4306             : };
    4307             : 
    4308             : static const SvxMSDffVertPair mso_sptRibbon2Vert[] =    // adjustment1 : x 2700  - 8100     def 5400
    4309             : {                                                       // adjustment2 : y 14400 - 21600    def 18900
    4310             :     { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I },                                      // pp
    4311             :     { 12 MSO_I, 14 MSO_I }, { 15 MSO_I, 21600 }, { 16 MSO_I, 21600 },                   // ccp
    4312             :     { 0, 21600 }, { 2750, 7 MSO_I }, { 0, 2 MSO_I }, { 0 MSO_I, 2 MSO_I },              // pppp
    4313             :     { 0 MSO_I, 4 MSO_I },                                                               // p
    4314             :     { 0 MSO_I, 5 MSO_I }, { 10 MSO_I, 0 }, { 11 MSO_I, 0 },                             // ccp
    4315             :     { 17 MSO_I, 0 },                                                                    // p
    4316             :     { 18 MSO_I, 0 }, { 19 MSO_I, 5 MSO_I }, { 19 MSO_I, 4 MSO_I },                      // ccp
    4317             :     { 19 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }, { 18850, 7 MSO_I }, { 21600, 21600 },    // pppp
    4318             :     { 20 MSO_I, 21600 },                                                                // p
    4319             :     { 21 MSO_I, 21600 }, { 22 MSO_I, 14 MSO_I }, { 22 MSO_I, 13 MSO_I },                // ccp
    4320             :     { 22 MSO_I, 1 MSO_I }, { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I },               // ppp
    4321             :     { 12 MSO_I, 23 MSO_I }, { 15 MSO_I, 24 MSO_I }, { 16 MSO_I, 24 MSO_I },             // ccp
    4322             :     { 11 MSO_I, 24 MSO_I },                                                             // p
    4323             :     { 10 MSO_I, 24 MSO_I }, { 0 MSO_I, 26 MSO_I }, { 0 MSO_I, 25 MSO_I },               // ccp
    4324             :     { 0 MSO_I, 27 MSO_I }, { 10 MSO_I, 1 MSO_I }, { 11 MSO_I, 1 MSO_I },                // ccp
    4325             : 
    4326             :     { 22 MSO_I, 1 MSO_I }, { 22 MSO_I, 13 MSO_I },                                      // pp
    4327             :     { 22 MSO_I, 23 MSO_I }, { 21 MSO_I, 24 MSO_I }, { 20 MSO_I, 24 MSO_I },             // ccp
    4328             :     { 17 MSO_I, 24 MSO_I },                                                             // p
    4329             :     { 18 MSO_I, 24 MSO_I }, { 19 MSO_I, 26 MSO_I }, { 19 MSO_I, 25 MSO_I },             // ccp
    4330             :     { 19 MSO_I, 27 MSO_I }, { 18 MSO_I, 1 MSO_I }, { 17 MSO_I, 1 MSO_I },               // ccp
    4331             : 
    4332             :     { 0 MSO_I, 25 MSO_I }, { 0 MSO_I, 2 MSO_I },                                        // pp
    4333             : 
    4334             :     { 19 MSO_I, 25 MSO_I }, { 19 MSO_I, 2 MSO_I }                                       // pp
    4335             : };
    4336             : static const sal_uInt16 mso_sptRibbon2Segm[] =
    4337             : {
    4338             :     0x4000, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x6001, 0x8000,
    4339             :     0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
    4340             :     0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
    4341             :     0x4000, 0x0001, 0x8000,
    4342             :     0x4000, 0x0001, 0x8000
    4343             : };
    4344             : static const SvxMSDffCalculationData mso_sptRibbon2Calc[] =
    4345             : {
    4346             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },             // 00
    4347             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },            // 01
    4348             :     { 0x8000, { 21600, 0, 0x401 } },                        // 02
    4349             :     { 0x2001, { 0x402, 1, 2 } },                            // 03
    4350             :     { 0x2001, { 0x403, 1, 2 } },                            // 04
    4351             :     { 0x2001, { 0x404, 1, 2 } },                            // 05
    4352             :     { 0x2001, { 0x401, 1, 2 } },                            // 06
    4353             :     { 0x8000, { 21600, 0, 0x406 } },                        // 07
    4354             :     { 0x0000, { 420, 0, 0 } },                              // 08
    4355             :     { 0x2001, { 0x408, 2, 1 } },                            // 09
    4356             :     { 0x6000, { 0x400, 0x408, 0 } },                        // 10
    4357             :     { 0x6000, { 0x400, 0x409, 0 } },                        // 11
    4358             :     { 0x2000, { 0x400, 2700, 0 } },                         // 12
    4359             :     { 0x8000, { 21600, 0, 0x404 } },                        // 13
    4360             :     { 0x8000, { 21600, 0, 0x405 } },                        // 14
    4361             :     { 0xa000, { 0x40c, 0, 0x408 } },                        // 15
    4362             :     { 0xa000, { 0x40c, 0, 0x409 } },                        // 16
    4363             : 
    4364             :     { 0x8000, { 21600, 0, 0x40b } },                        // 17
    4365             :     { 0x8000, { 21600, 0, 0x40a } },                        // 18
    4366             :     { 0x8000, { 21600, 0, 0x400 } },                        // 19
    4367             :     { 0x8000, { 21600, 0, 0x410 } },                        // 20
    4368             :     { 0x8000, { 21600, 0, 0x40f } },                        // 21
    4369             :     { 0x8000, { 21600, 0, 0x40c } },                        // 22
    4370             : 
    4371             :     { 0xa000, { 0x40d, 0, 0x405 } },                        // 23
    4372             :     { 0x6000, { 0x401, 0x403, 0 } },                        // 24
    4373             :     { 0x6000, { 0x401, 0x404, 0 } },                        // 25
    4374             :     { 0x6000, { 0x419, 0x405, 0 } },                        // 26
    4375             :     { 0xa000, { 0x419, 0, 0x405 } }                         // 27
    4376             : };
    4377             : static const sal_Int32 mso_sptRibbon2Default[] =
    4378             : {
    4379             :     2, 5400, 18900
    4380             : };
    4381             : static const SvxMSDffTextRectangles mso_sptRibbon2TextRect[] =
    4382             : {
    4383             :     { { 0 MSO_I, 0 }, { 19 MSO_I, 1 MSO_I } }
    4384             : };
    4385             : static const SvxMSDffHandle mso_sptRibbon2Handle[] =
    4386             : {
    4387             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4388             :         0x100, 0, 10800, 10800, 2700, 8100, MIN_INT32, 0x7fffffff },
    4389             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4390             :         10800, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 14400, 21600 }
    4391             : };
    4392             : static const mso_CustomShape msoRibbon2 =
    4393             : {
    4394             :     (SvxMSDffVertPair*)mso_sptRibbon2Vert, SAL_N_ELEMENTS( mso_sptRibbon2Vert ),
    4395             :     (sal_uInt16*)mso_sptRibbon2Segm, sizeof( mso_sptRibbon2Segm ) >> 1,
    4396             :     (SvxMSDffCalculationData*)mso_sptRibbon2Calc, SAL_N_ELEMENTS( mso_sptRibbon2Calc ),
    4397             :     (sal_Int32*)mso_sptRibbon2Default,
    4398             :     (SvxMSDffTextRectangles*)mso_sptRibbon2TextRect, SAL_N_ELEMENTS( mso_sptRibbon2TextRect ),
    4399             :     21600, 21600,
    4400             :     MIN_INT32, MIN_INT32,
    4401             :     NULL, 0,
    4402             :     (SvxMSDffHandle*)mso_sptRibbon2Handle, SAL_N_ELEMENTS( mso_sptRibbon2Handle )
    4403             : };
    4404             : 
    4405             : static const SvxMSDffVertPair mso_sptRibbonVert[] =
    4406             : {
    4407             :     { 0, 0 }, { 3 MSO_I, 0 },
    4408             :     { 4 MSO_I, 11 MSO_I }, { 4 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I }, { 5 MSO_I, 11 MSO_I },
    4409             :     { 6 MSO_I, 0 }, { 21600, 0 }, { 18 MSO_I, 14 MSO_I }, { 21600, 15 MSO_I }, { 9 MSO_I, 15 MSO_I }, { 9 MSO_I, 16 MSO_I }, { 8 MSO_I, 21600 }, { 1 MSO_I, 21600 },
    4410             :     { 0 MSO_I, 16 MSO_I }, { 0 MSO_I, 15 MSO_I }, { 0, 15 MSO_I }, { 2700, 14 MSO_I },
    4411             : 
    4412             :     { 4 MSO_I, 11 MSO_I },
    4413             :     { 3 MSO_I, 12 MSO_I }, { 1 MSO_I, 12 MSO_I },
    4414             :     { 0 MSO_I, 13 MSO_I }, { 1 MSO_I, 10 MSO_I }, { 4 MSO_I, 10 MSO_I },
    4415             :     { 5 MSO_I, 11 MSO_I },
    4416             :     { 6 MSO_I, 12 MSO_I }, { 8 MSO_I, 12 MSO_I },
    4417             :     { 9 MSO_I, 13 MSO_I }, { 8 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I },
    4418             :     { 0 MSO_I, 13 MSO_I },
    4419             :     { 0 MSO_I, 15 MSO_I },
    4420             :     { 9 MSO_I, 13 MSO_I },
    4421             :     { 9 MSO_I, 15 MSO_I }
    4422             : };
    4423             : static const sal_uInt16 mso_sptRibbonSegm[] =
    4424             : {
    4425             :     0x4000, 0x0001, 0xa701, 0x0003, 0xa801, 0x0005, 0xa801, 0x0001, 0xa701, 0x0003, 0x6000, 0x8000,
    4426             :     0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
    4427             :     0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
    4428             :     0x4000, 0xaa00, 0x0001, 0x8000,
    4429             :     0x4000, 0xaa00, 0x0001, 0x8000
    4430             : };
    4431             : static const SvxMSDffCalculationData mso_sptRibbonCalc[] =
    4432             : {
    4433             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },             // 00
    4434             :     { 0x2000, { 0x400, 675, 0 } },                          // 01
    4435             :     { 0x2000, { 0x401, 675, 0 } },                          // 02
    4436             :     { 0x2000, { 0x402, 675, 0 } },                          // 03
    4437             :     { 0x2000, { 0x403, 675, 0 } },                          // 04
    4438             :     { 0x8000, { 21600, 0, 0x404 } },                        // 05
    4439             :     { 0x8000, { 21600, 0, 0x403 } },                        // 06
    4440             :     { 0x8000, { 21600, 0, 0x402 } },                        // 07
    4441             :     { 0x8000, { 21600, 0, 0x401 } },                        // 08
    4442             :     { 0x8000, { 21600, 0, 0x400 } },                        // 09
    4443             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },            // 10
    4444             :     { 0x2001, { 0x40a, 1, 4 } },                            // 11
    4445             :     { 0x2001, { 0x40b, 2, 1 } },                            // 12
    4446             :     { 0x2001, { 0x40b, 3, 1 } },                            // 13
    4447             :     { 0x8000, { 10800, 0, 0x40c } },                        // 14
    4448             :     { 0x8000, { 21600, 0, 0x40a } },                        // 15
    4449             :     { 0x8000, { 21600, 0, 0x40b } },                        // 16
    4450             :     { 0x0001, { 21600, 1, 2 } },                            // 17
    4451             :     { 0x0000, { 21600, 0, 2700 } },                         // 18
    4452             :     { 0x2000, { 0x411, 0, 2700 } }                          // 19
    4453             : };
    4454             : static const sal_Int32 mso_sptRibbonDefault[] =
    4455             : {
    4456             :     2, 5400, 2700
    4457             : };
    4458             : static const SvxMSDffTextRectangles mso_sptRibbonTextRect[] =
    4459             : {
    4460             :     { { 0 MSO_I, 10 MSO_I }, { 9 MSO_I, 21600 } }
    4461             : };
    4462             : static const SvxMSDffVertPair mso_sptRibbonGluePoints[] =
    4463             : {
    4464             :     { 17 MSO_I, 10 MSO_I }, { 2700, 14 MSO_I }, { 17 MSO_I, 21600 }, { 18 MSO_I, 14 MSO_I }
    4465             : };
    4466             : static const SvxMSDffHandle mso_sptRibbonHandle[] =
    4467             : {
    4468             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4469             :         0x100, 0, 10800, 10800, 2700, 8100, MIN_INT32, 0x7fffffff },
    4470             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4471             :         10800, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 7200 }
    4472             : };
    4473             : static const mso_CustomShape msoRibbon =
    4474             : {
    4475             :     (SvxMSDffVertPair*)mso_sptRibbonVert, SAL_N_ELEMENTS( mso_sptRibbonVert ),
    4476             :     (sal_uInt16*)mso_sptRibbonSegm, sizeof( mso_sptRibbonSegm ) >> 1,
    4477             :     (SvxMSDffCalculationData*)mso_sptRibbonCalc, SAL_N_ELEMENTS( mso_sptRibbonCalc ),
    4478             :     (sal_Int32*)mso_sptRibbonDefault,
    4479             :     (SvxMSDffTextRectangles*)mso_sptRibbonTextRect, SAL_N_ELEMENTS( mso_sptRibbonTextRect ),
    4480             :     21600, 21600,
    4481             :     MIN_INT32, MIN_INT32,
    4482             :     (SvxMSDffVertPair*)mso_sptRibbonGluePoints, SAL_N_ELEMENTS( mso_sptRibbonGluePoints ),
    4483             :     (SvxMSDffHandle*)mso_sptRibbonHandle, SAL_N_ELEMENTS( mso_sptRibbonHandle )
    4484             : };
    4485             : 
    4486             : static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400
    4487             : {
    4488             :     { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I },
    4489             :     { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I },
    4490             :     { 2 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 11 MSO_I }, { 5 MSO_I, 21600 },
    4491             : 
    4492             :     { 6 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 4 MSO_I, 1 MSO_I },
    4493             : 
    4494             :     { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I },
    4495             :     { 9 MSO_I, 10 MSO_I }, { 1 MSO_I, 11 MSO_I },
    4496             : 
    4497             :     { 4 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I },
    4498             : 
    4499             :     { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
    4500             : 
    4501             :     { 4 MSO_I, 0 MSO_I },
    4502             :     { 2 MSO_I, 0 MSO_I }
    4503             : };
    4504             : static const sal_uInt16 mso_sptVerticalScrollSegm[] =
    4505             : {
    4506             :     0x4000, 0xa702, 0x0002, 0xa801, 0x0001, 0xa702, 0x0002, 0xa801, 0x6001, 0x8000,
    4507             :     0x4000, 0xa801, 0xa702, 0x6000, 0x8000,
    4508             :     0x4000, 0xa803, 0xa702, 0x6001, 0x8000,
    4509             :     0x4000, 0xa701, 0x8000,
    4510             :     0x4000, 0x0001, 0x8000,
    4511             :     0x4000, 0x0001, 0x8000
    4512             : };
    4513             : static const SvxMSDffCalculationData mso_sptScrollCalc[] =
    4514             : {
    4515             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    4516             :     { 0x2001, { 0x400, 1, 2 } },
    4517             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x401 } },
    4518             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
    4519             :     { 0x6000, { 0x400, 0x401, 0 } },
    4520             :     { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
    4521             :     { 0x2001, { 0x400, 2, 1 } },
    4522             :     { 0x2001, { 0x401, 1, 2 } },
    4523             :     { 0x6000, { 0x400, 0x407, 0 } },
    4524             :     { 0x6000, { 0x401, 0x407, 0 } },
    4525             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } },
    4526             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } },
    4527             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
    4528             :     { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
    4529             : };
    4530             : static const SvxMSDffTextRectangles mso_sptScrollTextRect[] =
    4531             : {
    4532             :     { { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 12 MSO_I } }
    4533             : };
    4534             : static const SvxMSDffHandle mso_sptVerticalScrollHandle[] =
    4535             : {
    4536             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4537             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 }
    4538             : };
    4539             : static const mso_CustomShape msoVerticalScroll =
    4540             : {
    4541             :     (SvxMSDffVertPair*)mso_sptVerticalScrollVert, SAL_N_ELEMENTS( mso_sptVerticalScrollVert ),
    4542             :     (sal_uInt16*)mso_sptVerticalScrollSegm, sizeof( mso_sptVerticalScrollSegm ) >> 1,
    4543             :     (SvxMSDffCalculationData*)mso_sptScrollCalc, SAL_N_ELEMENTS( mso_sptScrollCalc ),
    4544             :     (sal_Int32*)mso_sptDefault2700,
    4545             :     (SvxMSDffTextRectangles*)mso_sptScrollTextRect, SAL_N_ELEMENTS( mso_sptScrollTextRect ),
    4546             :     21600, 21600,
    4547             :     11000, 10800,
    4548             :     NULL, 0,
    4549             :     (SvxMSDffHandle*)mso_sptVerticalScrollHandle, SAL_N_ELEMENTS( mso_sptVerticalScrollHandle )
    4550             : };
    4551             : static const SvxMSDffVertPair mso_sptHorizontalScrollVert[] =   // adjustment1 : 0 - 5400
    4552             : {
    4553             :     { 0, 4 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 1 MSO_I },
    4554             :     { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 13 MSO_I }, { 2 MSO_I, 12 MSO_I },
    4555             :     { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I },
    4556             : 
    4557             :     { 1 MSO_I, 4 MSO_I }, { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 6 MSO_I },
    4558             : 
    4559             :     { 2 MSO_I, 1 MSO_I }, { 3 MSO_I, 9 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 },
    4560             :     { 21600, 1 MSO_I }, { 2 MSO_I, 0 MSO_I },
    4561             : 
    4562             :     { 1 MSO_I, 6 MSO_I },
    4563             :     { 0, 4 MSO_I },
    4564             : 
    4565             :     { 2 MSO_I, 0 MSO_I },
    4566             :     { 3 MSO_I, 0 MSO_I },
    4567             : 
    4568             :     { 0 MSO_I, 4 MSO_I },
    4569             :     { 0 MSO_I, 11 MSO_I }
    4570             : };
    4571             : static const sal_uInt16 mso_sptHorizontalScrollSegm[] =
    4572             : {
    4573             :     0x4000, 0xa801, 0x0002, 0xa802, 0x0001, 0xa801, 0x0002, 0xa802, 0x6001, 0x8000,
    4574             :     0x4000, 0xa803, 0x6000, 0x8000,
    4575             :     0x4000, 0xa803, 0xa702, 0x6000, 0x8000,
    4576             :     0x4000, 0xa701, 0x8000,
    4577             :     0x4000, 0x0001, 0x8000,
    4578             :     0x4000, 0x0001, 0x8000
    4579             : };
    4580             : static const SvxMSDffHandle mso_sptHorizontalScrollHandle[] =
    4581             : {
    4582             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    4583             :         0x100, 0, 10800, 10800, 0, 5400, MIN_INT32, 0x7fffffff }
    4584             : };
    4585             : static const mso_CustomShape msoHorizontalScroll =
    4586             : {
    4587             :     (SvxMSDffVertPair*)mso_sptHorizontalScrollVert, SAL_N_ELEMENTS( mso_sptHorizontalScrollVert ),
    4588             :     (sal_uInt16*)mso_sptHorizontalScrollSegm, sizeof( mso_sptHorizontalScrollSegm ) >> 1,
    4589             :     (SvxMSDffCalculationData*)mso_sptScrollCalc, SAL_N_ELEMENTS( mso_sptScrollCalc ),
    4590             :     (sal_Int32*)mso_sptDefault2700,
    4591             :     (SvxMSDffTextRectangles*)mso_sptScrollTextRect, SAL_N_ELEMENTS( mso_sptScrollTextRect ),
    4592             :     21600, 21600,
    4593             :     10800, 11000,
    4594             :     NULL, 0,
    4595             :     (SvxMSDffHandle*)mso_sptHorizontalScrollHandle, SAL_N_ELEMENTS( mso_sptHorizontalScrollHandle )
    4596             : };
    4597             : 
    4598             : static const SvxMSDffVertPair mso_sptFlowChartProcessVert[] =
    4599             : {
    4600             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
    4601             : };
    4602             : static const mso_CustomShape msoFlowChartProcess =
    4603             : {
    4604             :     (SvxMSDffVertPair*)mso_sptFlowChartProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartProcessVert ),
    4605             :     NULL, 0,
    4606             :     NULL, 0,
    4607             :     NULL,
    4608             :     NULL, 0,
    4609             :     21600, 21600,
    4610             :     MIN_INT32, MIN_INT32,
    4611             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4612             :     NULL, 0     // handles
    4613             : };
    4614             : 
    4615             : static const SvxMSDffVertPair mso_sptFlowChartAlternateProcessVert[] =
    4616             : {
    4617             :     { 0, 2 MSO_I }, { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 2 MSO_I },
    4618             :     { 21600, 3 MSO_I }, { 1 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }
    4619             : };
    4620             : static const sal_uInt16 mso_sptFlowChartAlternateProcessSegm[] =
    4621             : {
    4622             :     0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
    4623             : };
    4624             : static const SvxMSDffCalculationData mso_sptFlowChartAlternateProcessCalc[] =
    4625             : {
    4626             :     { 0x2000, { DFF_Prop_geoLeft, 2540, 0 } },
    4627             :     { 0x2000, { DFF_Prop_geoRight, 0, 2540 } },
    4628             :     { 0x2000, { DFF_Prop_geoTop, 2540, 0 } },
    4629             :     { 0x2000, { DFF_Prop_geoBottom, 0, 2540 } },
    4630             :     { 0x2000, { DFF_Prop_geoLeft, 800, 0 } },
    4631             :     { 0x2000, { DFF_Prop_geoRight, 0, 800 } },
    4632             :     { 0x2000, { DFF_Prop_geoTop, 800, 0 } },
    4633             :     { 0x2000, { DFF_Prop_geoBottom,0, 800 } }
    4634             : };
    4635             : static const SvxMSDffTextRectangles mso_sptFlowChartAlternateProcessTextRect[] =
    4636             : {
    4637             :     { { 4 MSO_I, 6 MSO_I }, { 5 MSO_I, 7 MSO_I } }
    4638             : };
    4639             : static const mso_CustomShape msoFlowChartAlternateProcess =
    4640             : {
    4641             :     (SvxMSDffVertPair*)mso_sptFlowChartAlternateProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessVert ),
    4642             :     (sal_uInt16*)mso_sptFlowChartAlternateProcessSegm, sizeof( mso_sptFlowChartAlternateProcessSegm ) >> 1,
    4643             :     (SvxMSDffCalculationData*)mso_sptFlowChartAlternateProcessCalc, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessCalc ),
    4644             :     NULL,
    4645             :     (SvxMSDffTextRectangles*)mso_sptFlowChartAlternateProcessTextRect, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessTextRect ),
    4646             :     21600, 21600,
    4647             :     MIN_INT32, MIN_INT32,
    4648             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4649             :     NULL, 0     // handles
    4650             : };
    4651             : 
    4652             : static const SvxMSDffVertPair mso_sptFlowChartDecisionVert[] =
    4653             : {
    4654             :     { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }
    4655             : };
    4656             : static const SvxMSDffTextRectangles mso_sptFlowChartDecisionTextRect[] =
    4657             : {
    4658             :     { { 5400, 5400 }, { 16200, 16200 } }
    4659             : };
    4660             : static const mso_CustomShape msoFlowChartDecision =
    4661             : {
    4662             :     (SvxMSDffVertPair*)mso_sptFlowChartDecisionVert, SAL_N_ELEMENTS( mso_sptFlowChartDecisionVert ),
    4663             :     NULL, 0,
    4664             :     NULL, 0,
    4665             :     NULL,
    4666             :     (SvxMSDffTextRectangles*)mso_sptFlowChartDecisionTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDecisionTextRect ),
    4667             :     21600, 21600,
    4668             :     MIN_INT32, MIN_INT32,
    4669             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4670             :     NULL, 0     // handles
    4671             : };
    4672             : 
    4673             : static const SvxMSDffVertPair mso_sptFlowChartInputOutputVert[] =
    4674             : {
    4675             :     { 4230, 0 }, { 21600, 0 }, { 17370, 21600 }, { 0, 21600 }, { 4230, 0 }
    4676             : };
    4677             : static const SvxMSDffTextRectangles mso_sptFlowChartInputOutputTextRect[] =
    4678             : {
    4679             :     { { 4230, 0 }, { 17370, 21600 } }
    4680             : };
    4681             : static const SvxMSDffVertPair mso_sptFlowChartInputOutputGluePoints[] =
    4682             : {
    4683             :     { 12960, 0 }, { 10800, 0 }, { 2160, 10800 }, { 8600, 21600 }, { 10800, 21600 }, { 19400, 10800 }
    4684             : };
    4685             : static const mso_CustomShape msoFlowChartInputOutput =
    4686             : {
    4687             :     (SvxMSDffVertPair*)mso_sptFlowChartInputOutputVert, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputVert ),
    4688             :     NULL, 0,
    4689             :     NULL, 0,
    4690             :     NULL,
    4691             :     (SvxMSDffTextRectangles*)mso_sptFlowChartInputOutputTextRect, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputTextRect ),
    4692             :     21600, 21600,
    4693             :     MIN_INT32, MIN_INT32,
    4694             :     (SvxMSDffVertPair*)mso_sptFlowChartInputOutputGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputGluePoints ),
    4695             :     NULL, 0     // handles
    4696             : };
    4697             : 
    4698             : static const SvxMSDffVertPair mso_sptFlowChartPredefinedProcessVert[] =
    4699             : {
    4700             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    4701             : 
    4702             :     { 2540, 0 }, { 2540, 21600 },
    4703             : 
    4704             :     { 21600 - 2540, 0 }, { 21600 - 2540, 21600 }
    4705             : };
    4706             : static const sal_uInt16 mso_sptFlowChartPredefinedProcessSegm[] =
    4707             : {
    4708             :     0x4000, 0x0003, 0x6000, 0x8000,
    4709             :     0x4000, 0x0001, 0x8000,
    4710             :     0x4000, 0x0001, 0x8000
    4711             : };
    4712             : static const SvxMSDffTextRectangles mso_sptFlowChartPredefinedProcessTextRect[] =
    4713             : {
    4714             :     { { 2540, 0 }, { 21600 - 2540, 21600 } }
    4715             : };
    4716             : static const mso_CustomShape msoFlowChartPredefinedProcess =
    4717             : {
    4718             :     (SvxMSDffVertPair*)mso_sptFlowChartPredefinedProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartPredefinedProcessVert ),
    4719             :     (sal_uInt16*)mso_sptFlowChartPredefinedProcessSegm, sizeof( mso_sptFlowChartPredefinedProcessSegm ) >> 1,
    4720             :     NULL, 0,
    4721             :     NULL,
    4722             :     (SvxMSDffTextRectangles*)mso_sptFlowChartPredefinedProcessTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPredefinedProcessTextRect ),
    4723             :     21600, 21600,
    4724             :     MIN_INT32, MIN_INT32,
    4725             :     NULL, 0,
    4726             :     NULL, 0     // handles
    4727             : };
    4728             : 
    4729             : static const SvxMSDffVertPair mso_sptFlowChartInternalStorageVert[] =
    4730             : {
    4731             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    4732             : 
    4733             :     { 4230, 0 }, { 4230, 21600 },
    4734             : 
    4735             :     { 0, 4230 }, { 21600, 4230 }
    4736             : };
    4737             : static const sal_uInt16 mso_sptFlowChartInternalStorageSegm[] =
    4738             : {
    4739             :     0x4000, 0x0003, 0x6000, 0x8000,
    4740             :     0x4000, 0x0001, 0x8000,
    4741             :     0x4000, 0x0001, 0x8000
    4742             : };
    4743             : static const SvxMSDffTextRectangles mso_sptFlowChartInternalStorageTextRect[] =
    4744             : {
    4745             :     { { 4230, 4230 }, { 21600, 21600 } }
    4746             : };
    4747             : static const mso_CustomShape msoFlowChartInternalStorage =
    4748             : {
    4749             :     (SvxMSDffVertPair*)mso_sptFlowChartInternalStorageVert, SAL_N_ELEMENTS( mso_sptFlowChartInternalStorageVert ),
    4750             :     (sal_uInt16*)mso_sptFlowChartInternalStorageSegm, sizeof( mso_sptFlowChartInternalStorageSegm ) >> 1,
    4751             :     NULL, 0,
    4752             :     NULL,
    4753             :     (SvxMSDffTextRectangles*)mso_sptFlowChartInternalStorageTextRect, SAL_N_ELEMENTS( mso_sptFlowChartInternalStorageTextRect ),
    4754             :     21600, 21600,
    4755             :     MIN_INT32, MIN_INT32,
    4756             :     NULL, 0,
    4757             :     NULL, 0     // handles
    4758             : };
    4759             : 
    4760             : static const SvxMSDffVertPair mso_sptFlowChartDocumentVert[] =
    4761             : {
    4762             :     { 0, 0 }, { 21600, 0 }, { 21600, 17360 },
    4763             :     { 13050, 17220 }, { 13340, 20770 }, { 5620, 21600 },    // ccp
    4764             :     { 2860, 21100 }, { 1850, 20700 }, { 0,  20120 }         // ccp
    4765             : };
    4766             : static const sal_uInt16 mso_sptFlowChartDocumentSegm[] =
    4767             : {
    4768             :     0x4000, 0x0002, 0x2002, 0x6000, 0x8000
    4769             : };
    4770             : static const SvxMSDffTextRectangles mso_sptFlowChartDocumentTextRect[] =
    4771             : {
    4772             :     { { 0, 0 }, { 21600, 17360 } }
    4773             : };
    4774             : static const SvxMSDffVertPair mso_sptFlowChartDocumentGluePoints[] =
    4775             : {
    4776             :     { 10800, 0 }, { 0, 10800 }, { 10800, 20320 }, { 21600, 10800 }
    4777             : };
    4778             : static const mso_CustomShape msoFlowChartDocument =
    4779             : {
    4780             :     (SvxMSDffVertPair*)mso_sptFlowChartDocumentVert, SAL_N_ELEMENTS( mso_sptFlowChartDocumentVert ),
    4781             :     (sal_uInt16*)mso_sptFlowChartDocumentSegm, sizeof( mso_sptFlowChartDocumentSegm ) >> 1,
    4782             :     NULL, 0,
    4783             :     NULL,
    4784             :     (SvxMSDffTextRectangles*)mso_sptFlowChartDocumentTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDocumentTextRect ),
    4785             :     21600, 21600,
    4786             :     MIN_INT32, MIN_INT32,
    4787             :     (SvxMSDffVertPair*)mso_sptFlowChartDocumentGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartDocumentGluePoints ),
    4788             :     NULL, 0     // handles
    4789             : };
    4790             : 
    4791             : static const SvxMSDffVertPair mso_sptFlowChartMultidocumentVert[] =
    4792             : {
    4793             :     { 0, 3600 }, { 1500, 3600 }, { 1500, 1800 }, { 3000, 1800 },
    4794             :     { 3000, 0 }, { 21600, 0 }, { 21600, 14409 }, { 21600 - 1500, 14409 },
    4795             :     { 21600 - 1500, 14409 + 1800 }, { 21600 - 3000, 14409 + 1800 }, { 21600 - 3000, 14409 + 3600 },
    4796             :     { 11610, 14293 + 3600 }, { 11472, 17239 + 3600 }, { 4833, 17928 + 3600 },                       // ccp
    4797             :     { 2450, 17513 + 3600 }, { 1591, 17181 + 3600 }, { 0, 16700 + 3600 },                            // ccp
    4798             : 
    4799             :     { 1500, 3600 }, { 21600 - 3000, 3600 }, { 21600 - 3000, 14409 + 1800 },
    4800             : 
    4801             :     { 3000, 1800 }, { 21600 - 1500, 1800 }, { 21600 - 1500, 14409 }
    4802             : };
    4803             : static const sal_uInt16 mso_sptFlowChartMultidocumentSegm[] =
    4804             : {
    4805             :     0x4000, 0x000a, 0x2002, 0x6000, 0x8000,
    4806             :     0x4000, 0xaa00, 0x0002, 0x8000,         // NO FILL
    4807             :     0x4000, 0xaa00, 0x0002, 0x8000          // NO FILL
    4808             : };
    4809             : static const SvxMSDffTextRectangles mso_sptFlowChartMultidocumentTextRect[] =
    4810             : {
    4811             :     { { 0, 3600 }, { 21600 - 3000, 14409 + 3600 } }
    4812             : };
    4813             : static const SvxMSDffVertPair mso_sptFlowChartMultidocumentGluePoints[] =
    4814             : {
    4815             :     { 10800, 0 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
    4816             : };
    4817             : static const mso_CustomShape msoFlowChartMultidocument =
    4818             : {
    4819             :     (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentVert, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentVert ),
    4820             :     (sal_uInt16*)mso_sptFlowChartMultidocumentSegm, sizeof( mso_sptFlowChartMultidocumentSegm ) >> 1,
    4821             :     NULL, 0,
    4822             :     NULL,
    4823             :     (SvxMSDffTextRectangles*)mso_sptFlowChartMultidocumentTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentTextRect ),
    4824             :     21600, 21600,
    4825             :     MIN_INT32, MIN_INT32,
    4826             :     (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentGluePoints ),
    4827             :     NULL, 0     // handles
    4828             : };
    4829             : 
    4830             : static const SvxMSDffVertPair mso_sptFlowChartTerminatorVert[] =
    4831             : {
    4832             :     { 3470, 21600 }, { 0, 10800 }, { 3470, 0 }, { 18130, 0 },
    4833             :     { 21600, 10800 }, { 18130, 21600 }
    4834             : };
    4835             : static const sal_uInt16 mso_sptFlowChartTerminatorSegm[] =
    4836             : {
    4837             :     0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
    4838             : };
    4839             : static const SvxMSDffTextRectangles mso_sptFlowChartTerminatorTextRect[] =
    4840             : {
    4841             :     { { 1060, 3180 }, { 20540, 18420 } }
    4842             : };
    4843             : static const mso_CustomShape msoFlowChartTerminator =
    4844             : {
    4845             :     (SvxMSDffVertPair*)mso_sptFlowChartTerminatorVert, SAL_N_ELEMENTS( mso_sptFlowChartTerminatorVert ),
    4846             :     (sal_uInt16*)mso_sptFlowChartTerminatorSegm, sizeof( mso_sptFlowChartTerminatorSegm ) >> 1,
    4847             :     NULL, 0,
    4848             :     NULL,
    4849             :     (SvxMSDffTextRectangles*)mso_sptFlowChartTerminatorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartTerminatorTextRect ),
    4850             :     21600, 21600,
    4851             :     MIN_INT32, MIN_INT32,
    4852             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4853             :     NULL, 0     // handles
    4854             : };
    4855             : 
    4856             : static const SvxMSDffVertPair mso_sptFlowChartPreparationVert[] =
    4857             : {
    4858             :     { 4350, 0 }, { 17250, 0 }, { 21600, 10800 }, { 17250, 21600 },
    4859             :     { 4350, 21600 }, { 0, 10800 }, { 4350, 0 }
    4860             : };
    4861             : static const SvxMSDffTextRectangles mso_sptFlowChartPreparationTextRect[] =
    4862             : {
    4863             :     { { 4350, 0 }, { 17250, 21600 } }
    4864             : };
    4865             : static const mso_CustomShape msoFlowChartPreparation =
    4866             : {
    4867             :     (SvxMSDffVertPair*)mso_sptFlowChartPreparationVert, SAL_N_ELEMENTS( mso_sptFlowChartPreparationVert ),
    4868             :     NULL, 0,
    4869             :     NULL, 0,
    4870             :     NULL,
    4871             :     (SvxMSDffTextRectangles*)mso_sptFlowChartPreparationTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPreparationTextRect ),
    4872             :     21600, 21600,
    4873             :     MIN_INT32, MIN_INT32,
    4874             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4875             :     NULL, 0     // handles
    4876             : };
    4877             : 
    4878             : static const SvxMSDffVertPair mso_sptFlowChartManualInputVert[] =
    4879             : {
    4880             :     { 0, 4300 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 4300 }
    4881             : };
    4882             : static const SvxMSDffTextRectangles mso_sptFlowChartManualInputTextRect[] =
    4883             : {
    4884             :     { { 0, 4300 }, { 21600, 21600 } }
    4885             : };
    4886             : static const SvxMSDffVertPair mso_sptFlowChartManualInputGluePoints[] =
    4887             : {
    4888             :     { 10800, 2150 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
    4889             : };
    4890             : static const mso_CustomShape msoFlowChartManualInput =
    4891             : {
    4892             :     (SvxMSDffVertPair*)mso_sptFlowChartManualInputVert, SAL_N_ELEMENTS( mso_sptFlowChartManualInputVert ),
    4893             :     NULL, 0,
    4894             :     NULL, 0,
    4895             :     NULL,
    4896             :     (SvxMSDffTextRectangles*)mso_sptFlowChartManualInputTextRect, SAL_N_ELEMENTS( mso_sptFlowChartManualInputTextRect ),
    4897             :     21600, 21600,
    4898             :     MIN_INT32, MIN_INT32,
    4899             :     (SvxMSDffVertPair*)mso_sptFlowChartManualInputGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartManualInputGluePoints ),
    4900             :     NULL, 0     // handles
    4901             : };
    4902             : 
    4903             : static const SvxMSDffVertPair mso_sptFlowChartManualOperationVert[] =
    4904             : {
    4905             :     { 0, 0 }, { 21600, 0 }, { 17250, 21600 }, { 4350, 21600 }, { 0, 0 }
    4906             : };
    4907             : static const SvxMSDffTextRectangles mso_sptFlowChartManualOperationTextRect[] =
    4908             : {
    4909             :     { { 4350, 0 }, { 17250, 21600 } }
    4910             : };
    4911             : static const SvxMSDffVertPair mso_sptFlowChartManualOperationGluePoints[] =
    4912             : {
    4913             :     { 10800, 0 }, { 2160, 10800 }, { 10800, 21600 }, { 19440, 10800 }
    4914             : };
    4915             : static const mso_CustomShape msoFlowChartManualOperation =
    4916             : {
    4917             :     (SvxMSDffVertPair*)mso_sptFlowChartManualOperationVert, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationVert ),
    4918             :     NULL, 0,
    4919             :     NULL, 0,
    4920             :     NULL,
    4921             :     (SvxMSDffTextRectangles*)mso_sptFlowChartManualOperationTextRect, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationTextRect ),
    4922             :     21600, 21600,
    4923             :     MIN_INT32, MIN_INT32,
    4924             :     (SvxMSDffVertPair*)mso_sptFlowChartManualOperationGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationGluePoints ),
    4925             :     NULL, 0     // handles
    4926             : };
    4927             : 
    4928             : static const SvxMSDffVertPair mso_sptFlowChartConnectorVert[] =
    4929             : {
    4930             :     { 10800, 10800 }, { 10800, 10800 },  { 0, 360 }
    4931             : };
    4932             : static const sal_uInt16 mso_sptFlowChartConnectorSegm[] =
    4933             : {
    4934             :     0xa203, 0x6000, 0x8000
    4935             : };
    4936             : static const SvxMSDffTextRectangles mso_sptFlowChartConnectorTextRect[] =
    4937             : {
    4938             :     { { 3180, 3180 }, { 18420, 18420 } }
    4939             : };
    4940             : static const mso_CustomShape msoFlowChartConnector =
    4941             : {
    4942             :     (SvxMSDffVertPair*)mso_sptFlowChartConnectorVert, SAL_N_ELEMENTS( mso_sptFlowChartConnectorVert ),
    4943             :     (sal_uInt16*)mso_sptFlowChartConnectorSegm, sizeof( mso_sptFlowChartConnectorSegm ) >> 1,
    4944             :     NULL, 0,
    4945             :     NULL,
    4946             :     (SvxMSDffTextRectangles*)mso_sptFlowChartConnectorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartConnectorTextRect ),
    4947             :     21600, 21600,
    4948             :     MIN_INT32, MIN_INT32,
    4949             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    4950             :     NULL, 0     // handles
    4951             : };
    4952             : 
    4953             : static const SvxMSDffVertPair mso_sptFlowChartOffpageConnectorVert[] =
    4954             : {
    4955             :     { 0, 0 }, { 21600, 0 }, { 21600, 17150 }, { 10800, 21600 },
    4956             :     { 0, 17150 }, { 0, 0 }
    4957             : };
    4958             : static const SvxMSDffTextRectangles mso_sptFlowChartOffpageConnectorTextRect[] =
    4959             : {
    4960             :     { { 0, 0 }, { 21600, 17150 } }
    4961             : };
    4962             : static const mso_CustomShape msoFlowChartOffpageConnector =
    4963             : {
    4964             :     (SvxMSDffVertPair*)mso_sptFlowChartOffpageConnectorVert, SAL_N_ELEMENTS( mso_sptFlowChartOffpageConnectorVert ),
    4965             :     NULL, 0,
    4966             :     NULL, 0,
    4967             :     NULL,
    4968             :     (SvxMSDffTextRectangles*)mso_sptFlowChartOffpageConnectorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOffpageConnectorTextRect ),
    4969             :     21600, 21600,
    4970             :     MIN_INT32, MIN_INT32,
    4971             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4972             :     NULL, 0     // handles
    4973             : };
    4974             : 
    4975             : static const SvxMSDffVertPair mso_sptFlowChartPunchedCardVert[] =
    4976             : {
    4977             :     { 4300, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
    4978             :     { 0, 4300 }, { 4300, 0 }
    4979             : };
    4980             : static const SvxMSDffTextRectangles mso_sptFlowChartPunchedCardTextRect[] =
    4981             : {
    4982             :     { { 0, 4300 }, { 21600, 21600 } }
    4983             : };
    4984             : static const mso_CustomShape msoFlowChartPunchedCard =
    4985             : {
    4986             :     (SvxMSDffVertPair*)mso_sptFlowChartPunchedCardVert, SAL_N_ELEMENTS( mso_sptFlowChartPunchedCardVert ),
    4987             :     NULL, 0,
    4988             :     NULL, 0,
    4989             :     NULL,
    4990             :     (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedCardTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPunchedCardTextRect ),
    4991             :     21600, 21600,
    4992             :     MIN_INT32, MIN_INT32,
    4993             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    4994             :     NULL, 0     // handles
    4995             : };
    4996             : 
    4997             : static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeVert[] =
    4998             : {
    4999             :     { 0, 2230 },                                            // p
    5000             :     { 820, 3990 }, { 3410, 3980 }, { 5370, 4360 },          // ccp
    5001             :     { 7430, 4030 }, { 10110, 3890 }, { 10690, 2270 },       // ccp
    5002             :     { 11440, 300 }, { 14200, 160 }, { 16150, 0 },           // ccp
    5003             :     { 18670, 170 }, {  20690, 390 }, { 21600, 2230 },       // ccp
    5004             :     { 21600, 19420 },                                       // p
    5005             :     { 20640, 17510 }, { 18320, 17490 }, { 16140, 17240 },   // ccp
    5006             :     { 14710, 17370 }, { 11310, 17510 }, { 10770, 19430 },   // ccp
    5007             :     { 10150, 21150 }, { 7380, 21290 }, { 5290, 21600 },     // ccp
    5008             :     { 3220, 21250 }, { 610, 21130 }, { 0, 19420 }           // ccp
    5009             : };
    5010             : static const sal_uInt16 mso_sptFlowChartPunchedTapeSegm[] =
    5011             : {
    5012             :     0x4000, 0x2004, 0x0001, 0x2004, 0x6000, 0x8000
    5013             : };
    5014             : static const SvxMSDffTextRectangles mso_sptFlowChartPunchedTapeTextRect[] =
    5015             : {
    5016             :     { { 0, 4360 }, { 21600, 17240 } }
    5017             : };
    5018             : static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeGluePoints[] =
    5019             : {
    5020             :     { 10800, 2020 }, { 0, 10800 }, { 10800, 19320 }, { 21600, 10800 }
    5021             : };
    5022             : static const mso_CustomShape msoFlowChartPunchedTape =
    5023             : {
    5024             :     (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeVert, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeVert ),
    5025             :     (sal_uInt16*)mso_sptFlowChartPunchedTapeSegm, sizeof( mso_sptFlowChartPunchedTapeSegm ) >> 1,
    5026             :     NULL, 0,
    5027             :     NULL,
    5028             :     (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedTapeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeTextRect ),
    5029             :     21600, 21600,
    5030             :     MIN_INT32, MIN_INT32,
    5031             :     (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeGluePoints ),
    5032             :     NULL, 0     // handles
    5033             : };
    5034             : 
    5035             : static const SvxMSDffVertPair mso_sptFlowChartSummingJunctionVert[] =
    5036             : {
    5037             :     { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
    5038             : 
    5039             :     { 3100, 3100 },
    5040             :     { 18500, 18500 },
    5041             : 
    5042             :     { 3100, 18500 },
    5043             :     { 18500, 3100 }
    5044             : };
    5045             : static const sal_uInt16 mso_sptFlowChartSummingJunctionSegm[] =
    5046             : {
    5047             :     0xa203, 0x6000, 0x8000,
    5048             :     0x4000, 0x0001, 0x8000,
    5049             :     0x4000, 0x0001, 0x8000
    5050             : };
    5051             : static const SvxMSDffTextRectangles mso_sptFlowChartSummingJunctionTextRect[] =
    5052             : {
    5053             :     { { 3100, 3100 }, { 18500, 18500 } }
    5054             : };
    5055             : static const mso_CustomShape msoFlowChartSummingJunction =
    5056             : {
    5057             :     (SvxMSDffVertPair*)mso_sptFlowChartSummingJunctionVert, SAL_N_ELEMENTS( mso_sptFlowChartSummingJunctionVert ),
    5058             :     (sal_uInt16*)mso_sptFlowChartSummingJunctionSegm, sizeof( mso_sptFlowChartSummingJunctionSegm ) >> 1,
    5059             :     NULL, 0,
    5060             :     NULL,
    5061             :     (SvxMSDffTextRectangles*)mso_sptFlowChartSummingJunctionTextRect, SAL_N_ELEMENTS( mso_sptFlowChartSummingJunctionTextRect ),
    5062             :     21600, 21600,
    5063             :     MIN_INT32, MIN_INT32,
    5064             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    5065             :     NULL, 0     // handles
    5066             : };
    5067             : 
    5068             : static const SvxMSDffVertPair mso_sptFlowChartOrVert[] =
    5069             : {
    5070             :     { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
    5071             : 
    5072             :     { 0, 10800 }, { 21600, 10800 },
    5073             : 
    5074             :     { 10800, 0 }, { 10800, 21600 }
    5075             : };
    5076             : static const sal_uInt16 mso_sptFlowChartOrSegm[] =
    5077             : {
    5078             :     0xa203, 0x6000, 0x8000,
    5079             :     0x4000, 0x0001, 0x8000,
    5080             :     0x4000, 0x0001, 0x8000
    5081             : };
    5082             : static const SvxMSDffTextRectangles mso_sptFlowChartOrTextRect[] =
    5083             : {
    5084             :     { { 3100, 3100 }, { 18500, 18500 } }
    5085             : };
    5086             : static const mso_CustomShape msoFlowChartOr =
    5087             : {
    5088             :     (SvxMSDffVertPair*)mso_sptFlowChartOrVert, SAL_N_ELEMENTS( mso_sptFlowChartOrVert ),
    5089             :     (sal_uInt16*)mso_sptFlowChartOrSegm, sizeof( mso_sptFlowChartOrSegm ) >> 1,
    5090             :     NULL, 0,
    5091             :     NULL,
    5092             :     (SvxMSDffTextRectangles*)mso_sptFlowChartOrTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOrTextRect ),
    5093             :     21600, 21600,
    5094             :     MIN_INT32, MIN_INT32,
    5095             :     (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
    5096             :     NULL, 0     // handles
    5097             : };
    5098             : 
    5099             : static const SvxMSDffVertPair mso_sptFlowChartCollateVert[] =
    5100             : {
    5101             :     { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 21600, 0 }, { 0, 0 }
    5102             : };
    5103             : static const SvxMSDffTextRectangles mso_sptFlowChartCollateTextRect[] =
    5104             : {
    5105             :     { { 5400, 5400 }, { 16200, 16200 } }
    5106             : };
    5107             : static const SvxMSDffVertPair mso_sptFlowChartCollateGluePoints[] =
    5108             : {
    5109             :     { 10800, 0 }, { 10800, 10800 }, { 10800, 21600 }
    5110             : };
    5111             : static const mso_CustomShape msoFlowChartCollate =
    5112             : {
    5113             :     (SvxMSDffVertPair*)mso_sptFlowChartCollateVert, SAL_N_ELEMENTS( mso_sptFlowChartCollateVert ),
    5114             :     NULL, 0,
    5115             :     NULL, 0,
    5116             :     NULL,
    5117             :     (SvxMSDffTextRectangles*)mso_sptFlowChartCollateTextRect, SAL_N_ELEMENTS( mso_sptFlowChartCollateTextRect ),
    5118             :     21600, 21600,
    5119             :     MIN_INT32, MIN_INT32,
    5120             :     (SvxMSDffVertPair*)mso_sptFlowChartCollateGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartCollateGluePoints ),
    5121             :     NULL, 0     // handles
    5122             : };
    5123             : 
    5124             : static const SvxMSDffVertPair mso_sptFlowChartSortVert[] =
    5125             : {
    5126             :     { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 },
    5127             : 
    5128             :     { 0, 10800 }, { 21600, 10800 }
    5129             : };
    5130             : static const sal_uInt16 mso_sptFlowChartSortSegm[] =
    5131             : {
    5132             :     0x4000, 0x0003, 0x6000, 0x8000,
    5133             :     0x4000, 0x0001, 0x8000
    5134             : };
    5135             : static const SvxMSDffTextRectangles mso_sptFlowChartSortTextRect[] =
    5136             : {
    5137             :     { { 5400, 5400 }, { 16200, 16200 } }
    5138             : };
    5139             : static const mso_CustomShape msoFlowChartSort =
    5140             : {
    5141             :     (SvxMSDffVertPair*)mso_sptFlowChartSortVert, SAL_N_ELEMENTS( mso_sptFlowChartSortVert ),
    5142             :     (sal_uInt16*)mso_sptFlowChartSortSegm, sizeof( mso_sptFlowChartSortSegm ) >> 1,
    5143             :     NULL, 0,
    5144             :     NULL,
    5145             :     (SvxMSDffTextRectangles*)mso_sptFlowChartSortTextRect, SAL_N_ELEMENTS( mso_sptFlowChartSortTextRect ),
    5146             :     21600, 21600,
    5147             :     MIN_INT32, MIN_INT32,
    5148             :     NULL, 0,
    5149             :     NULL, 0     // handles
    5150             : };
    5151             : 
    5152             : static const SvxMSDffVertPair mso_sptFlowChartExtractVert[] =
    5153             : {
    5154             :     { 10800, 0 }, { 21600, 21600 }, { 0, 21600 }, { 10800, 0 }
    5155             : };
    5156             : static const SvxMSDffTextRectangles mso_sptFlowChartExtractTextRect[] =
    5157             : {
    5158             :     { { 5400, 10800 }, { 16200, 21600 } }
    5159             : };
    5160             : static const SvxMSDffVertPair mso_sptFlowChartExtractGluePoints[] =
    5161             : {
    5162             :     { 10800, 0 }, { 5400, 10800 }, { 10800, 21600 }, { 16200, 10800 }
    5163             : };
    5164             : static const mso_CustomShape msoFlowChartExtract =
    5165             : {
    5166             :     (SvxMSDffVertPair*)mso_sptFlowChartExtractVert, SAL_N_ELEMENTS( mso_sptFlowChartExtractVert ),
    5167             :     NULL, 0,
    5168             :     NULL, 0,
    5169             :     NULL,
    5170             :     (SvxMSDffTextRectangles*)mso_sptFlowChartExtractTextRect, SAL_N_ELEMENTS( mso_sptFlowChartExtractTextRect ),
    5171             :     21600, 21600,
    5172             :     MIN_INT32, MIN_INT32,
    5173             :     (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartExtractGluePoints ),
    5174             :     NULL, 0     // handles
    5175             : };
    5176             : 
    5177             : static const SvxMSDffVertPair mso_sptFlowChartMergeVert[] =
    5178             : {
    5179             :     { 0, 0 }, { 21600, 0 }, { 10800, 21600 }, { 0, 0 }
    5180             : };
    5181             : static const SvxMSDffTextRectangles mso_sptFlowChartMergeTextRect[] =
    5182             : {
    5183             :     { { 5400, 0 }, { 16200, 10800 } }
    5184             : };
    5185             : static const mso_CustomShape msoFlowChartMerge =
    5186             : {
    5187             :     (SvxMSDffVertPair*)mso_sptFlowChartMergeVert, SAL_N_ELEMENTS( mso_sptFlowChartMergeVert ),
    5188             :     NULL, 0,
    5189             :     NULL, 0,
    5190             :     NULL,
    5191             :     (SvxMSDffTextRectangles*)mso_sptFlowChartMergeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMergeTextRect ),
    5192             :     21600, 21600,
    5193             :     MIN_INT32, MIN_INT32,
    5194             :     (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartExtractGluePoints ),
    5195             :     NULL, 0     // handles
    5196             : };
    5197             : 
    5198             : static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageVert[] =
    5199             : {
    5200             :     { 3600, 21600 }, { 0, 10800 }, { 3600, 0 }, { 21600, 0 },
    5201             :     { 18000, 10800 }, { 21600, 21600 }
    5202             : };
    5203             : static const sal_uInt16 mso_sptFlowChartOnlineStorageSegm[] =
    5204             : {
    5205             :     0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
    5206             : };
    5207             : static const SvxMSDffTextRectangles mso_sptFlowChartOnlineStorageTextRect[] =
    5208             : {
    5209             :     { { 3600, 0 }, { 18000, 21600 } }
    5210             : };
    5211             : static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageGluePoints[] =
    5212             : {
    5213             :     { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 18000, 10800 }
    5214             : };
    5215             : static const mso_CustomShape msoFlowChartOnlineStorage =
    5216             : {
    5217             :     (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageVert, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageVert ),
    5218             :     (sal_uInt16*)mso_sptFlowChartOnlineStorageSegm, sizeof( mso_sptFlowChartOnlineStorageSegm ) >> 1,
    5219             :     NULL, 0,
    5220             :     NULL,
    5221             :     (SvxMSDffTextRectangles*)mso_sptFlowChartOnlineStorageTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageTextRect ),
    5222             :     21600, 21600,
    5223             :     MIN_INT32, MIN_INT32,
    5224             :     (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageGluePoints ),
    5225             :     NULL, 0     // handles
    5226             : };
    5227             : 
    5228             : static const SvxMSDffVertPair mso_sptFlowChartDelayVert[] =
    5229             : {
    5230             :     { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 21600 },
    5231             :     { 0, 0 }
    5232             : };
    5233             : static const sal_uInt16 mso_sptFlowChartDelaySegm[] =
    5234             : {
    5235             :     0x4000, 0xa702, 0x0002, 0x6000, 0x8000
    5236             : };
    5237             : static const SvxMSDffTextRectangles mso_sptFlowChartDelayTextRect[] =
    5238             : {
    5239             :     { { 0, 3100 }, { 18500, 18500 } }
    5240             : };
    5241             : static const mso_CustomShape msoFlowChartDelay =
    5242             : {
    5243             :     (SvxMSDffVertPair*)mso_sptFlowChartDelayVert, SAL_N_ELEMENTS( mso_sptFlowChartDelayVert ),
    5244             :     (sal_uInt16*)mso_sptFlowChartDelaySegm, sizeof( mso_sptFlowChartDelaySegm ) >> 1,
    5245             :     NULL, 0,
    5246             :     NULL,
    5247             :     (SvxMSDffTextRectangles*)mso_sptFlowChartDelayTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDelayTextRect ),
    5248             :     21600, 21600,
    5249             :     MIN_INT32, MIN_INT32,
    5250             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    5251             :     NULL, 0     // handles
    5252             : };
    5253             : 
    5254             : static const SvxMSDffVertPair mso_sptFlowChartMagneticTapeVert[] =
    5255             : {
    5256             :     { 20980, 18150 }, { 20980, 21600 }, { 10670, 21600 },
    5257             :     { 4770, 21540 }, { 0, 16720 }, { 0, 10800 },            // ccp
    5258             :     { 0, 4840 }, { 4840, 0 }, { 10800, 0 },                 // ccp
    5259             :     { 16740, 0 }, { 21600, 4840 }, { 21600, 10800 },        // ccp
    5260             :     { 21600, 13520 }, { 20550, 16160 }, { 18670, 18170 }    // ccp
    5261             : };
    5262             : static const sal_uInt16 mso_sptFlowChartMagneticTapeSegm[] =
    5263             : {
    5264             :     0x4000, 0x0002, 0x2004, 0x6000, 0x8000
    5265             : };
    5266             : static const SvxMSDffTextRectangles mso_sptFlowChartMagneticTapeTextRect[] =
    5267             : {
    5268             :     { { 3100, 3100 }, { 18500, 18500 } }
    5269             : };
    5270             : static const mso_CustomShape msoFlowChartMagneticTape =
    5271             : {
    5272             :     (SvxMSDffVertPair*)mso_sptFlowChartMagneticTapeVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticTapeVert ),
    5273             :     (sal_uInt16*)mso_sptFlowChartMagneticTapeSegm, sizeof( mso_sptFlowChartMagneticTapeSegm ) >> 1,
    5274             :     NULL, 0,
    5275             :     NULL,
    5276             :     (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticTapeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticTapeTextRect ),
    5277             :     21600, 21600,
    5278             :     MIN_INT32, MIN_INT32,
    5279             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    5280             :     NULL, 0     // handles
    5281             : };
    5282             : 
    5283             : static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskVert[] =
    5284             : {
    5285             :     { 0, 3400 }, { 10800, 0 }, { 21600, 3400 }, { 21600, 18200 },
    5286             :     { 10800, 21600 }, { 0, 18200 },
    5287             : 
    5288             :     { 0, 3400 }, { 10800, 6800 }, { 21600, 3400 }
    5289             : };
    5290             : static const sal_uInt16 mso_sptFlowChartMagneticDiskSegm[] =
    5291             : {
    5292             :     0x4000, 0xa802, 0x0001, 0xa802, 0x6000, 0x8000,
    5293             :     0x4000, 0xa802, 0x8000
    5294             : };
    5295             : static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDiskTextRect[] =
    5296             : {
    5297             :     { { 0, 6800 }, { 21600, 18200 } }
    5298             : };
    5299             : static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskGluePoints[] =
    5300             : {
    5301             :     { 10800, 6800 }, { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
    5302             : };
    5303             : static const mso_CustomShape msoFlowChartMagneticDisk =
    5304             : {
    5305             :     (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskVert ),
    5306             :     (sal_uInt16*)mso_sptFlowChartMagneticDiskSegm, sizeof( mso_sptFlowChartMagneticDiskSegm ) >> 1,
    5307             :     NULL, 0,
    5308             :     NULL,
    5309             :     (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDiskTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskTextRect ),
    5310             :     21600, 21600,
    5311             :     MIN_INT32, MIN_INT32,
    5312             :     (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskGluePoints ),
    5313             :     NULL, 0     // handles
    5314             : };
    5315             : 
    5316             : static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumVert[] =
    5317             : {
    5318             :     { 18200, 0 }, { 21600, 10800 }, { 18200, 21600 }, { 3400, 21600 },
    5319             :     { 0, 10800 }, { 3400, 0 },
    5320             : 
    5321             :     { 18200, 0 }, { 14800, 10800 }, { 18200, 21600 }
    5322             : };
    5323             : static const sal_uInt16 mso_sptFlowChartMagneticDrumSegm[] =
    5324             : {
    5325             :     0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000,
    5326             :     0x4000, 0xa702, 0x8000
    5327             : };
    5328             : static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDrumTextRect[] =
    5329             : {
    5330             :     { { 3400, 0 }, { 14800, 21600 } }
    5331             : };
    5332             : static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumGluePoints[] =
    5333             : {
    5334             :     { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 14800, 10800 }, { 21600, 10800 }
    5335             : };
    5336             : static const mso_CustomShape msoFlowChartMagneticDrum =
    5337             : {
    5338             :     (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumVert ),
    5339             :     (sal_uInt16*)mso_sptFlowChartMagneticDrumSegm, sizeof( mso_sptFlowChartMagneticDrumSegm ) >> 1,
    5340             :     NULL, 0,
    5341             :     NULL,
    5342             :     (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDrumTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumTextRect ),
    5343             :     21600, 21600,
    5344             :     MIN_INT32, MIN_INT32,
    5345             :     (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumGluePoints ),
    5346             :     NULL, 0     // handles
    5347             : };
    5348             : 
    5349             : static const SvxMSDffVertPair mso_sptFlowChartDisplayVert[] =
    5350             : {
    5351             :     { 3600, 0 }, { 17800, 0 }, { 21600, 10800 }, { 17800, 21600 },
    5352             :     { 3600, 21600 }, { 0, 10800 }
    5353             : };
    5354             : static const sal_uInt16 mso_sptFlowChartDisplaySegm[] =
    5355             : {
    5356             :     0x4000, 0x0001, 0xa702, 0x0002, 0x6000, 0x8000
    5357             : };
    5358             : static const SvxMSDffTextRectangles mso_sptFlowChartDisplayTextRect[] =
    5359             : {
    5360             :     { { 3600, 0 }, { 17800, 21600 } }
    5361             : };
    5362             : static const mso_CustomShape msoFlowChartDisplay =
    5363             : {
    5364             :     (SvxMSDffVertPair*)mso_sptFlowChartDisplayVert, SAL_N_ELEMENTS( mso_sptFlowChartDisplayVert ),
    5365             :     (sal_uInt16*)mso_sptFlowChartDisplaySegm, sizeof( mso_sptFlowChartDisplaySegm ) >> 1,
    5366             :     NULL, 0,
    5367             :     NULL,
    5368             :     (SvxMSDffTextRectangles*)mso_sptFlowChartDisplayTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDisplayTextRect ),
    5369             :     21600, 21600,
    5370             :     MIN_INT32, MIN_INT32,
    5371             :     (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
    5372             :     NULL, 0     // handles
    5373             : };
    5374             : 
    5375             : static const SvxMSDffVertPair mso_sptWedgeRectCalloutVert[] =
    5376             : {
    5377             :     { 0, 0 },
    5378             :     { 0, 3590 }, { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
    5379             :     { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
    5380             :     { 0, 21600 },
    5381             :     { 3590, 21600 }, { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
    5382             :     { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
    5383             :     { 21600, 21600 },
    5384             :     { 21600, 18010 }, { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
    5385             :     { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
    5386             :     { 21600, 0 },
    5387             :     { 18010, 0 }, { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
    5388             :     { 8970, 0 }, { 16 MSO_I, 17 MSO_I }, { 3590, 0 },
    5389             :     { 0, 0 }
    5390             : };
    5391             : static const SvxMSDffCalculationData mso_sptWedgeRectCalloutCalc[] =
    5392             : {
    5393             :     { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },     //0x400
    5394             :     { 0x2000, { DFF_Prop_adjust2Value, 0,10800 } },
    5395             :     { 0x6006, { 0x412, DFF_Prop_adjustValue, 0 } },     //0x402
    5396             :     { 0x6006, { 0x412, DFF_Prop_adjust2Value, 6280 } },
    5397             :     { 0x6006, { 0x417, DFF_Prop_adjustValue, 0 } },     //0x404
    5398             :     { 0x6006, { 0x417, DFF_Prop_adjust2Value, 15320 } },
    5399             :     { 0x6006, { 0x41a, DFF_Prop_adjustValue, 6280 } },  //0x406
    5400             :     { 0x6006, { 0x41a, DFF_Prop_adjust2Value, 21600 } },
    5401             :     { 0x6006, { 0x41d, DFF_Prop_adjustValue, 15320 } }, //0x408
    5402             :     { 0x6006, { 0x41d, DFF_Prop_adjust2Value, 21600 } },
    5403             :     { 0x6006, { 0x420, DFF_Prop_adjustValue, 21600 } }, //0x40a
    5404             :     { 0x6006, { 0x420, DFF_Prop_adjust2Value, 15320 } },
    5405             :     { 0x6006, { 0x422, DFF_Prop_adjustValue, 21600 } }, //0x40c
    5406             :     { 0x6006, { 0x422, DFF_Prop_adjust2Value, 6280 } },
    5407             :     { 0x6006, { 0x424, DFF_Prop_adjustValue, 15320 } }, //0x40e
    5408             :     { 0x6006, { 0x424, DFF_Prop_adjust2Value, 0 } },
    5409             :     { 0x6006, { 0x426, DFF_Prop_adjustValue, 6280 } },  //0x410
    5410             :     { 0x6006, { 0x426, DFF_Prop_adjust2Value, 0 } },
    5411             :     { 0xa006, { DFF_Prop_adjustValue, -1, 0x413 } },    //0x412
    5412             :     { 0xa006, { 0x401, -1, 0x416 } },
    5413             :     { 0x2003, { 0x400, 0, 0 } },                        //0x414
    5414             :     { 0x2003, { 0x401, 0, 0 } },
    5415             :     { 0xa000, { 0x414, 0, 0x415 } },                    //0x416
    5416             :     { 0xa006, { DFF_Prop_adjustValue, -1, 0x418 } },
    5417             :     { 0x6006, { 0x401, 0x416, -1 } },                   //0x418
    5418             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 21600 } },
    5419             :     { 0x6006, { 0x419, 0x41b, -1 } },                   //0x41a
    5420             :     { 0xa006, { 0x400, -1, 0x41c } },
    5421             :     { 0xa000, { 0x415, 0, 0x414 } },                    //0x41c
    5422             :     { 0x6006, { 0x419, 0x41e, -1 } },
    5423             :     { 0x6006, { 0x400, 0x41c, -1 } },                   //0x41e
    5424             :     { 0x2000, { DFF_Prop_adjustValue, 0, 21600 } },
    5425             :     { 0x6006, { 0x41f, 0x421, -1 } },                   //0x420
    5426             :     { 0x6006, { 0x401, 0x416, -1 } },
    5427             :     { 0x6006, { 0x41f, 0x423, -1 } },                   //0x422
    5428             :     { 0xa006, { 0x401, -1, 0x416 } },
    5429             :     { 0xa006, { DFF_Prop_adjust2Value, -1, 0x425 } },   //0x424
    5430             :     { 0x6006, { 0x400, 0x41c, -1 } },
    5431             :     { 0xa006, { DFF_Prop_adjust2Value, -1, 0x427 } },   //0x426
    5432             :     { 0xa006, { 0x400, -1, 0x41c } },
    5433             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },         //0x428
    5434             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }
    5435             : };
    5436             : static const sal_Int32 mso_sptWedgeRectCalloutDefault[] =
    5437             : {
    5438             :     2, 1400, 25920
    5439             : };
    5440             : static const SvxMSDffTextRectangles mso_sptWedgeRectCalloutTextRect[] =
    5441             : {
    5442             :     { { 0, 0 }, { 21600, 21600 } }
    5443             : };
    5444             : static const SvxMSDffVertPair mso_sptWedgeRectCalloutGluePoints[] =
    5445             : {
    5446             :     { 10800, 0 }, { 0, 10800 },  { 10800, 21600 }, { 21600, 10800 }, { 40 MSO_I, 41 MSO_I }
    5447             : };
    5448             : static const SvxMSDffHandle mso_sptCalloutHandle[] =
    5449             : {
    5450             :     {
    5451             :         0,
    5452             :         0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff
    5453             :     }
    5454             : };
    5455             : static const mso_CustomShape msoWedgeRectCallout =
    5456             : {
    5457             :     (SvxMSDffVertPair*)mso_sptWedgeRectCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutVert ),
    5458             :     NULL, 0,
    5459             :     (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
    5460             :     (sal_Int32*)mso_sptWedgeRectCalloutDefault,
    5461             :     (SvxMSDffTextRectangles*)mso_sptWedgeRectCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutTextRect ),
    5462             :     21600, 21600,
    5463             :     MIN_INT32, MIN_INT32,
    5464             :     (SvxMSDffVertPair*)mso_sptWedgeRectCalloutGluePoints, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutGluePoints ),
    5465             :     (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle )        // handles
    5466             : };
    5467             : static const SvxMSDffVertPair mso_sptWedgeRRectCalloutVert[] =
    5468             : {
    5469             :     { 3590, 0 },
    5470             :     { 0, 3590 },
    5471             :     { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
    5472             :     { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
    5473             :     { 3590, 21600 },
    5474             :     { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
    5475             :     { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
    5476             :     { 21600, 18010 },
    5477             :     { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
    5478             :     { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
    5479             :     { 18010, 0 },
    5480             :     { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
    5481             :     { 8970, 0 }, { 16 MSO_I, 17 MSO_I }
    5482             : };
    5483             : static const sal_uInt16 mso_sptWedgeRRectCalloutSegm[] =
    5484             : {
    5485             :     0x4000, 0xa701, 0x0005, 0xa801, 0x0005, 0xa701, 0x0005, 0xa801, 0x0004, 0x6001, 0x8000
    5486             : };
    5487             : static const SvxMSDffTextRectangles mso_sptWedgeRRectCalloutTextRect[] =
    5488             : {
    5489             :     { { 800, 800 }, { 20800, 20800 } }
    5490             : };
    5491             : static const mso_CustomShape msoWedgeRRectCallout =
    5492             : {
    5493             :     (SvxMSDffVertPair*)mso_sptWedgeRRectCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeRRectCalloutVert ),
    5494             :     (sal_uInt16*)mso_sptWedgeRRectCalloutSegm, sizeof( mso_sptWedgeRRectCalloutSegm ) >> 1,
    5495             :     (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
    5496             :     (sal_Int32*)mso_sptWedgeRectCalloutDefault,
    5497             :     (SvxMSDffTextRectangles*)mso_sptWedgeRRectCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeRRectCalloutTextRect ),
    5498             :     21600, 21600,
    5499             :     MIN_INT32, MIN_INT32,
    5500             :     NULL, 0,
    5501             :     (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle )        // handles
    5502             : };
    5503             : static const SvxMSDffVertPair mso_sptBalloonVert[] =
    5504             : {
    5505             :     { 3590, 0 },
    5506             :     { 0, 3590 },
    5507             :     { 0, 14460 },
    5508             :     { 3590, 18050 },
    5509             :     { 40 MSO_I, 21600 }, { 5420, 18050 },
    5510             :     { 18010, 18050 },
    5511             :     { 21600, 14460 },
    5512             :     { 21600, 3590 },
    5513             :     { 18010, 0 }
    5514             : };
    5515             : static const sal_uInt16 mso_sptBalloonSegm[] =
    5516             : {
    5517             :     0x4000, 0xa701, 0x0001, 0xa801, 0x0003, 0xa701, 0x0001, 0xa801, 0x6001, 0x8000
    5518             : };
    5519             : static const SvxMSDffHandle mso_sptBalloonHandle[] =
    5520             : {
    5521             :     {
    5522             :         MSDFF_HANDLE_FLAGS_RANGE,
    5523             :         0x100, 1, 10800, 10800, 0, 8990, MIN_INT32, 0x7fffffff
    5524             :     }
    5525             : };
    5526             : static const SvxMSDffTextRectangles mso_sptBalloonTextRect[] =
    5527             : {
    5528             :     { { 800, 800 }, { 20800, 17250 } }
    5529             : };
    5530             : static const mso_CustomShape msoBalloon =
    5531             : {
    5532             :     (SvxMSDffVertPair*)mso_sptBalloonVert, SAL_N_ELEMENTS( mso_sptBalloonVert ),
    5533             :     (sal_uInt16*)mso_sptBalloonSegm, sizeof( mso_sptBalloonSegm ) >> 1,
    5534             :     (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
    5535             :     (sal_Int32*)mso_sptWedgeRectCalloutDefault,
    5536             :     (SvxMSDffTextRectangles*)mso_sptBalloonTextRect, SAL_N_ELEMENTS( mso_sptBalloonTextRect ),
    5537             :     21600, 21600,
    5538             :     MIN_INT32, MIN_INT32,
    5539             :     NULL, 0,
    5540             :     (SvxMSDffHandle*)mso_sptBalloonHandle, SAL_N_ELEMENTS( mso_sptBalloonHandle )        // handles
    5541             : };
    5542             : static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutVert[] =
    5543             : {
    5544             :     { 0, 0 }, { 21600, 21600 }, { 0x16 MSO_I, 0x17 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0xe MSO_I, 0xf MSO_I }
    5545             : };
    5546             : static const sal_uInt16 mso_sptWedgeEllipseCalloutSegm[] =
    5547             : {
    5548             :     0xa504, 0x0001, 0x6001, 0x8000
    5549             : };
    5550             : static const SvxMSDffCalculationData mso_sptWedgeEllipseCalloutCalc[] =
    5551             : {
    5552             :     { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },     // 00 rad x
    5553             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } },    // 01 rad y
    5554             :     { 0x6001, { 0x400, 0x400, 1 } },                    // 02 rad x^2
    5555             :     { 0x6001, { 0x401, 0x401, 1 } },                    // 03 rad y^2
    5556             :     { 0x6000, { 0x402, 0x403, 0 } },                    // 04
    5557             :     { 0x200d, { 0x404, 0, 0 } },                        // 05
    5558             :     { 0x2000, { 0x405, 0, 10800 } },                    // 06 > 0 ? spur needs to be drawn : 10800
    5559             :     { 0x6008, { 0x400, 0x401, 0 } },                    // 07 atan2 -> angle
    5560             :     { 0x2000, { 0x407, 0, 10 } },                       // 08
    5561             :     { 0x2000, { 0x407, 10, 0 } },                       // 09
    5562             :     { 0x400a, { 10800, 0x407, 0 } },                    // 0a
    5563             :     { 0x4009, { 10800, 0x407, 0 } },                    // 0b
    5564             :     { 0x2000, { 0x40a, 10800, 0 } },                    // 0c
    5565             :     { 0x2000, { 0x40b, 10800, 0 } },                    // 0d
    5566             :     { 0xe006, { 0x406, DFF_Prop_adjustValue, 0x40c } }, // 0e
    5567             :     { 0xe006, { 0x406, DFF_Prop_adjust2Value, 0x40d } },// 0f
    5568             :     { 0x400a, { 10800, 0x408, 0 } },                    // 10
    5569             :     { 0x4009, { 10800, 0x408, 0 } },                    // 11
    5570             :     { 0x2000, { 0x410, 10800, 0 } },                    // 12
    5571             :     { 0x2000, { 0x411, 10800, 0 } },                    // 13
    5572             :     { 0x400a, { 10800, 0x409, 0 } },                    // 14
    5573             :     { 0x4009, { 10800, 0x409, 0 } },                    // 15
    5574             :     { 0x2000, { 0x414, 10800, 0 } },                    // 16
    5575             :     { 0x2000, { 0x415, 10800, 0 } }                     // 17
    5576             : };
    5577             : static const sal_Int32 mso_sptWedgeEllipseCalloutDefault[] =
    5578             : {
    5579             :     2, 1350, 25920
    5580             : };
    5581             : static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutGluePoints[] =
    5582             : {
    5583             :     { 10800, 0 }, { 3160, 3160 }, { 0, 10800 }, { 3160, 18440 }, { 10800, 21600 }, { 18440, 18440 }, { 21600, 10800 }, { 18440, 3160 }, { 0xe MSO_I, 0xf MSO_I }
    5584             : };
    5585             : static const SvxMSDffTextRectangles mso_sptWedgeEllipseCalloutTextRect[] =
    5586             : {
    5587             :     { { 3200, 3200 }, { 18400, 18400 } }
    5588             : };
    5589             : static const mso_CustomShape msoWedgeEllipseCallout =
    5590             : {
    5591             :     (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutVert ),
    5592             :     (sal_uInt16*)mso_sptWedgeEllipseCalloutSegm, sizeof( mso_sptWedgeEllipseCalloutSegm ) >> 1,
    5593             :     (SvxMSDffCalculationData*)mso_sptWedgeEllipseCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutCalc ),
    5594             :     (sal_Int32*)mso_sptWedgeEllipseCalloutDefault,
    5595             :     (SvxMSDffTextRectangles*)mso_sptWedgeEllipseCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutTextRect ),
    5596             :     21600, 21600,
    5597             :     MIN_INT32, MIN_INT32,
    5598             :     (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutGluePoints, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutGluePoints ),
    5599             :     (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle )        // handles
    5600             : };
    5601             : 
    5602             : static const SvxMSDffVertPair mso_sptCloudCalloutVert[] =
    5603             : {
    5604             :     { 1930,7160 },                                      // p
    5605             :     { 1530,4490 }, { 3400,1970 }, { 5270,1970 },        // ccp
    5606             :     { 5860,1950 }, { 6470,2210 }, { 6970,2600 },        // ccp
    5607             :     { 7450,1390 }, { 8340,650 }, { 9340,650 },          // ccp
    5608             :     { 10004,690 }, { 10710,1050 }, { 11210,1700 },      // ccp
    5609             :     { 11570,630 }, { 12330,0 }, { 13150,0 },            // ccp
    5610             :     { 13840,0 }, { 14470,460 }, { 14870,1160 },         // ccp
    5611             :     { 15330,440 }, { 16020,0 }, { 16740,0 },            // ccp
    5612             :     { 17910,0 }, { 18900,1130 }, { 19110,2710 },        // ccp
    5613             :     { 20240,3150 }, { 21060,4580 }, { 21060,6220 },     // ccp
    5614             :     { 21060,6720 }, { 21000,7200 }, { 20830,7660 },     // ccp
    5615             :     { 21310,8460 }, { 21600,9450 }, { 21600,10460 },    // ccp
    5616             :     { 21600,12750 }, { 20310,14680 }, { 18650,15010 },  // ccp
    5617             :     { 18650,17200 }, { 17370,18920 }, { 15770,18920 },  // ccp
    5618             :     { 15220,18920 }, { 14700,18710 }, { 14240,18310 },  // ccp
    5619             :     { 13820,20240 }, { 12490,21600 }, { 11000,21600 },  // ccp
    5620             :     { 9890,21600 }, { 8840,20790 }, { 8210,19510 },     // ccp
    5621             :     { 7620,20000 }, { 7930,20290 }, { 6240,20290 },     // ccp
    5622             :     { 4850,20290 }, { 3570,19280 }, { 2900,17640 },     // ccp
    5623             :     { 1300,17600 }, { 480,16300 }, { 480,14660 },       // ccp
    5624             :     { 480,13900 }, { 690,13210 }, { 1070,12640 },       // ccp
    5625             :     { 380,12160 }, { 0,11210 }, { 0,10120 },            // ccp
    5626             :     { 0,8590 }, { 840,7330 }, { 1930,7160 },            // ccp
    5627             : 
    5628             :     { 1930, 7160 }, { 1950, 7410 }, { 2040, 7690 }, { 2090, 7920 },         // pccp
    5629             :     { 6970, 2600 }, { 7200, 2790 }, { 7480, 3050 }, { 7670, 3310 },         // pccp
    5630             :     { 11210, 1700 }, { 11130, 1910 }, { 11080, 2160 }, { 11030, 2400 },     // pccp
    5631             :     { 14870, 1160 }, { 14720, 1400 }, { 14640, 1720 }, { 14540, 2010 },     // pccp
    5632             :     { 19110, 2710 }, { 19130, 2890 }, { 19230, 3290 }, { 19190, 3380 },     // pccp
    5633             :     { 20830, 7660 }, { 20660, 8170 }, { 20430, 8620 }, { 20110, 8990 },     // pccp
    5634             :     { 18660, 15010 }, { 18740, 14200 }, { 18280, 12200 }, { 17000, 11450 }, // pccp
    5635             :     { 14240, 18310 }, { 14320, 17980 }, { 14350, 17680 }, { 14370, 17360 }, // pccp
    5636             :     { 8220, 19510 }, { 8060, 19250 }, { 7960, 18950 }, { 7860, 18640 },     // pccp
    5637             :     { 2900, 17640 }, { 3090, 17600 }, { 3280, 17540 }, { 3460, 17450 },     // pccp
    5638             :     { 1070, 12640 }, { 1400, 12900 }, { 1780, 13130 }, { 2330, 13040 },     // pccp
    5639             : 
    5640             :     { 0x11 MSO_I, 0x12 MSO_I }, { 1800, 1800 }, { 0, 360 },                 // circ1
    5641             :     { 0x13 MSO_I, 0x14 MSO_I }, { 1200, 1200 }, { 0, 360 },                 // circ2
    5642             :     { 0xd MSO_I, 0xe MSO_I }, { 700, 700 }, { 0, 360 }                      // circ3
    5643             : };
    5644             : static const sal_uInt16 mso_sptCloudCalloutSegm[] =
    5645             : {
    5646             :     0x4000, 0x2016, 0x6001, 0x8000,
    5647             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5648             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5649             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5650             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5651             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5652             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5653             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5654             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5655             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5656             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5657             :     0x4000, 0x2001, 0xaa00, 0x8000,
    5658             :     0xa203, 0x6001, 0x8000,
    5659             :     0xa203, 0x6001, 0x8000,
    5660             :     0xa203, 0x6001, 0x8000
    5661             : };
    5662             : static const SvxMSDffCalculationData mso_sptCloudCalloutCalc[] =
    5663             : {
    5664             :     { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
    5665             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } },
    5666             :     { 0x6008, { 0x400, 0x401, 0 } },
    5667             :     { 0x400a, { 10800, 0x402, 0 } },                    // 3
    5668             :     { 0x4009, { 10800, 0x402, 0 } },                    // 4
    5669             :     { 0x2000, { 0x403, 10800, 0 } },                    // 5
    5670             :     { 0x2000, { 0x404, 10800, 0 } },                    // 6
    5671             :     { 0xa000, { DFF_Prop_adjustValue, 0, 0x405 } },     // 7
    5672             :     { 0xa000, { DFF_Prop_adjust2Value,0, 0x406 } },     // 8
    5673             :     { 0x2001, { 0x407, 1, 3 } },                        // 9
    5674             :     { 0x2001, { 0x408, 1, 3 } },                        // 0xa
    5675             :     { 0x2001, { 0x407, 2, 3 } },                        // 0xb
    5676             :     { 0x2001, { 0x408, 2, 3 } },                        // 0xc
    5677             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },         // 0xd
    5678             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },        // 0xe
    5679             :     { 0x2001, { 0x403, 1, 10800 / 900 } },              // 0xf  taking half x distance of the radius from the first bobble
    5680             :     { 0x2001, { 0x404, 1, 10800 / 900 } },              // 0x10
    5681             :     { 0xe000, { 0x409, 0x405, 0x40f } },                // 0x11
    5682             :     { 0xe000, { 0x40a, 0x406, 0x410 } },                // 0x12
    5683             :     { 0x6000, { 0x40b, 0x405, 0 } },                    // 0x13
    5684             :     { 0x6000, { 0x40c, 0x406, 0 } }                     // 0x14
    5685             : };
    5686             : static const sal_Int32 mso_sptCloudCalloutDefault[] =
    5687             : {
    5688             :     2, 1350, 25920
    5689             : };
    5690             : static const SvxMSDffTextRectangles mso_sptCloudCalloutTextRect[] =
    5691             : {
    5692             :     { { 3000, 3320 }, { 17110, 17330 } }
    5693             : };
    5694             : static const mso_CustomShape msoCloudCallout =
    5695             : {
    5696             :     (SvxMSDffVertPair*)mso_sptCloudCalloutVert, SAL_N_ELEMENTS( mso_sptCloudCalloutVert ),
    5697             :     (sal_uInt16*)mso_sptCloudCalloutSegm, sizeof( mso_sptCloudCalloutSegm ) >> 1,
    5698             :     (SvxMSDffCalculationData*)mso_sptCloudCalloutCalc, SAL_N_ELEMENTS( mso_sptCloudCalloutCalc ),
    5699             :     (sal_Int32*)mso_sptCloudCalloutDefault,
    5700             :     (SvxMSDffTextRectangles*)mso_sptCloudCalloutTextRect, SAL_N_ELEMENTS( mso_sptCloudCalloutTextRect ),
    5701             :     21600, 21600,
    5702             :     MIN_INT32, MIN_INT32,
    5703             :     NULL, 0,
    5704             :     (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle )        // handles
    5705             : };
    5706             : 
    5707             : static const SvxMSDffVertPair mso_sptWaveVert[] =   // adjustment1 : 0 - 4460
    5708             : {                                                   // adjustment2 : 8640 - 12960
    5709             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
    5710             :     { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
    5711             : };
    5712             : static const SvxMSDffCalculationData mso_sptWaveCalc[] =
    5713             : {
    5714             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
    5715             :     { 0x8000, { 21600, 0, 0x400 } },            //401
    5716             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
    5717             :     { 0x2000, { 0x402, 0, 10800 } },            //403 -2160 -> 2160 (horz.adj)
    5718             :     { 0x2001, { 0x403, 2, 1 } },                //404 -4320 -> 4320 (horz.adj)
    5719             :     { 0x2003, { 0x404, 0, 0 } },                //405 abs( 0x404 )  (horz.adj)
    5720             :     { 0x8000, { 4320, 0, 0x405 } },             //406
    5721             :     { 0xa006, { 0x403, 0, 0x405 } },            //407
    5722             :     { 0x4001, { 15800, 0x400, 4460 } },         //408 0 -> 15800    (vert.adj)
    5723             :     { 0xa000, { 0x400, 0, 0x408 } },            //409
    5724             :     { 0x6000, { 0x400, 0x408, 0 } },            //40a
    5725             :     { 0x8000, { 21600, 0, 0x404 } },            //40b
    5726             :     { 0x6006, { 0x403, 0x40b, 21600 } },        //40c
    5727             :     { 0xa000, { 0x40c, 0, 0x407 } },            //40d width between p0 and p1
    5728             :     { 0x2001, { 0x405, 1, 2 } },                //40e
    5729             :     { 0xa000, { 0x407, 7200, 0x40e } },         //40f
    5730             :     { 0x6000, { 0x40c, 0x40e, 7200 } },         //410
    5731             :     { 0x2001, { 0x40d, 1, 2 } },                //411 1/2 width
    5732             :     { 0x6000, { 0x407, 0x411, 0 } },            //412 top center glue xpos
    5733             :     { 0x8000, { 21600, 0, 0x412 } },            //413 bottom center glue xpos
    5734             :     { 0x2001, { 0x405, 1, 2 } },                //414 left glue x pos
    5735             :     { 0x8000, { 21600, 0, 0x414 } },            //415 right glue x pos
    5736             :     { 0x2001, { 0x400, 2, 1 } },                //416 y1 (textbox)
    5737             :     { 0x8000, { 21600, 0, 0x416 } },            //417 y2 (textbox)
    5738             : 
    5739             :     { 0x8000, { 21600, 0, 0x407 } },            //418 p2
    5740             : 
    5741             :     { 0x8000, { 21600, 0, 0x40f } },            //419 c
    5742             :     { 0x6000, { 0x401, 0x408, 0 } },            //41a
    5743             : 
    5744             :     { 0x8000, { 21600, 0, 0x410 } },            //41b c
    5745             :     { 0xa000, { 0x401, 0, 0x408 } },            //41c
    5746             : 
    5747             :     { 0x8000, { 21600, 0, 0x40c } }             //41d p3
    5748             : };
    5749             : static const SvxMSDffVertPair mso_sptWaveGluePoints[] =
    5750             : {
    5751             :     { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
    5752             : };
    5753             : static const sal_uInt16 mso_sptWaveSegm[] =
    5754             : {
    5755             :     0x4000, 0x2001, 0x0001, 0x2001, 0x6000, 0x8000
    5756             : };
    5757             : static const SvxMSDffHandle mso_sptWaveHandle[] =
    5758             : {
    5759             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    5760             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 4460 },
    5761             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    5762             :         0x101, 21600, 10800, 10800, 8640, 12960, MIN_INT32, 0x7fffffff }
    5763             : };
    5764             : static const sal_Int32 mso_sptWaveDefault[] =
    5765             : {
    5766             :     2, 1400, 10800
    5767             : };
    5768             : static const SvxMSDffTextRectangles mso_sptWaveTextRect[] =
    5769             : {
    5770             :     { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
    5771             : };
    5772             : static const mso_CustomShape msoWave =
    5773             : {
    5774             :     (SvxMSDffVertPair*)mso_sptWaveVert, SAL_N_ELEMENTS( mso_sptWaveVert ),
    5775             :     (sal_uInt16*)mso_sptWaveSegm, sizeof( mso_sptWaveSegm ) >> 1,
    5776             :     (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
    5777             :     (sal_Int32*)mso_sptWaveDefault,
    5778             :     (SvxMSDffTextRectangles*)mso_sptWaveTextRect, SAL_N_ELEMENTS( mso_sptWaveTextRect ),
    5779             :     21600, 21600,
    5780             :     MIN_INT32, MIN_INT32,
    5781             :     (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
    5782             :     (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
    5783             : };
    5784             : 
    5785             : static const SvxMSDffVertPair mso_sptDoubleWaveVert[] = // adjustment1 : 0 - 2230
    5786             : {                                                       // adjustment2 : 8640 - 12960
    5787             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
    5788             :     { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
    5789             : };
    5790             : static const SvxMSDffCalculationData mso_sptDoubleWaveCalc[] =
    5791             : {
    5792             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
    5793             :     { 0x8000, { 21600, 0, 0x400 } },            //401
    5794             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
    5795             :     { 0x2000, { 0x402, 0, 10800 } },            //403 -2160 -> 2160 (horz.adj)
    5796             :     { 0x2001, { 0x403, 2, 1 } },                //404 -4320 -> 4320 (horz.adj)
    5797             :     { 0x2003, { 0x404, 0, 0 } },                //405 abs( 0x404 )  (horz.adj)
    5798             :     { 0x8000, { 4320, 0, 0x405 } },             //406 -> not used
    5799             :     { 0xa006, { 0x403, 0, 0x405 } },            //407
    5800             :     { 0x4001, { 7900, 0x400, 2230 } },          //408 0 -> 7900 (vert.adj)
    5801             :     { 0xa000, { 0x400, 0, 0x408 } },            //409
    5802             :     { 0x6000, { 0x400, 0x408, 0 } },            //40a
    5803             :     { 0x8000, { 21600, 0, 0x404 } },            //40b
    5804             :     { 0x6006, { 0x403, 0x40b, 21600 } },        //40c
    5805             :     { 0xa000, { 0x40c, 0, 0x407 } },            //40d width between p0 and p1
    5806             :     { 0x2001, { 0x405, 1, 2 } },                //40e
    5807             :     { 0xa000, { 0x407, 3600, 0x40e } },         //40f
    5808             :     { 0x6000, { 0x40c, 0x40e, 3600 } },         //410
    5809             :     { 0x2001, { 0x40d, 1, 2 } },                //411 1/2 width
    5810             :     { 0x6000, { 0x407, 0x411, 0 } },            //412 top center glue xpos
    5811             :     { 0x8000, { 21600, 0, 0x412 } },            //413 bottom center glue xpos
    5812             :     { 0x2001, { 0x405, 1, 2 } },                //414 left glue x pos
    5813             :     { 0x8000, { 21600, 0, 0x414 } },            //415 right glue x pos
    5814             :     { 0x2001, { 0x400, 2, 1 } },                //416 y1 (textbox)
    5815             :     { 0x8000, { 21600, 0, 0x416 } },            //417 y2 (textbox)
    5816             : 
    5817             :     { 0x8000, { 21600, 0, 0x407 } },            //418 p2
    5818             : 
    5819             :     { 0x8000, { 21600, 0, 0x40f } },            //419 c
    5820             :     { 0x6000, { 0x401, 0x408, 0 } },            //41a
    5821             : 
    5822             :     { 0x8000, { 21600, 0, 0x410 } },            //41b c
    5823             :     { 0xa000, { 0x401, 0, 0x408 } },            //41c
    5824             : 
    5825             :     { 0x8000, { 21600, 0, 0x40c } },            //41d p3
    5826             :     { 0xa000, { 0x412, 0, 0x40e } },            //41e
    5827             :     { 0x6000, { 0x412, 0x40e, 0 } },            //41f
    5828             :     { 0xa000, { 0x413, 0, 0x40e } },            //420
    5829             :     { 0x6000, { 0x413, 0x40e, 0 } }             //421
    5830             : };
    5831             : static const SvxMSDffVertPair mso_sptDoubleWaveGluePoints[] =
    5832             : {
    5833             :     { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
    5834             : };
    5835             : static const sal_uInt16 mso_sptDoubleWaveSegm[] =
    5836             : {
    5837             :     0x4000, 0x2002, 0x0001, 0x2002, 0x6000, 0x8000
    5838             : };
    5839             : static const SvxMSDffHandle mso_sptDoubleWaveHandle[] =
    5840             : {
    5841             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    5842             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 2230 },
    5843             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    5844             :         0x101, 21600, 10800, 10800, 8640, 12960, MIN_INT32, 0x7fffffff }
    5845             : };
    5846             : static const sal_Int32 mso_sptDoubleWaveDefault[] =
    5847             : {
    5848             :     2, 1400, 10800
    5849             : };
    5850             : static const SvxMSDffTextRectangles mso_sptDoubleWaveTextRect[] =
    5851             : {
    5852             :     { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
    5853             : };
    5854             : static const mso_CustomShape msoDoubleWave =
    5855             : {
    5856             :     (SvxMSDffVertPair*)mso_sptDoubleWaveVert, SAL_N_ELEMENTS( mso_sptDoubleWaveVert ),
    5857             :     (sal_uInt16*)mso_sptDoubleWaveSegm, sizeof( mso_sptDoubleWaveSegm ) >> 1,
    5858             :     (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
    5859             :     (sal_Int32*)mso_sptDoubleWaveDefault,
    5860             :     (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
    5861             :     21600, 21600,
    5862             :     MIN_INT32, MIN_INT32,
    5863             :     (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
    5864             :     (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
    5865             : };
    5866             : 
    5867             : // for each shapetype a bit of 1 is indicating that the shape is NOT filled by default
    5868             : static const sal_uInt16 mso_DefaultFillingTable[] =
    5869             : {
    5870             :     0x0000, 0x0018, 0x01ff, 0x0000, 0x0c00, 0x01e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000
    5871             : };
    5872        1733 : sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType )
    5873             : {
    5874        1733 :     sal_Bool bIsFilledByDefault = sal_True;
    5875        1733 :     sal_uInt32 i = (sal_uInt32)eSpType;
    5876        1733 :     if ( i < 0x100 )
    5877        1621 :         bIsFilledByDefault = ( mso_DefaultFillingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
    5878        1733 :     return bIsFilledByDefault;
    5879             : }
    5880           4 : sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType )
    5881             : {
    5882           4 :     sal_Int16 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS;
    5883           4 :     const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType );
    5884           4 :     if ( pDefCustomShape && pDefCustomShape->nGluePoints )
    5885           4 :         nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::CUSTOM;
    5886             :     else
    5887             :     {
    5888           0 :         switch( eSpType )
    5889             :         {
    5890             :             case mso_sptRectangle :
    5891             :             case mso_sptRoundRectangle :
    5892             :             case mso_sptPictureFrame :
    5893             :             case mso_sptFlowChartProcess :
    5894             :             case mso_sptFlowChartPredefinedProcess :
    5895             :             case mso_sptFlowChartInternalStorage :
    5896             :             case mso_sptTextPlainText :
    5897             :             case mso_sptTextBox :
    5898             :             case mso_sptVerticalScroll :
    5899             :             case mso_sptHorizontalScroll :
    5900           0 :                 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::RECT;
    5901           0 :             default: break;
    5902             :         }
    5903             :     }
    5904           4 :     return nGluePointType;
    5905             : }
    5906             : 
    5907             : // for each shapetype a bit of 1 is indicating that the shape is NOT stroked by default
    5908             : // #i28269#
    5909             : static const sal_uInt16 mso_DefaultStrokingTable[] =
    5910             : {
    5911             :     0x0000, 0x0000, 0x0000, 0x0000,
    5912             :     0x0800, 0x0000, 0x0000, 0x0000, // #i28269# Added shape 75 (mso_sptPictureFrame)
    5913             :     0x0000, 0x0000, 0x0000, 0x0000,
    5914             :     0x0000, 0x0000, 0x0000, 0x0000
    5915             : };
    5916             : // #i28269#
    5917        1733 : sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType )
    5918             : {
    5919        1733 :     sal_Bool bIsStrokedByDefault = sal_True;
    5920        1733 :     sal_uInt32 i = (sal_uInt32)eSpType;
    5921        1733 :     if ( i < 0x100 )
    5922        1621 :         bIsStrokedByDefault = ( mso_DefaultStrokingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
    5923        1733 :     return bIsStrokedByDefault;
    5924             : }
    5925             : 
    5926             : static const sal_uInt16 msoSortFilledObjectsToBackTable[] =
    5927             : {
    5928             :     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
    5929             : };
    5930           0 : sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType )
    5931             : {
    5932           0 :     sal_Bool bSortFilledObjectsToBackByDefault = sal_True;
    5933           0 :     sal_uInt32 i = (sal_uInt32)eSpType;
    5934           0 :     if ( i < 0x100 )
    5935           0 :         bSortFilledObjectsToBackByDefault = ( msoSortFilledObjectsToBackTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) != 0;
    5936           0 :     return bSortFilledObjectsToBackByDefault;
    5937             : }
    5938             : 
    5939             : static const SvxMSDffVertPair mso_sptFontWorkVert[] =
    5940             : {
    5941             :     { 0, 0 }, { 21600, 0 }, { 0, 21600 }, { 21600, 21600 }
    5942             : };
    5943             : static const sal_uInt16 mso_sptFontWorkSegm[] =
    5944             : {
    5945             :     0x4000, 0x0001, 0x8000,
    5946             :     0x4000, 0x0001, 0x8000
    5947             : };
    5948             : static const SvxMSDffTextRectangles mso_sptFontWorkTextRect[] =
    5949             : {
    5950             :     { { 0, 0 }, { 21600, 21600 } }
    5951             : };
    5952             : static const mso_CustomShape msoFontWork =
    5953             : {
    5954             :     (SvxMSDffVertPair*)mso_sptFontWorkVert, SAL_N_ELEMENTS( mso_sptFontWorkVert ),
    5955             :     (sal_uInt16*)mso_sptFontWorkSegm, sizeof( mso_sptFontWorkSegm ) >> 1,
    5956             :     NULL, 0,
    5957             :     NULL,
    5958             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    5959             :     21600, 21600,
    5960             :     MIN_INT32, MIN_INT32,
    5961             :     NULL, 0,
    5962             :     NULL, 0 // Handles
    5963             : };
    5964             : 
    5965             : static const SvxMSDffVertPair mso_sptTextPlainTextVert[] =
    5966             : {
    5967             :     { 3 MSO_I, 0 }, { 5 MSO_I, 0 }, { 6 MSO_I, 21600 }, { 7 MSO_I, 21600 }
    5968             : };
    5969             : static const SvxMSDffCalculationData mso_sptTextPlainTextCalc[] =   // adjustment1 : 6629 - 14971
    5970             : {
    5971             :     { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
    5972             :     { 0x2001, { 0x400, 2, 1 } },
    5973             :     { 0x2003, { 0x401, 0, 0 } },
    5974             :     { 0xa006, { 0x401, 0, 0x402 } },        // x1(3)
    5975             :     { 0x8000, { 21600, 0, 0x402 } },
    5976             :     { 0x6006, { 0x401, 0x404, 21600 } },    // x2(5)
    5977             :     { 0x6006, { 0x401, 0x402, 0 } },        // x2
    5978             :     { 0xa006, { 0x401, 21600, 0x404 } }     // x3(7)
    5979             : };
    5980             : static const sal_uInt16 mso_sptTextPlainTextSegm[] =
    5981             : {
    5982             :     0x4000, 0x0001, 0x8000,
    5983             :     0x4000, 0x0001, 0x8000
    5984             : };
    5985             : static const SvxMSDffHandle mso_sptTextPlainTextHandle[] =
    5986             : {
    5987             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    5988             :         0x100, 21600, 10800, 10800, 6629, 14971, MIN_INT32, 0x7fffffff }
    5989             : };
    5990             : static const mso_CustomShape msoTextPlainText =
    5991             : {
    5992             :     (SvxMSDffVertPair*)mso_sptTextPlainTextVert, SAL_N_ELEMENTS( mso_sptTextPlainTextVert ),
    5993             :     (sal_uInt16*)mso_sptTextPlainTextSegm, sizeof( mso_sptTextPlainTextSegm ) >> 1,
    5994             :     (SvxMSDffCalculationData*)mso_sptTextPlainTextCalc, SAL_N_ELEMENTS( mso_sptTextPlainTextCalc ),
    5995             :     (sal_Int32*)mso_sptDefault10800,
    5996             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    5997             :     21600, 21600,
    5998             :     MIN_INT32, MIN_INT32,
    5999             :     NULL, 0,
    6000             :     (SvxMSDffHandle*)mso_sptTextPlainTextHandle, SAL_N_ELEMENTS( mso_sptTextPlainTextHandle )
    6001             : };
    6002             : 
    6003             : static const SvxMSDffVertPair mso_sptTextStopVert[] =
    6004             : {
    6005             :     { 0, 0 MSO_I }, { 7200, 0 }, { 14400, 0 }, { 21600, 0 MSO_I },
    6006             :     { 0, 1 MSO_I }, { 7200, 21600 }, { 14400, 21600 }, { 21600, 1 MSO_I }
    6007             : };
    6008             : static const SvxMSDffCalculationData mso_sptTextStopCalc[] =    // adjustment1 : 3080 - 10800
    6009             : {
    6010             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    6011             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
    6012             : };
    6013             : static const sal_uInt16 mso_sptTextStopSegm[] =
    6014             : {
    6015             :     0x4000, 0x0003, 0x8000,
    6016             :     0x4000, 0x0003, 0x8000
    6017             : };
    6018             : static const sal_Int32 mso_sptTextStopDefault[] =
    6019             : {
    6020             :     1, 2700
    6021             : };
    6022             : static const SvxMSDffHandle mso_sptTextStopHandle[] =
    6023             : {
    6024             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6025             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 3080, 10800 }
    6026             : };
    6027             : static const mso_CustomShape msoTextStop =
    6028             : {
    6029             :     (SvxMSDffVertPair*)mso_sptTextStopVert, SAL_N_ELEMENTS( mso_sptTextStopVert ),
    6030             :     (sal_uInt16*)mso_sptTextStopSegm, sizeof( mso_sptTextStopSegm ) >> 1,
    6031             :     (SvxMSDffCalculationData*)mso_sptTextStopCalc, SAL_N_ELEMENTS( mso_sptTextStopCalc ),
    6032             :     (sal_Int32*)mso_sptTextStopDefault,
    6033             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6034             :     21600, 21600,
    6035             :     MIN_INT32, MIN_INT32,
    6036             :     NULL, 0,
    6037             :     (SvxMSDffHandle*)mso_sptTextStopHandle, SAL_N_ELEMENTS( mso_sptTextStopHandle )
    6038             : };
    6039             : 
    6040             : static const SvxMSDffVertPair mso_sptTextTriangleVert[] =
    6041             : {
    6042             :     { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 21600 }
    6043             : };
    6044             : static const SvxMSDffCalculationData mso_sptTextTriangleCalc[] =    // adjustment1 : 6629 - 14971
    6045             : {
    6046             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
    6047             : };
    6048             : static const sal_uInt16 mso_sptTextTriangleSegm[] =
    6049             : {
    6050             :     0x4000, 0x0002, 0x8000,
    6051             :     0x4000, 0x0001, 0x8000
    6052             : };
    6053             : static const SvxMSDffHandle mso_sptTextTriangleHandle[] =
    6054             : {
    6055             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6056             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
    6057             : };
    6058             : static const mso_CustomShape msoTextTriangle =
    6059             : {
    6060             :     (SvxMSDffVertPair*)mso_sptTextTriangleVert, SAL_N_ELEMENTS( mso_sptTextTriangleVert ),
    6061             :     (sal_uInt16*)mso_sptTextTriangleSegm, sizeof( mso_sptTextTriangleSegm ) >> 1,
    6062             :     (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, SAL_N_ELEMENTS( mso_sptTextTriangleCalc ),
    6063             :     (sal_Int32*)mso_sptDefault10800,
    6064             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6065             :     21600, 21600,
    6066             :     MIN_INT32, MIN_INT32,
    6067             :     NULL, 0,
    6068             :     (SvxMSDffHandle*)mso_sptTextTriangleHandle, SAL_N_ELEMENTS( mso_sptTextTriangleHandle )
    6069             : };
    6070             : static const SvxMSDffVertPair mso_sptTextTriangleInvertedVert[] =
    6071             : {
    6072             :     { 0, 0 }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
    6073             : };
    6074             : static const sal_uInt16 mso_sptTextTriangleInvertedSegm[] =
    6075             : {
    6076             :     0x4000, 0x0001, 0x8000,
    6077             :     0x4000, 0x0002, 0x8000
    6078             : };
    6079             : static const mso_CustomShape msoTextTriangleInverted =
    6080             : {
    6081             :     (SvxMSDffVertPair*)mso_sptTextTriangleInvertedVert, SAL_N_ELEMENTS( mso_sptTextTriangleInvertedVert ),
    6082             :     (sal_uInt16*)mso_sptTextTriangleInvertedSegm, sizeof( mso_sptTextTriangleInvertedSegm ) >> 1,
    6083             :     (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, SAL_N_ELEMENTS( mso_sptTextTriangleCalc ),
    6084             :     (sal_Int32*)mso_sptDefault10800,
    6085             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6086             :     21600, 21600,
    6087             :     MIN_INT32, MIN_INT32,
    6088             :     NULL, 0,
    6089             :     (SvxMSDffHandle*)mso_sptTextTriangleHandle, SAL_N_ELEMENTS( mso_sptTextTriangleHandle )
    6090             : };
    6091             : 
    6092             : static const SvxMSDffVertPair mso_sptTextChevronVert[] =
    6093             : {
    6094             :     { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 10800, 1 MSO_I }, { 21600, 21600 }
    6095             : };
    6096             : static const SvxMSDffCalculationData mso_sptTextChevronCalc[] = // adjustment1 : 6629 - 14971
    6097             : {
    6098             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    6099             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
    6100             : };
    6101             : static const sal_uInt16 mso_sptTextChevronSegm[] =
    6102             : {
    6103             :     0x4000, 0x0002, 0x8000,
    6104             :     0x4000, 0x0002, 0x8000
    6105             : };
    6106             : static const SvxMSDffHandle mso_sptTextChevronHandle[] =
    6107             : {
    6108             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6109             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
    6110             : };
    6111             : static const mso_CustomShape msoTextChevron =
    6112             : {
    6113             :     (SvxMSDffVertPair*)mso_sptTextChevronVert, SAL_N_ELEMENTS( mso_sptTextChevronVert ),
    6114             :     (sal_uInt16*)mso_sptTextChevronSegm, sizeof( mso_sptTextChevronSegm ) >> 1,
    6115             :     (SvxMSDffCalculationData*)mso_sptTextChevronCalc, SAL_N_ELEMENTS( mso_sptTextChevronCalc ),
    6116             :     (sal_Int32*)mso_sptDefault5400,
    6117             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6118             :     21600, 21600,
    6119             :     MIN_INT32, MIN_INT32,
    6120             :     NULL, 0,
    6121             :     (SvxMSDffHandle*)mso_sptTextChevronHandle, SAL_N_ELEMENTS( mso_sptTextChevronHandle )
    6122             : };
    6123             : 
    6124             : static const SvxMSDffVertPair mso_sptTextChevronInvertedVert[] =
    6125             : {
    6126             :     { 0, 0 }, { 10800, 1 MSO_I }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
    6127             : };
    6128             : static const SvxMSDffCalculationData mso_sptTextChevronInvertedCalc[] = // adjustment1 : 6629 - 14971
    6129             : {
    6130             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    6131             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
    6132             : };
    6133             : static const sal_uInt16 mso_sptTextChevronInvertedSegm[] =
    6134             : {
    6135             :     0x4000, 0x0002, 0x8000,
    6136             :     0x4000, 0x0002, 0x8000
    6137             : };
    6138             : static const SvxMSDffHandle mso_sptTextChevronInvertedHandle[] =
    6139             : {
    6140             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6141             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 10800, 21600 }
    6142             : };
    6143             : static const mso_CustomShape msoTextChevronInverted =
    6144             : {
    6145             :     (SvxMSDffVertPair*)mso_sptTextChevronInvertedVert, SAL_N_ELEMENTS( mso_sptTextChevronInvertedVert ),
    6146             :     (sal_uInt16*)mso_sptTextChevronInvertedSegm, sizeof( mso_sptTextChevronInvertedSegm ) >> 1,
    6147             :     (SvxMSDffCalculationData*)mso_sptTextChevronInvertedCalc, SAL_N_ELEMENTS( mso_sptTextChevronInvertedCalc ),
    6148             :     (sal_Int32*)mso_sptDefault16200,
    6149             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6150             :     21600, 21600,
    6151             :     MIN_INT32, MIN_INT32,
    6152             :     NULL, 0,
    6153             :     (SvxMSDffHandle*)mso_sptTextChevronInvertedHandle, SAL_N_ELEMENTS( mso_sptTextChevronInvertedHandle )
    6154             : };
    6155             : 
    6156             : static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] =
    6157             : {
    6158             :     { 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 },
    6159             :     { 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }
    6160             : };
    6161             : static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971
    6162             : {
    6163             :     { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
    6164             :     { 0x8000, { 21600, 0, 0x400 } }
    6165             : };
    6166             : static const sal_uInt16 mso_sptTextRingOutsideSegm[] =
    6167             : {
    6168             :     0xA203, 0x8000,
    6169             :     0xA203, 0x8000
    6170             : };
    6171             : static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] =
    6172             : {
    6173             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6174             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 10800, 21600 }
    6175             : };
    6176             : static const mso_CustomShape msoTextRingOutside =
    6177             : {
    6178             :     (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, SAL_N_ELEMENTS( mso_sptTextRingOutsideVert ),
    6179             :     (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1,
    6180             :     (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, SAL_N_ELEMENTS( mso_sptTextRingOutsideCalc ),
    6181             :     (sal_Int32*)mso_sptDefault16200,
    6182             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6183             :     21600, 21600,
    6184             :     MIN_INT32, MIN_INT32,
    6185             :     NULL, 0,
    6186             :     (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, SAL_N_ELEMENTS( mso_sptTextRingOutsideHandle )
    6187             : };
    6188             : 
    6189             : static const SvxMSDffVertPair mso_sptTextFadeRightVert[] =
    6190             : {
    6191             :     { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I }
    6192             : };
    6193             : static const SvxMSDffCalculationData mso_sptTextFadeCalc[] =
    6194             : {
    6195             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    6196             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
    6197             : };
    6198             : static const sal_uInt16 mso_sptTextFadeSegm[] =
    6199             : {
    6200             :     0x4000, 0x0001, 0x8000,
    6201             :     0x4000, 0x0001, 0x8000
    6202             : };
    6203             : static const SvxMSDffHandle mso_sptTextFadeRightHandle[] =
    6204             : {
    6205             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6206             :         21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
    6207             : };
    6208             : static const mso_CustomShape msoTextFadeRight =
    6209             : {
    6210             :     (SvxMSDffVertPair*)mso_sptTextFadeRightVert, SAL_N_ELEMENTS( mso_sptTextFadeRightVert ),
    6211             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6212             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6213             :     (sal_Int32*)mso_sptDefault7200,
    6214             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6215             :     21600, 21600,
    6216             :     MIN_INT32, MIN_INT32,
    6217             :     NULL, 0,
    6218             :     (SvxMSDffHandle*)mso_sptTextFadeRightHandle, SAL_N_ELEMENTS( mso_sptTextFadeRightHandle )
    6219             : };
    6220             : 
    6221             : static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] =
    6222             : {
    6223             :     { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 }
    6224             : };
    6225             : static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] =
    6226             : {
    6227             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6228             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
    6229             : };
    6230             : static const mso_CustomShape msoTextFadeLeft =
    6231             : {
    6232             :     (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, SAL_N_ELEMENTS( mso_sptTextFadeLeftVert ),
    6233             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6234             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6235             :     (sal_Int32*)mso_sptDefault7200,
    6236             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6237             :     21600, 21600,
    6238             :     MIN_INT32, MIN_INT32,
    6239             :     NULL, 0,
    6240             :     (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, SAL_N_ELEMENTS( mso_sptTextFadeLeftHandle )
    6241             : };
    6242             : 
    6243             : static const SvxMSDffVertPair mso_sptTextFadeUpVert[] =
    6244             : {
    6245             :     { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 }
    6246             : };
    6247             : static const SvxMSDffHandle mso_sptTextFadeUpHandle[] =
    6248             : {
    6249             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6250             :         0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6251             : };
    6252             : static const mso_CustomShape msoTextFadeUp =
    6253             : {
    6254             :     (SvxMSDffVertPair*)mso_sptTextFadeUpVert, SAL_N_ELEMENTS( mso_sptTextFadeUpVert ),
    6255             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6256             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6257             :     (sal_Int32*)mso_sptDefault7200,
    6258             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6259             :     21600, 21600,
    6260             :     MIN_INT32, MIN_INT32,
    6261             :     NULL, 0,
    6262             :     (SvxMSDffHandle*)mso_sptTextFadeUpHandle, SAL_N_ELEMENTS( mso_sptTextFadeUpHandle )
    6263             : };
    6264             : 
    6265             : static const SvxMSDffVertPair mso_sptTextFadeDownVert[] =
    6266             : {
    6267             :     { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
    6268             : };
    6269             : static const SvxMSDffHandle mso_sptTextFadeDownHandle[] =
    6270             : {
    6271             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6272             :         0x100, 21600, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6273             : };
    6274             : static const mso_CustomShape msoTextFadeDown =
    6275             : {
    6276             :     (SvxMSDffVertPair*)mso_sptTextFadeDownVert, SAL_N_ELEMENTS( mso_sptTextFadeDownVert ),
    6277             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6278             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6279             :     (sal_Int32*)mso_sptDefault7200,
    6280             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6281             :     21600, 21600,
    6282             :     MIN_INT32, MIN_INT32,
    6283             :     NULL, 0,
    6284             :     (SvxMSDffHandle*)mso_sptTextFadeDownHandle, SAL_N_ELEMENTS( mso_sptTextFadeDownHandle )
    6285             : };
    6286             : 
    6287             : static const SvxMSDffVertPair mso_sptTextSlantUpVert[] =
    6288             : {
    6289             :     { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I }
    6290             : };
    6291             : static const SvxMSDffHandle mso_sptTextSlantUpHandle[] =
    6292             : {
    6293             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6294             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 15400 }
    6295             : };
    6296             : static const mso_CustomShape msoTextSlantUp =
    6297             : {
    6298             :     (SvxMSDffVertPair*)mso_sptTextSlantUpVert, SAL_N_ELEMENTS( mso_sptTextSlantUpVert ),
    6299             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6300             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6301             :     (sal_Int32*)mso_sptDefault12000,
    6302             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6303             :     21600, 21600,
    6304             :     MIN_INT32, MIN_INT32,
    6305             :     NULL, 0,
    6306             :     (SvxMSDffHandle*)mso_sptTextSlantUpHandle, SAL_N_ELEMENTS( mso_sptTextSlantUpHandle )
    6307             : };
    6308             : 
    6309             : static const SvxMSDffVertPair mso_sptTextSlantDownVert[] =
    6310             : {
    6311             :     { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
    6312             : };
    6313             : static const SvxMSDffHandle mso_sptTextSlantDownHandle[] =
    6314             : {
    6315             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6316             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
    6317             : };
    6318             : static const mso_CustomShape msoTextSlantDown =
    6319             : {
    6320             :     (SvxMSDffVertPair*)mso_sptTextSlantDownVert, SAL_N_ELEMENTS( mso_sptTextSlantDownVert ),
    6321             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6322             :     (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
    6323             :     (sal_Int32*)mso_sptDefault12000,
    6324             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6325             :     21600, 21600,
    6326             :     MIN_INT32, MIN_INT32,
    6327             :     NULL, 0,
    6328             :     (SvxMSDffHandle*)mso_sptTextSlantDownHandle, SAL_N_ELEMENTS( mso_sptTextSlantDownHandle )
    6329             : };
    6330             : 
    6331             : static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] =
    6332             : {
    6333             :     { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I }
    6334             : };
    6335             : static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] =
    6336             : {
    6337             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    6338             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
    6339             :     { 0x2001, { 0x401, 1, 4 } }
    6340             : };
    6341             : static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] =
    6342             : {
    6343             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6344             :         21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
    6345             : };
    6346             : static const mso_CustomShape msoTextCascadeUp =
    6347             : {
    6348             :     (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, SAL_N_ELEMENTS( mso_sptTextCascadeUpVert ),
    6349             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6350             :     (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, SAL_N_ELEMENTS( mso_sptTextCascadeCalc ),
    6351             :     (sal_Int32*)mso_sptDefault9600,
    6352             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6353             :     21600, 21600,
    6354             :     MIN_INT32, MIN_INT32,
    6355             :     NULL, 0,
    6356             :     (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, SAL_N_ELEMENTS( mso_sptTextCascadeUpHandle )
    6357             : };
    6358             : 
    6359             : static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] =
    6360             : {
    6361             :     { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
    6362             : };
    6363             : static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] =
    6364             : {
    6365             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6366             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
    6367             : };
    6368             : static const mso_CustomShape msoTextCascadeDown =
    6369             : {
    6370             :     (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, SAL_N_ELEMENTS( mso_sptTextCascadeDownVert ),
    6371             :     (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
    6372             :     (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, SAL_N_ELEMENTS( mso_sptTextCascadeCalc ),
    6373             :     (sal_Int32*)mso_sptDefault9600,
    6374             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6375             :     21600, 21600,
    6376             :     MIN_INT32, MIN_INT32,
    6377             :     NULL, 0,
    6378             :     (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, SAL_N_ELEMENTS( mso_sptTextCascadeDownHandle )
    6379             : };
    6380             : 
    6381             : static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] =
    6382             : {
    6383             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
    6384             : };
    6385             : static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] =
    6386             : {
    6387             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    6388             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    6389             :     { 0x2000, { 0x400, 10800, 0 } },
    6390             :     { 0x2000, { 0x401, 10800, 0 } },
    6391             :     { 0x8000, { 21600, 0, 0x402 } }
    6392             : };
    6393             : static const sal_uInt16 mso_sptTextArchUpCurveSegm[] =
    6394             : {
    6395             :     0xA504, 0x8000      // clockwíse arc
    6396             : };
    6397             : static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] =
    6398             : {
    6399             :     {   MSDFF_HANDLE_FLAGS_POLAR,
    6400             :         10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6401             : };
    6402             : static const sal_Int32 mso_sptTextArchUpCurveDefault[] =
    6403             : {
    6404             :     1, 180
    6405             : };
    6406             : static const mso_CustomShape msoTextArchUpCurve =
    6407             : {
    6408             :     (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, SAL_N_ELEMENTS( mso_sptTextArchUpCurveVert ),
    6409             :     (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1,
    6410             :     (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, SAL_N_ELEMENTS( mso_sptTextArchCurveCalc ),
    6411             :     (sal_Int32*)mso_sptTextArchUpCurveDefault,
    6412             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6413             :     21600, 21600,
    6414             :     MIN_INT32, MIN_INT32,
    6415             :     NULL, 0,
    6416             :     (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, SAL_N_ELEMENTS( mso_sptTextArchUpCurveHandle )
    6417             : };
    6418             : 
    6419             : static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] =
    6420             : {
    6421             :     { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
    6422             : };
    6423             : static const sal_uInt16 mso_sptTextArchDownCurveSegm[] =
    6424             : {
    6425             :     0xA304, 0x8000      // counter clockwise arc to
    6426             : };
    6427             : static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] =
    6428             : {
    6429             :     {   MSDFF_HANDLE_FLAGS_POLAR,
    6430             :         10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6431             : };
    6432             : static const sal_Int32 mso_sptTextArchDownCurveDefault[] =
    6433             : {
    6434             :     1, 0
    6435             : };
    6436             : static const mso_CustomShape msoTextArchDownCurve =
    6437             : {
    6438             :     (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, SAL_N_ELEMENTS( mso_sptTextArchDownCurveVert ),
    6439             :     (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1,
    6440             :     (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, SAL_N_ELEMENTS( mso_sptTextArchCurveCalc ),
    6441             :     (sal_Int32*)mso_sptTextArchDownCurveDefault,
    6442             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6443             :     21600, 21600,
    6444             :     MIN_INT32, MIN_INT32,
    6445             :     NULL, 0,
    6446             :     (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, SAL_N_ELEMENTS( mso_sptTextArchDownCurveHandle )
    6447             : };
    6448             : 
    6449             : static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] =
    6450             : {
    6451             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }
    6452             : };
    6453             : static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] =
    6454             : {
    6455             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    6456             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    6457             :     { 0x2000, { 0x400, 10800, 0 } },
    6458             :     { 0x2000, { 0x401, 10800, 0 } },
    6459             :     { 0x8000, { 21600, 0, 0x403 } }
    6460             : };
    6461             : static const sal_uInt16 mso_sptTextCircleCurveSegm[] =
    6462             : {
    6463             :     0xA504, 0x8000      // clockwise arc to
    6464             : };
    6465             : static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] =
    6466             : {
    6467             :     {   MSDFF_HANDLE_FLAGS_POLAR,
    6468             :         10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6469             : };
    6470             : static const sal_Int32 mso_sptTextCircleCurveDefault[] =
    6471             : {
    6472             :     1, -179
    6473             : };
    6474             : static const mso_CustomShape msoTextCircleCurve =
    6475             : {
    6476             :     (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, SAL_N_ELEMENTS( mso_sptTextCircleCurveVert ),
    6477             :     (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1,
    6478             :     (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, SAL_N_ELEMENTS( mso_sptTextCircleCurveCalc ),
    6479             :     (sal_Int32*)mso_sptTextCircleCurveDefault,
    6480             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6481             :     21600, 21600,
    6482             :     MIN_INT32, MIN_INT32,
    6483             :     NULL, 0,
    6484             :     (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, SAL_N_ELEMENTS( mso_sptTextCircleCurveHandle )
    6485             : };
    6486             : 
    6487             : static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] =
    6488             : {
    6489             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
    6490             :     { 0, 10800 }, { 21600, 10800 },
    6491             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
    6492             : };
    6493             : static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] =
    6494             : {
    6495             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    6496             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    6497             :     { 0x2000, { 0x400, 10800, 0 } },
    6498             :     { 0x2000, { 0x401, 10800, 0 } },
    6499             :     { 0x8000, { 21600, 0, 0x402 } },
    6500             :     { 0x8000, { 21600, 0, 0x403 } }
    6501             : };
    6502             : static const sal_uInt16 mso_sptTextButtonCurveSegm[] =
    6503             : {
    6504             :     0xA504, 0x8000,     // clockwise arc
    6505             :     0x4000, 0x0001, 0x8000,
    6506             :     0xA304, 0x8000      // counter clockwise
    6507             : };
    6508             : static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] =
    6509             : {
    6510             :     {   MSDFF_HANDLE_FLAGS_POLAR,
    6511             :         10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6512             : };
    6513             : static const sal_Int32 mso_sptTextButtonCurveDefault[] =
    6514             : {
    6515             :     1, 180
    6516             : };
    6517             : static const mso_CustomShape msoTextButtonCurve =
    6518             : {
    6519             :     (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, SAL_N_ELEMENTS( mso_sptTextButtonCurveVert ),
    6520             :     (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1,
    6521             :     (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, SAL_N_ELEMENTS( mso_sptTextButtonCurveCalc ),
    6522             :     (sal_Int32*)mso_sptTextButtonCurveDefault,
    6523             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6524             :     21600, 21600,
    6525             :     MIN_INT32, MIN_INT32,
    6526             :     NULL, 0,
    6527             :     (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, SAL_N_ELEMENTS( mso_sptTextButtonCurveHandle )
    6528             : };
    6529             : 
    6530             : static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] =
    6531             : {
    6532             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
    6533             :     { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I }
    6534             : };
    6535             : static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] =
    6536             : {
    6537             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    6538             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    6539             :     { 0x2000, { 0x400, 10800, 0 } },
    6540             :     { 0x2000, { 0x401, 10800, 0 } },
    6541             :     { 0x8000, { 21600, 0, 0x402 } },
    6542             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
    6543             :     { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
    6544             :     { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
    6545             :     { 0x2000, { 0x406, 10800, 0 } },                // 8
    6546             :     { 0x2000, { 0x407, 10800, 0 } },
    6547             :     { 0x8000, { 21600, 0, 0x408 } },                // 10
    6548             :     { 0x8000, { 21600, 0, 0x405 } }
    6549             : };
    6550             : static const sal_uInt16 mso_sptTextArchUpPourSegm[] =
    6551             : {
    6552             :     0xA504, 0x8000, 0xA504, 0x8000
    6553             : };
    6554             : static const SvxMSDffHandle mso_sptTextArchPourHandle[] =
    6555             : {
    6556             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    6557             :         0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6558             : };
    6559             : static const sal_Int32 mso_sptTextArchUpPourDefault[] =
    6560             : {
    6561             :     2, 180, 5400
    6562             : };
    6563             : static const mso_CustomShape msoTextArchUpPour =
    6564             : {
    6565             :     (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, SAL_N_ELEMENTS( mso_sptTextArchUpPourVert ),
    6566             :     (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1,
    6567             :     (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, SAL_N_ELEMENTS( mso_sptTextArchPourCalc ),
    6568             :     (sal_Int32*)mso_sptTextArchUpPourDefault,
    6569             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6570             :     21600, 21600,
    6571             :     MIN_INT32, MIN_INT32,
    6572             :     NULL, 0,
    6573             :     (SvxMSDffHandle*)mso_sptTextArchPourHandle, SAL_N_ELEMENTS( mso_sptTextArchPourHandle )
    6574             : };
    6575             : 
    6576             : static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] =
    6577             : {
    6578             :     { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I },
    6579             :     { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
    6580             : };
    6581             : static const sal_uInt16 mso_sptTextArchDownPourSegm[] =
    6582             : {
    6583             :     0xA304, 0x8000, 0xA304, 0x8000
    6584             : };
    6585             : static const sal_Int32 mso_sptTextArchDownPourDefault[] =
    6586             : {
    6587             :     2, 0, 5400
    6588             : };
    6589             : static const mso_CustomShape msoTextArchDownPour =
    6590             : {
    6591             :     (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, SAL_N_ELEMENTS( mso_sptTextArchDownPourVert ),
    6592             :     (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1,
    6593             :     (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, SAL_N_ELEMENTS( mso_sptTextArchPourCalc ),
    6594             :     (sal_Int32*)mso_sptTextArchDownPourDefault,
    6595             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6596             :     21600, 21600,
    6597             :     MIN_INT32, MIN_INT32,
    6598             :     NULL, 0,
    6599             :     (SvxMSDffHandle*)mso_sptTextArchPourHandle, SAL_N_ELEMENTS( mso_sptTextArchPourHandle )
    6600             : };
    6601             : 
    6602             : static const SvxMSDffVertPair mso_sptTextCirclePourVert[] =
    6603             : {
    6604             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I },
    6605             :     { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I }
    6606             : };
    6607             : static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] =
    6608             : {
    6609             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
    6610             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
    6611             :     { 0x2000, { 0x400, 10800, 0 } },
    6612             :     { 0x2000, { 0x401, 10800, 0 } },
    6613             :     { 0x8000, { 21600, 0, 0x403 } },
    6614             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
    6615             :     { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
    6616             :     { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
    6617             :     { 0x2000, { 0x406, 10800, 0 } },                // 8
    6618             :     { 0x2000, { 0x407, 10800, 0 } },
    6619             :     { 0x8000, { 21600, 0, 0x409 } },                // 10
    6620             :     { 0x8000, { 21600, 0, 0x405 } },
    6621             :     { 0x000, { 21600, 0, 0 } }
    6622             : };
    6623             : static const sal_uInt16 mso_sptTextCirclePourSegm[] =
    6624             : {
    6625             :     0xA504, 0x8000, 0xA504, 0x8000
    6626             : };
    6627             : static const SvxMSDffHandle mso_sptTextCirclePourHandle[] =
    6628             : {
    6629             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    6630             :         0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
    6631             : };
    6632             : static const sal_Int32 mso_sptTextCirclePourDefault[] =
    6633             : {
    6634             :     2,  -179, 5400
    6635             : };
    6636             : static const mso_CustomShape msoTextCirclePour =
    6637             : {
    6638             :     (SvxMSDffVertPair*)mso_sptTextCirclePourVert, SAL_N_ELEMENTS( mso_sptTextCirclePourVert ),
    6639             :     (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1,
    6640             :     (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, SAL_N_ELEMENTS( mso_sptTextCirclePourCalc ),
    6641             :     (sal_Int32*)mso_sptTextCirclePourDefault,
    6642             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6643             :     21600, 21600,
    6644             :     MIN_INT32, MIN_INT32,
    6645             :     NULL, 0,
    6646             :     (SvxMSDffHandle*)mso_sptTextCirclePourHandle, SAL_N_ELEMENTS( mso_sptTextCirclePourHandle )
    6647             : };
    6648             : 
    6649             : static const SvxMSDffVertPair mso_sptTextButtonPourVert[] =
    6650             : {
    6651             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
    6652             :     { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I },
    6653             :     { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I },
    6654             :     { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I },
    6655             :     { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I },
    6656             :     { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
    6657             : };
    6658             : static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] =
    6659             : {
    6660             :     { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },                 // 0x00
    6661             :     { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },                 // 0x01
    6662             :     { 0x2000, { 0x400, 10800, 0 } },                                // 0x02
    6663             :     { 0x2000, { 0x401, 10800, 0 } },                                // 0x03
    6664             :     { 0x8000, { 21600, 0, 0x402 } },                                // 0x04
    6665             :     { 0x8000, { 21600, 0, 0x403 } },                                // 0x05
    6666             : 
    6667             :     { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },                // 0x06
    6668             :     { 0x8000, { 21600, 0, 0x406 } },                                // 0x07
    6669             : 
    6670             :     { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08
    6671             :     { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09
    6672             :     { 0x2000, { 0x408, 10800, 0 } },    // 0x0a
    6673             :     { 0x2000, { 0x409, 10800, 0 } },    // 0x0b
    6674             :     { 0x8000, { 21600, 0, 0x40a } },    // 0x0c
    6675             :     { 0x8000, { 21600, 0, 0x40b } },    // 0x0d
    6676             :     { 0x2001, { 0x406, 1, 2 } },        // 0x0e
    6677             :     { 0x4000, { 10800, 0x40e, 0 } },    // 0x0f
    6678             :     { 0x8000, { 10800, 0, 0x40e } },    // 0x10
    6679             :     { 0x6001, { 0x40e, 0x40e, 1 } },    // 0x11
    6680             :     { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } },    // 0x12
    6681             :     { 0xA000, { 0x412, 0, 0x411 } },    // 0x13
    6682             :     { 0x200d, { 0x413, 0, 0 } },        // 0x14
    6683             :     { 0x4000, { 10800, 0x414, 0 } },    // 0x15
    6684             :     { 0x8000, { 10800, 0, 0x414 } }     // 0x16
    6685             : };
    6686             : static const sal_uInt16 mso_sptTextButtonPourSegm[] =
    6687             : {
    6688             :     0xA504, 0x8000,     // clockwise arc
    6689             :     0xA504, 0x8000,     // clockwise arc
    6690             :     0x4000, 0x0001, 0x8000,
    6691             :     0x4000, 0x0001, 0x8000,
    6692             :     0xA304, 0x8000,     // counter clockwise
    6693             :     0xA304, 0x8000      // counter clockwise
    6694             : };
    6695             : static const SvxMSDffHandle mso_sptTextButtonPourHandle[] =
    6696             : {
    6697             :     {   MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
    6698             :         0x101, 0x100, 10800, 10800, 4320, 10800, MIN_INT32, 0x7fffffff }
    6699             : };
    6700             : static const sal_Int32 mso_sptTextButtonPourDefault[] =
    6701             : {
    6702             :     2, 180, 5400
    6703             : };
    6704             : static const mso_CustomShape msoTextButtonPour =
    6705             : {
    6706             :     (SvxMSDffVertPair*)mso_sptTextButtonPourVert, SAL_N_ELEMENTS( mso_sptTextButtonPourVert ),
    6707             :     (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1,
    6708             :     (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, SAL_N_ELEMENTS( mso_sptTextButtonPourCalc ),
    6709             :     (sal_Int32*)mso_sptTextButtonPourDefault,
    6710             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6711             :     21600, 21600,
    6712             :     MIN_INT32, MIN_INT32,
    6713             :     NULL, 0,
    6714             :     (SvxMSDffHandle*)mso_sptTextButtonPourHandle, SAL_N_ELEMENTS( mso_sptTextButtonPourHandle )
    6715             : };
    6716             : 
    6717             : static const SvxMSDffVertPair mso_sptTextCurveUpVert[] =
    6718             : {
    6719             :     { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
    6720             :     { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
    6721             : };
    6722             : static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] =
    6723             : {
    6724             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    6725             :     { 0x4001, { 14250, 0x400, 12170 } },        // 401
    6726             :     { 0x4001, { 12800, 0x400, 12170 } },        // 402
    6727             :     { 0x4001, { 6380, 0x400, 12170 } },         // 403
    6728             :     { 0x8000, { 21600, 0, 0x403 } }             // 404
    6729             : };
    6730             : static const sal_uInt16 mso_sptTextCurveUpSegm[] =
    6731             : {
    6732             :     0x4000, 0x2001, 0x8000,
    6733             :     0x4000, 0x2002, 0x8000
    6734             : };
    6735             : static const SvxMSDffHandle mso_sptTextCurveUpHandle[] =
    6736             : {
    6737             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6738             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 12170 }
    6739             : };
    6740             : static const sal_Int32 mso_sptTextCurveUpDefault[] =
    6741             : {
    6742             :     1, 9900
    6743             : };
    6744             : static const mso_CustomShape msoTextCurveUp =
    6745             : {
    6746             :     (SvxMSDffVertPair*)mso_sptTextCurveUpVert, SAL_N_ELEMENTS( mso_sptTextCurveUpVert ),
    6747             :     (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
    6748             :     (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, SAL_N_ELEMENTS( mso_sptTextCurveUpCalc ),
    6749             :     (sal_Int32*)mso_sptTextCurveUpDefault,
    6750             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6751             :     21600, 21600,
    6752             :     MIN_INT32, MIN_INT32,
    6753             :     NULL, 0,
    6754             :     (SvxMSDffHandle*)mso_sptTextCurveUpHandle, SAL_N_ELEMENTS( mso_sptTextCurveUpHandle )
    6755             : };
    6756             : 
    6757             : static const SvxMSDffVertPair mso_sptTextCurveDownVert[] =
    6758             : {
    6759             : //  { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
    6760             :     { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I },
    6761             : 
    6762             : //  { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
    6763             :     { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I }
    6764             : };
    6765             : static const SvxMSDffHandle mso_sptTextCurveDownHandle[] =
    6766             : {
    6767             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6768             :         21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 12170 }
    6769             : };
    6770             : static const mso_CustomShape msoTextCurveDown =
    6771             : {
    6772             :     (SvxMSDffVertPair*)mso_sptTextCurveDownVert, SAL_N_ELEMENTS( mso_sptTextCurveDownVert ),
    6773             :     (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
    6774             :     (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, SAL_N_ELEMENTS( mso_sptTextCurveUpCalc ),
    6775             :     (sal_Int32*)mso_sptTextCurveUpDefault,
    6776             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6777             :     21600, 21600,
    6778             :     MIN_INT32, MIN_INT32,
    6779             :     NULL, 0,
    6780             :     (SvxMSDffHandle*)mso_sptTextCurveDownHandle, SAL_N_ELEMENTS( mso_sptTextCurveDownHandle )
    6781             : };
    6782             : 
    6783             : static const SvxMSDffVertPair mso_sptTextCanUpVert[] =
    6784             : {
    6785             :     { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I },
    6786             :     { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 }
    6787             : };
    6788             : static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] =
    6789             : {
    6790             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 400
    6791             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
    6792             :     { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402
    6793             :     { 0x4001, { 5470, 0x402, 7200 } },              // 403
    6794             :     { 0x4000, { 16130, 0x403, 0 } }                 // 404
    6795             : };
    6796             : static const sal_uInt16 mso_sptTextCanUpSegm[] =
    6797             : {
    6798             :     0x4000, 0x2002, 0x8000,
    6799             :     0x4000, 0x2002, 0x8000
    6800             : };
    6801             : static const SvxMSDffHandle mso_sptTextCanUpHandle[] =
    6802             : {
    6803             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6804             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 14400, 21600 }
    6805             : };
    6806             : static const sal_Int32 mso_sptTextCanUpDefault[] =
    6807             : {
    6808             :     1, 18500
    6809             : };
    6810             : static const mso_CustomShape msoTextCanUp =
    6811             : {
    6812             :     (SvxMSDffVertPair*)mso_sptTextCanUpVert, SAL_N_ELEMENTS( mso_sptTextCanUpVert ),
    6813             :     (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
    6814             :     (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, SAL_N_ELEMENTS( mso_sptTextCanUpCalc ),
    6815             :     (sal_Int32*)mso_sptTextCanUpDefault,
    6816             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6817             :     21600, 21600,
    6818             :     MIN_INT32, MIN_INT32,
    6819             :     NULL, 0,
    6820             :     (SvxMSDffHandle*)mso_sptTextCanUpHandle, SAL_N_ELEMENTS( mso_sptTextCanUpHandle )
    6821             : };
    6822             : 
    6823             : static const SvxMSDffVertPair mso_sptTextCanDownVert[] =
    6824             : {
    6825             :     { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 },
    6826             :     { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I }
    6827             : };
    6828             : static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] =
    6829             : {
    6830             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },     // 400
    6831             :     { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
    6832             :     { 0x4001, { 5470, 0x400, 7200 } }               // 402
    6833             : };
    6834             : static const SvxMSDffHandle mso_sptTextCanDownHandle[] =
    6835             : {
    6836             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6837             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 7200 }
    6838             : };
    6839             : static const sal_Int32 mso_sptTextCanDownDefault[] =
    6840             : {
    6841             :     1, 3100
    6842             : };
    6843             : static const mso_CustomShape msoTextCanDown =
    6844             : {
    6845             :     (SvxMSDffVertPair*)mso_sptTextCanDownVert, SAL_N_ELEMENTS( mso_sptTextCanDownVert ),
    6846             :     (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
    6847             :     (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, SAL_N_ELEMENTS( mso_sptTextCanDownCalc ),
    6848             :     (sal_Int32*)mso_sptTextCanDownDefault,
    6849             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6850             :     21600, 21600,
    6851             :     MIN_INT32, MIN_INT32,
    6852             :     NULL, 0,
    6853             :     (SvxMSDffHandle*)mso_sptTextCanDownHandle, SAL_N_ELEMENTS( mso_sptTextCanDownHandle )
    6854             : };
    6855             : 
    6856             : static const SvxMSDffVertPair mso_sptTextInflateVert[] =
    6857             : {
    6858             :     { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I },
    6859             :     { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I }
    6860             : };
    6861             : static const SvxMSDffCalculationData mso_sptTextInflateCalc[] =
    6862             : {
    6863             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    6864             :     { 0x4001, { 1530, 0x400, 4650 } },          // 401
    6865             :     { 0x8000, { 21600, 0, 0x400 } },            // 402
    6866             :     { 0x8000, { 21600, 0, 0x401 } }             // 403
    6867             : };
    6868             : static const SvxMSDffHandle mso_sptTextInflateHandle[] =
    6869             : {
    6870             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6871             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 4650 }
    6872             : };
    6873             : static const sal_Int32 mso_sptTextInflateDefault[] =
    6874             : {
    6875             :     1, 2950
    6876             : };
    6877             : static const mso_CustomShape msoTextInflate =
    6878             : {
    6879             :     (SvxMSDffVertPair*)mso_sptTextInflateVert, SAL_N_ELEMENTS( mso_sptTextInflateVert ),
    6880             :     (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
    6881             :     (SvxMSDffCalculationData*)mso_sptTextInflateCalc, SAL_N_ELEMENTS( mso_sptTextInflateCalc ),
    6882             :     (sal_Int32*)mso_sptTextInflateDefault,
    6883             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6884             :     21600, 21600,
    6885             :     MIN_INT32, MIN_INT32,
    6886             :     NULL, 0,
    6887             :     (SvxMSDffHandle*)mso_sptTextInflateHandle, SAL_N_ELEMENTS( mso_sptTextInflateHandle )
    6888             : };
    6889             : 
    6890             : static const SvxMSDffVertPair mso_sptTextDeflateVert[] =
    6891             : {
    6892             :     { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 },
    6893             :     { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 }
    6894             : };
    6895             : static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] =
    6896             : {
    6897             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    6898             :     { 0x2001, { 0x400, 5320, 7100 } },          // 401
    6899             :     { 0x8000, { 21600, 0, 0x400 } },            // 402
    6900             :     { 0x8000, { 21600, 0, 0x401 } }             // 403
    6901             : };
    6902             : static const SvxMSDffHandle mso_sptTextDeflateHandle[] =
    6903             : {
    6904             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6905             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 8100 }
    6906             : };
    6907             : static const mso_CustomShape msoTextDeflate =
    6908             : {
    6909             :     (SvxMSDffVertPair*)mso_sptTextDeflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateVert ),
    6910             :     (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
    6911             :     (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateCalc ),
    6912             :     (sal_Int32*)mso_sptDefault8100,
    6913             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6914             :     21600, 21600,
    6915             :     MIN_INT32, MIN_INT32,
    6916             :     NULL, 0,
    6917             :     (SvxMSDffHandle*)mso_sptTextDeflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateHandle )
    6918             : };
    6919             : 
    6920             : static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] =
    6921             : {
    6922             :     { 0, 0 }, { 21600, 0 },
    6923             :     { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I }
    6924             : };
    6925             : static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] =
    6926             : {
    6927             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    6928             :     { 0x2000, { 0x400, 0, 11150 } },            // 401 0->10450
    6929             :     { 0x2001, { 0x401, 3900, 10450 } },         // 402
    6930             :     { 0x2000, { 0x402, 17700, 0 } }             // 403
    6931             : };
    6932             : static const sal_uInt16 mso_sptTextInflateBottomSegm[] =
    6933             : {
    6934             :     0x4000, 0x0001, 0x8000,
    6935             :     0x4000, 0x2002, 0x8000
    6936             : };
    6937             : static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] =
    6938             : {
    6939             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6940             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 11150, 21600 }
    6941             : };
    6942             : static const sal_Int32 mso_sptTextInflateBottomDefault[] =
    6943             : {
    6944             :     1, 14700
    6945             : };
    6946             : static const mso_CustomShape msoTextInflateBottom =
    6947             : {
    6948             :     (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, SAL_N_ELEMENTS( mso_sptTextInflateBottomVert ),
    6949             :     (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1,
    6950             :     (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, SAL_N_ELEMENTS( mso_sptTextInflateBottomCalc ),
    6951             :     (sal_Int32*)mso_sptTextInflateBottomDefault,
    6952             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6953             :     21600, 21600,
    6954             :     MIN_INT32, MIN_INT32,
    6955             :     NULL, 0,
    6956             :     (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, SAL_N_ELEMENTS( mso_sptTextInflateBottomHandle )
    6957             : };
    6958             : 
    6959             : static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] =
    6960             : {
    6961             :     { 0, 0 }, { 21600, 0 },
    6962             :     { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 }
    6963             : };
    6964             : static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] =
    6965             : {
    6966             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    6967             :     { 0x2000, { 0x400, 0, 1350 } },             // 401 0->20250
    6968             :     { 0x2001, { 0x401, 12070, 20250 } },        // 402
    6969             :     { 0x2000, { 0x402, 9530, 0 } }              // 403
    6970             : };
    6971             : static const sal_uInt16 mso_sptTextDeflateBottomSegm[] =
    6972             : {
    6973             :     0x4000, 0x0001, 0x8000,
    6974             :     0x4000, 0x2002, 0x8000
    6975             : };
    6976             : static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] =
    6977             : {
    6978             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    6979             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 1350, 21600 }
    6980             : };
    6981             : static const sal_Int32 mso_sptTextDeflateBottomDefault[] =
    6982             : {
    6983             :     1, 11500
    6984             : };
    6985             : static const mso_CustomShape msoTextDeflateBottom =
    6986             : {
    6987             :     (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, SAL_N_ELEMENTS( mso_sptTextDeflateBottomVert ),
    6988             :     (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1,
    6989             :     (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, SAL_N_ELEMENTS( mso_sptTextDeflateBottomCalc ),
    6990             :     (sal_Int32*)mso_sptTextDeflateBottomDefault,
    6991             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    6992             :     21600, 21600,
    6993             :     MIN_INT32, MIN_INT32,
    6994             :     NULL, 0,
    6995             :     (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, SAL_N_ELEMENTS( mso_sptTextDeflateBottomHandle )
    6996             : };
    6997             : 
    6998             : static const SvxMSDffVertPair mso_sptTextInflateTopVert[] =
    6999             : {
    7000             :     { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I },
    7001             :     { 0, 21600 }, { 21600, 21600 }
    7002             : };
    7003             : static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] =
    7004             : {
    7005             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    7006             :     { 0x2001, { 0x400, 3900, 10450 } }          // 401
    7007             : };
    7008             : static const sal_uInt16 mso_sptTextInflateTopSegm[] =
    7009             : {
    7010             :     0x4000, 0x2002, 0x8000,
    7011             :     0x4000, 0x0001, 0x8000
    7012             : };
    7013             : static const SvxMSDffHandle mso_sptTextInflateTopHandle[] =
    7014             : {
    7015             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7016             :         0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10450 }
    7017             : };
    7018             : static const sal_Int32 mso_sptTextInflateTopDefault[] =
    7019             : {
    7020             :     1, 6900
    7021             : };
    7022             : static const mso_CustomShape msoTextInflateTop =
    7023             : {
    7024             :     (SvxMSDffVertPair*)mso_sptTextInflateTopVert, SAL_N_ELEMENTS( mso_sptTextInflateTopVert ),
    7025             :     (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1,
    7026             :     (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, SAL_N_ELEMENTS( mso_sptTextInflateTopCalc ),
    7027             :     (sal_Int32*)mso_sptTextInflateTopDefault,
    7028             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7029             :     21600, 21600,
    7030             :     MIN_INT32, MIN_INT32,
    7031             :     NULL, 0,
    7032             :     (SvxMSDffHandle*)mso_sptTextInflateTopHandle, SAL_N_ELEMENTS( mso_sptTextInflateTopHandle )
    7033             : };
    7034             : 
    7035             : static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] =
    7036             : {
    7037             :     { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 },
    7038             :     { 0, 21600 }, { 21600, 21600 }
    7039             : };
    7040             : static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] =
    7041             : {
    7042             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    7043             :     { 0x2001, { 0x400, 12070, 20250 } }         // 402
    7044             : };
    7045             : static const sal_uInt16 mso_sptTextDeflateTopSegm[] =
    7046             : {
    7047             :     0x4000, 0x2002, 0x8000,
    7048             :     0x4000, 0x0001, 0x8000
    7049             : };
    7050             : static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] =
    7051             : {
    7052             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7053             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 20250 }
    7054             : };
    7055             : static const sal_Int32 mso_sptTextDeflateTopDefault[] =
    7056             : {
    7057             :     1, 10100
    7058             : };
    7059             : static const mso_CustomShape msoTextDeflateTop =
    7060             : {
    7061             :     (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, SAL_N_ELEMENTS( mso_sptTextDeflateTopVert ),
    7062             :     (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1,
    7063             :     (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, SAL_N_ELEMENTS( mso_sptTextDeflateTopCalc ),
    7064             :     (sal_Int32*)mso_sptTextDeflateTopDefault,
    7065             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7066             :     21600, 21600,
    7067             :     MIN_INT32, MIN_INT32,
    7068             :     NULL, 0,
    7069             :     (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, SAL_N_ELEMENTS( mso_sptTextDeflateTopHandle )
    7070             : };
    7071             : 
    7072             : static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] =
    7073             : {
    7074             :     { 0, 0 }, { 21600, 0 },
    7075             :     { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 },
    7076             :     { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 },
    7077             :     { 0, 21600 }, { 21600, 21600 }
    7078             : };
    7079             : static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] =
    7080             : {
    7081             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
    7082             :     { 0x8000, { 10800, 0, 0x400 } },            // 401
    7083             :     { 0x2001, { 0x401, 5770, 9500 } },          // 402
    7084             :     { 0x8000, { 10100, 0, 0x402 } },            // 403
    7085             :     { 0x8000, { 11500, 0, 0x402 } },            // 404
    7086             :     { 0x2000, { 0x400, 0, 700 } },              // 405
    7087             :     { 0x2000, { 0x400, 700, 0 } }               // 406
    7088             : };
    7089             : static const sal_uInt16 mso_sptTextDeflateInflateSegm[] =
    7090             : {
    7091             :     0x4000, 0x0001, 0x8000,
    7092             :     0x4000, 0x2002, 0x8000,
    7093             :     0x4000, 0x2002, 0x8000,
    7094             :     0x4000, 0x0001, 0x8000
    7095             : };
    7096             : static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] =
    7097             : {
    7098             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7099             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 1300, 20300 }
    7100             : };
    7101             : static const sal_Int32 mso_sptTextDeflateInflateDefault[] =
    7102             : {
    7103             :     1, 6500
    7104             : };
    7105             : static const mso_CustomShape msoTextDeflateInflate =
    7106             : {
    7107             :     (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateInflateVert ),
    7108             :     (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1,
    7109             :     (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateInflateCalc ),
    7110             :     (sal_Int32*)mso_sptTextDeflateInflateDefault,
    7111             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7112             :     21600, 21600,
    7113             :     MIN_INT32, MIN_INT32,
    7114             :     NULL, 0,
    7115             :     (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateInflateHandle )
    7116             : };
    7117             : 
    7118             : static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] =
    7119             : {
    7120             :     { 0, 0 }, { 21600, 0 },
    7121             :     { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 },
    7122             :     { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 },
    7123             :     { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 },
    7124             :     { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 },
    7125             :     { 0, 21600 }, { 21600, 21600 }
    7126             : };
    7127             : static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] =
    7128             : {
    7129             :     { 0x2000, { DFF_Prop_adjustValue, 0, 850 } },       // 400
    7130             :     { 0x2001, { 0x400, 6120, 8700 } },
    7131             :     { 0x2000, { 0x401, 0, 4280 } },
    7132             :     { 0x4000, { 6600, 0x402, 0 } },
    7133             :     { 0x2000, { DFF_Prop_adjustValue, 0, 450 } },       // 404
    7134             :     { 0x2000, { 0x403, 900, 0 } },                      // 405
    7135             :     { 0x2000, { 0x404, 900, 0 } },                      // 406
    7136             :     { 0x8000, { 21600, 0, 0x403 } },                    // 407
    7137             :     { 0x8000, { 21600, 0, 0x404 } },                    // 408
    7138             :     { 0x8000, { 21600, 0, 0x405 } },                    // 409
    7139             :     { 0x8000, { 21600, 0, 0x406 } }                     // 410
    7140             : };
    7141             : static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] =
    7142             : {
    7143             :     0x4000, 0x0001, 0x8000,
    7144             :     0x4000, 0x2002, 0x8000,
    7145             :     0x4000, 0x2002, 0x8000,
    7146             :     0x4000, 0x2002, 0x8000,
    7147             :     0x4000, 0x2002, 0x8000,
    7148             :     0x4000, 0x0001, 0x8000
    7149             : };
    7150             : static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] =
    7151             : {
    7152             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7153             :         10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 850, 9550 }
    7154             : };
    7155             : static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] =
    7156             : {
    7157             :     1, 6050
    7158             : };
    7159             : static const mso_CustomShape msoTextDeflateInflateDeflate =
    7160             : {
    7161             :     (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateVert ),
    7162             :     (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1,
    7163             :     (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateCalc ),
    7164             :     (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault,
    7165             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7166             :     21600, 21600,
    7167             :     MIN_INT32, MIN_INT32,
    7168             :     NULL, 0,
    7169             :     (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateHandle )
    7170             : };
    7171             : 
    7172             : static const SvxMSDffVertPair mso_sptTextWave1Vert[] =  // adjustment1 : 0 - 4459
    7173             : {                                                   // adjustment2 : 8640 - 12960
    7174             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
    7175             :     { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
    7176             : };
    7177             : static const sal_uInt16 mso_sptTextWave1Segm[] =
    7178             : {
    7179             :     0x4000, 0x2001, 0x8000,
    7180             :     0x4000, 0x2001, 0x8000
    7181             : };
    7182             : static const mso_CustomShape msoTextWave1 =
    7183             : {
    7184             :     (SvxMSDffVertPair*)mso_sptTextWave1Vert, SAL_N_ELEMENTS( mso_sptTextWave1Vert ),
    7185             :     (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
    7186             :     (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
    7187             :     (sal_Int32*)mso_sptWaveDefault,
    7188             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7189             :     21600, 21600,
    7190             :     MIN_INT32, MIN_INT32,
    7191             :     (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
    7192             :     (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
    7193             : };
    7194             : 
    7195             : static const SvxMSDffVertPair mso_sptTextWave2Vert[] =  // adjustment1 : 0 - 4459
    7196             : {                                                   // adjustment2 : 8640 - 12960
    7197             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
    7198             :     { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
    7199             : };
    7200             : static const mso_CustomShape msoTextWave2 =
    7201             : {
    7202             :     (SvxMSDffVertPair*)mso_sptTextWave2Vert, SAL_N_ELEMENTS( mso_sptTextWave2Vert ),
    7203             :     (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
    7204             :     (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
    7205             :     (sal_Int32*)mso_sptWaveDefault,
    7206             :     (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
    7207             :     21600, 21600,
    7208             :     MIN_INT32, MIN_INT32,
    7209             :     (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
    7210             :     (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
    7211             : };
    7212             : 
    7213             : static const SvxMSDffVertPair mso_sptTextWave3Vert[] =  // adjustment1 : 0 - 2230
    7214             : {                                                       // adjustment2 : 8640 - 12960
    7215             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
    7216             :     { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
    7217             : };
    7218             : static const sal_uInt16 mso_sptTextWave3Segm[] =
    7219             : {
    7220             :     0x4000, 0x2002, 0x8000,
    7221             :     0x4000, 0x2002, 0x8000
    7222             : };
    7223             : static const mso_CustomShape msoTextWave3 =
    7224             : {
    7225             :     (SvxMSDffVertPair*)mso_sptTextWave3Vert, SAL_N_ELEMENTS( mso_sptTextWave3Vert ),
    7226             :     (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
    7227             :     (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
    7228             :     (sal_Int32*)mso_sptDoubleWaveDefault,
    7229             :     (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
    7230             :     21600, 21600,
    7231             :     MIN_INT32, MIN_INT32,
    7232             :     (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
    7233             :     (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
    7234             : };
    7235             : 
    7236             : static const SvxMSDffVertPair mso_sptTextWave4Vert[] =  // adjustment1 : 0 - 2230
    7237             : {                                                       // adjustment2 : 8640 - 12960
    7238             :     { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 0x1e MSO_I, 9 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
    7239             :     { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 0x20 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
    7240             : };
    7241             : static const mso_CustomShape msoTextWave4 =
    7242             : {
    7243             :     (SvxMSDffVertPair*)mso_sptTextWave4Vert, SAL_N_ELEMENTS( mso_sptTextWave4Vert ),
    7244             :     (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
    7245             :     (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
    7246             :     (sal_Int32*)mso_sptDoubleWaveDefault,
    7247             :     (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
    7248             :     21600, 21600,
    7249             :     MIN_INT32, MIN_INT32,
    7250             :     (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
    7251             :     (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
    7252             : };
    7253             : 
    7254             : static const sal_Int32 mso_sptCalloutDefault1[] =
    7255             : {
    7256             :     4, -1800, 24500, -1800, 4000
    7257             : };
    7258             : static const sal_Int32 mso_sptCalloutDefault2[] =
    7259             : {
    7260             :     4, -8300, 24500, -1800, 4000
    7261             : };
    7262             : static const sal_Int32 mso_sptCalloutDefault3[] =
    7263             : {
    7264             :     6, -10000, 24500, -3600, 4000, -1800, 4000
    7265             : };
    7266             : static const sal_Int32 mso_sptCalloutDefault4[] =
    7267             : {
    7268             :     8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000
    7269             : };
    7270             : static const SvxMSDffVertPair mso_sptCalloutVert1[] =
    7271             : {
    7272             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }
    7273             : };
    7274             : static const SvxMSDffHandle mso_sptCalloutHandle1[] =
    7275             : {
    7276             :     {   0,
    7277             :         0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7278             :     {   0,
    7279             :         0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
    7280             : };
    7281             : static const sal_uInt16 mso_sptCalloutSegm1a[] =
    7282             : {
    7283             :     0x4000, 0x0003, 0x6000, 0x8000,
    7284             :     0x4000, 0x0001, 0x8000
    7285             : };
    7286             : static const sal_uInt16 mso_sptCalloutSegm1b[] =
    7287             : {
    7288             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7289             :     0x4000, 0x0001, 0x8000
    7290             : };
    7291             : static const SvxMSDffVertPair mso_sptCallout1Vert[] =
    7292             : {
    7293             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 0 }, { 2 MSO_I, 21600 }
    7294             : };
    7295             : static const sal_uInt16 mso_sptCallout1Segm1a[] =
    7296             : {
    7297             :     0x4000, 0x0003, 0x6000, 0x8000,
    7298             :     0x4000, 0x0001, 0x8000,
    7299             :     0x4000, 0x0001, 0x8000
    7300             : };
    7301             : static const sal_uInt16 mso_sptCallout1Segm1b[] =
    7302             : {
    7303             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7304             :     0x4000, 0x0001, 0x8000,
    7305             :     0x4000, 0x0001, 0x8000
    7306             : };
    7307             : static const SvxMSDffVertPair mso_sptCallout2Verta[] =
    7308             : {
    7309             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }
    7310             : };
    7311             : static const SvxMSDffVertPair mso_sptCallout2Vertb[] =
    7312             : {
    7313             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 4 MSO_I, 0 }, { 4 MSO_I, 21600 }
    7314             : };
    7315             : static const SvxMSDffHandle mso_sptCalloutHandle2[] =
    7316             : {
    7317             :     {   0,
    7318             :         0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7319             :     {   0,
    7320             :         0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7321             :     {   0,
    7322             :         0x104, 0x105, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
    7323             : };
    7324             : static const sal_uInt16 mso_sptCallout2Segm1a[] =
    7325             : {
    7326             :     0x4000, 0x0003, 0x6000, 0x8000,
    7327             :     0x4000, 0x0001, 0x8000,
    7328             :     0x4000, 0x0001, 0x8000,
    7329             :     0x4000, 0x0001, 0x8000
    7330             : };
    7331             : static const sal_uInt16 mso_sptCallout2Segm1b[] =
    7332             : {
    7333             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7334             :     0x4000, 0x0001, 0x8000,
    7335             :     0x4000, 0x0001, 0x8000,
    7336             :     0x4000, 0x0001, 0x8000
    7337             : };
    7338             : static const sal_uInt16 mso_sptCallout2Segm1c[] =
    7339             : {
    7340             :     0x4000, 0x0003, 0x6000, 0x8000,
    7341             :     0x4000, 0x0001, 0x8000,
    7342             :     0x4000, 0x0001, 0x8000,
    7343             :     0x4000, 0x0001, 0x8000,
    7344             :     0x4000, 0x0001, 0x8000
    7345             : };
    7346             : static const sal_uInt16 mso_sptCallout2Segm1d[] =
    7347             : {
    7348             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7349             :     0x4000, 0x0001, 0x8000,
    7350             :     0x4000, 0x0001, 0x8000,
    7351             :     0x4000, 0x0001, 0x8000,
    7352             :     0x4000, 0x0001, 0x8000
    7353             : };
    7354             : static const SvxMSDffVertPair mso_sptCallout3Verta[] =
    7355             : {
    7356             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
    7357             : };
    7358             : static const SvxMSDffVertPair mso_sptCallout3Vertb[] =
    7359             : {
    7360             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 6 MSO_I, 0 }, { 6 MSO_I, 21600 }
    7361             : };
    7362             : static const SvxMSDffHandle mso_sptCalloutHandle3[] =
    7363             : {
    7364             :     {   0,
    7365             :         0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7366             :     {   0,
    7367             :         0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7368             :     {   0,
    7369             :         0x104, 0x105, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
    7370             :     {   0,
    7371             :         0x106, 0x107, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
    7372             : };
    7373             : static const sal_uInt16 mso_sptCallout3Segm1a[] =
    7374             : {
    7375             :     0x4000, 0x0003, 0x6000, 0x8000,
    7376             :     0x4000, 0xaa00, 0x0003, 0x8000          // NO_FILL
    7377             : };
    7378             : static const sal_uInt16 mso_sptCallout3Segm1b[] =
    7379             : {
    7380             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7381             :     0x4000, 0xaa00, 0x0003, 0x8000          // NO FILL
    7382             : };
    7383             : static const sal_uInt16 mso_sptCallout3Segm1c[] =
    7384             : {
    7385             :     0x4000, 0x0003, 0x6000, 0x8000,
    7386             :     0x4000, 0xaa00, 0x0003, 0x8000,         // NO FILL
    7387             :     0x4000, 0x0001, 0x8000
    7388             : };
    7389             : static const sal_uInt16 mso_sptCallout3Segm1d[] =
    7390             : {
    7391             :     0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
    7392             :     0x4000, 0xaa00, 0x0003, 0x8000,         // NO FILL
    7393             :     0x4000, 0x0001, 0x8000
    7394             : };
    7395             : 
    7396             : static const SvxMSDffCalculationData mso_sptCalloutCalc[] =
    7397             : {
    7398             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7399             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    7400             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    7401             :     { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
    7402             :     { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } },
    7403             :     { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } },
    7404             :     { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } },
    7405             :     { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } }
    7406             : };
    7407             : 
    7408             : static const mso_CustomShape msoCallout90 =
    7409             : {
    7410             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7411             :     (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
    7412             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7413             :     (sal_Int32*)mso_sptCalloutDefault1,
    7414             :     NULL, 0,
    7415             :     21600, 21600,
    7416             :     MIN_INT32, MIN_INT32,
    7417             :     NULL, 0,
    7418             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7419             : };
    7420             : static const mso_CustomShape msoCallout1 =
    7421             : {
    7422             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7423             :     (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
    7424             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7425             :     (sal_Int32*)mso_sptCalloutDefault2,
    7426             :     NULL, 0,
    7427             :     21600, 21600,
    7428             :     MIN_INT32, MIN_INT32,
    7429             :     NULL, 0,
    7430             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7431             : };
    7432             : static const mso_CustomShape msoCallout2 =
    7433             : {
    7434             :     (SvxMSDffVertPair*)mso_sptCallout2Verta, SAL_N_ELEMENTS( mso_sptCallout2Verta ),
    7435             :     (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1,
    7436             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7437             :     (sal_Int32*)mso_sptCalloutDefault3,
    7438             :     NULL, 0,
    7439             :     21600, 21600,
    7440             :     MIN_INT32, MIN_INT32,
    7441             :     NULL, 0,
    7442             :     (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
    7443             : };
    7444             : static const mso_CustomShape msoCallout3 =
    7445             : {
    7446             :     (SvxMSDffVertPair*)mso_sptCallout3Verta, SAL_N_ELEMENTS( mso_sptCallout3Verta ),
    7447             :     (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1,
    7448             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7449             :     (sal_Int32*)mso_sptCalloutDefault4,
    7450             :     NULL, 0,
    7451             :     21600, 21600,
    7452             :     MIN_INT32, MIN_INT32,
    7453             :     NULL, 0,
    7454             :     (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
    7455             : };
    7456             : static const mso_CustomShape msoAccentCallout90 =
    7457             : {
    7458             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7459             :     (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
    7460             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7461             :     (sal_Int32*)mso_sptCalloutDefault1,
    7462             :     NULL, 0,
    7463             :     21600, 21600,
    7464             :     MIN_INT32, MIN_INT32,
    7465             :     NULL, 0,
    7466             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7467             : };
    7468             : static const mso_CustomShape msoAccentCallout1 =
    7469             : {
    7470             :     (SvxMSDffVertPair*)mso_sptCallout1Vert, SAL_N_ELEMENTS( mso_sptCallout1Vert ),
    7471             :     (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1,
    7472             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7473             :     (sal_Int32*)mso_sptCalloutDefault2,
    7474             :     NULL, 0,
    7475             :     21600, 21600,
    7476             :     MIN_INT32, MIN_INT32,
    7477             :     NULL, 0,
    7478             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7479             : };
    7480             : static const mso_CustomShape msoAccentCallout2 =
    7481             : {
    7482             :     (SvxMSDffVertPair*)mso_sptCallout2Vertb, SAL_N_ELEMENTS( mso_sptCallout2Vertb ),
    7483             :     (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1,
    7484             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7485             :     (sal_Int32*)mso_sptCalloutDefault3,
    7486             :     NULL, 0,
    7487             :     21600, 21600,
    7488             :     MIN_INT32, MIN_INT32,
    7489             :     NULL, 0,
    7490             :     (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
    7491             : };
    7492             : static const mso_CustomShape msoAccentCallout3 =
    7493             : {
    7494             :     (SvxMSDffVertPair*)mso_sptCallout3Vertb, SAL_N_ELEMENTS( mso_sptCallout3Vertb ),
    7495             :     (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1,
    7496             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7497             :     (sal_Int32*)mso_sptCalloutDefault4,
    7498             :     NULL, 0,
    7499             :     21600, 21600,
    7500             :     MIN_INT32, MIN_INT32,
    7501             :     NULL, 0,
    7502             :     (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
    7503             : };
    7504             : static const mso_CustomShape msoBorderCallout90 =
    7505             : {
    7506             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7507             :     (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
    7508             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7509             :     (sal_Int32*)mso_sptCalloutDefault1,
    7510             :     NULL, 0,
    7511             :     21600, 21600,
    7512             :     MIN_INT32, MIN_INT32,
    7513             :     NULL, 0,
    7514             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7515             : };
    7516             : static const mso_CustomShape msoBorderCallout1 =
    7517             : {
    7518             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7519             :     (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
    7520             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7521             :     (sal_Int32*)mso_sptCalloutDefault2,
    7522             :     NULL, 0,
    7523             :     21600, 21600,
    7524             :     MIN_INT32, MIN_INT32,
    7525             :     NULL, 0,
    7526             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7527             : };
    7528             : static const mso_CustomShape msoBorderCallout2 =
    7529             : {
    7530             :     (SvxMSDffVertPair*)mso_sptCallout2Verta, SAL_N_ELEMENTS( mso_sptCallout2Verta ),
    7531             :     (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1,
    7532             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7533             :     (sal_Int32*)mso_sptCalloutDefault3,
    7534             :     NULL, 0,
    7535             :     21600, 21600,
    7536             :     MIN_INT32, MIN_INT32,
    7537             :     NULL, 0,
    7538             :     (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
    7539             : };
    7540             : static const mso_CustomShape msoBorderCallout3 =
    7541             : {
    7542             :     (SvxMSDffVertPair*)mso_sptCallout3Verta, SAL_N_ELEMENTS( mso_sptCallout3Verta ),
    7543             :     (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1,
    7544             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7545             :     (sal_Int32*)mso_sptCalloutDefault4,
    7546             :     NULL, 0,
    7547             :     21600, 21600,
    7548             :     MIN_INT32, MIN_INT32,
    7549             :     NULL, 0,
    7550             :     (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
    7551             : };
    7552             : static const mso_CustomShape msoAccentBorderCallout90 =
    7553             : {
    7554             :     (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
    7555             :     (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
    7556             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7557             :     (sal_Int32*)mso_sptCalloutDefault1,
    7558             :     NULL, 0,
    7559             :     21600, 21600,
    7560             :     MIN_INT32, MIN_INT32,
    7561             :     NULL, 0,
    7562             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7563             : };
    7564             : static const mso_CustomShape msoAccentBorderCallout1 =
    7565             : {
    7566             :     (SvxMSDffVertPair*)mso_sptCallout1Vert, SAL_N_ELEMENTS( mso_sptCallout1Vert ),
    7567             :     (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1,
    7568             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7569             :     (sal_Int32*)mso_sptCalloutDefault2,
    7570             :     NULL, 0,
    7571             :     21600, 21600,
    7572             :     MIN_INT32, MIN_INT32,
    7573             :     NULL, 0,
    7574             :     (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
    7575             : };
    7576             : static const mso_CustomShape msoAccentBorderCallout2 =
    7577             : {
    7578             :     (SvxMSDffVertPair*)mso_sptCallout2Vertb, SAL_N_ELEMENTS( mso_sptCallout2Vertb ),
    7579             :     (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1,
    7580             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7581             :     (sal_Int32*)mso_sptCalloutDefault3,
    7582             :     NULL, 0,
    7583             :     21600, 21600,
    7584             :     MIN_INT32, MIN_INT32,
    7585             :     NULL, 0,
    7586             :     (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
    7587             : };
    7588             : static const mso_CustomShape msoAccentBorderCallout3 =
    7589             : {
    7590             :     (SvxMSDffVertPair*)mso_sptCallout3Vertb, SAL_N_ELEMENTS( mso_sptCallout3Vertb ),
    7591             :     (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1,
    7592             :     (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
    7593             :     (sal_Int32*)mso_sptCalloutDefault4,
    7594             :     NULL, 0,
    7595             :     21600, 21600,
    7596             :     MIN_INT32, MIN_INT32,
    7597             :     NULL, 0,
    7598             :     (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
    7599             : };
    7600             : 
    7601             : static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] =
    7602             : {
    7603             :     { 0, 0 }, { 21600, 21600 }
    7604             : };
    7605             : static const sal_uInt16 mso_sptStraightConnector1Segm[] =
    7606             : {
    7607             :     0x4000, 0x0001, 0x8000
    7608             : };
    7609             : static const mso_CustomShape msoStraightConnector1 =
    7610             : {
    7611             :     (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, SAL_N_ELEMENTS( mso_sptStraightConnector1Vert ),
    7612             :     (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1,
    7613             :     (SvxMSDffCalculationData*)NULL, 0,
    7614             :     (sal_Int32*)NULL,
    7615             :     NULL, 0,
    7616             :     21600, 21600,
    7617             :     MIN_INT32, MIN_INT32,
    7618             :     NULL, 0,
    7619             :     (SvxMSDffHandle*)NULL, 0
    7620             : };
    7621             : 
    7622             : static const SvxMSDffVertPair mso_sptBentConnector2Vert[] =
    7623             : {
    7624             :     { 0, 0 }, { 21600, 0 }, { 21600, 21600 }
    7625             : };
    7626             : static const sal_uInt16 mso_sptBentConnector2Segm[] =
    7627             : {
    7628             :     0x4000, 0x0002, 0x8000
    7629             : };
    7630             : static const mso_CustomShape msoBentConnector2 =
    7631             : {
    7632             :     (SvxMSDffVertPair*)mso_sptBentConnector2Vert, SAL_N_ELEMENTS( mso_sptBentConnector2Vert ),
    7633             :     (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1,
    7634             :     (SvxMSDffCalculationData*)NULL, 0,
    7635             :     (sal_Int32*)NULL,
    7636             :     NULL, 0,
    7637             :     21600, 21600,
    7638             :     MIN_INT32, MIN_INT32,
    7639             :     NULL, 0,
    7640             :     (SvxMSDffHandle*)NULL, 0
    7641             : };
    7642             : 
    7643             : static const SvxMSDffVertPair mso_sptBentConnector3Vert[] =
    7644             : {
    7645             :     { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 }
    7646             : };
    7647             : static const sal_uInt16 mso_sptBentConnector3Segm[] =
    7648             : {
    7649             :     0x4000, 0x0003, 0x8000
    7650             : };
    7651             : static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] =
    7652             : {
    7653             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
    7654             : };
    7655             : static const sal_Int32 mso_sptBentConnector3Default[] =
    7656             : {
    7657             :     1, 10800
    7658             : };
    7659             : static const SvxMSDffHandle mso_sptBentConnector3Handle[] =
    7660             : {
    7661             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7662             :         0x100, 10800, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
    7663             : };
    7664             : static const mso_CustomShape msoBentConnector3 =
    7665             : {
    7666             :     (SvxMSDffVertPair*)mso_sptBentConnector3Vert, SAL_N_ELEMENTS( mso_sptBentConnector3Vert ),
    7667             :     (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1,
    7668             :     (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, SAL_N_ELEMENTS( mso_sptBentConnector3Calc ),
    7669             :     (sal_Int32*)mso_sptBentConnector3Default,
    7670             :     NULL, 0,
    7671             :     21600, 21600,
    7672             :     MIN_INT32, MIN_INT32,
    7673             :     NULL, 0,
    7674             :     (SvxMSDffHandle*)mso_sptBentConnector3Handle, SAL_N_ELEMENTS( mso_sptBentConnector3Handle )
    7675             : };
    7676             : 
    7677             : static const SvxMSDffVertPair mso_sptBentConnector4Vert[] =
    7678             : {
    7679             :     { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 }
    7680             : };
    7681             : static const sal_uInt16 mso_sptBentConnector4Segm[] =
    7682             : {
    7683             :     0x4000, 0x0004, 0x8000
    7684             : };
    7685             : static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] =
    7686             : {
    7687             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7688             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    7689             :     { 0x2000, { 0x400, 21600, 0 } },
    7690             :     { 0x2001, { 0x402, 1, 2 } },
    7691             :     { 0x2001, { 0x401, 1, 2 } }
    7692             : };
    7693             : static const sal_Int32 mso_sptBentConnector4Default[] =
    7694             : {
    7695             :     2, 10800, 10800
    7696             : };
    7697             : static const SvxMSDffHandle mso_sptBentConnector4Handle[] =
    7698             : {
    7699             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7700             :         0x100, 4 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 4 + 3, 4 + 3 },
    7701             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    7702             :         3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff }
    7703             : };
    7704             : static const mso_CustomShape msoBentConnector4 =
    7705             : {
    7706             :     (SvxMSDffVertPair*)mso_sptBentConnector4Vert, SAL_N_ELEMENTS( mso_sptBentConnector4Vert ),
    7707             :     (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1,
    7708             :     (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, SAL_N_ELEMENTS( mso_sptBentConnector4Calc ),
    7709             :     (sal_Int32*)mso_sptBentConnector4Default,
    7710             :     NULL, 0,
    7711             :     21600, 21600,
    7712             :     MIN_INT32, MIN_INT32,
    7713             :     NULL, 0,
    7714             :     (SvxMSDffHandle*)mso_sptBentConnector4Handle, SAL_N_ELEMENTS( mso_sptBentConnector4Handle )
    7715             : };
    7716             : 
    7717             : static const SvxMSDffVertPair mso_sptBentConnector5Vert[] =
    7718             : {
    7719             :     { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 }
    7720             : };
    7721             : static const sal_uInt16 mso_sptBentConnector5Segm[] =
    7722             : {
    7723             :     0x4000, 0x0005, 0x8000
    7724             : };
    7725             : static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] =
    7726             : {
    7727             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7728             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    7729             :     { 0x6000, { 0x400, 0x401, 0 } },
    7730             :     { 0x2001, { 0x402, 1, 2 } },
    7731             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    7732             :     { 0x2001, { 0x404, 1, 2 } },
    7733             :     { 0x4000, { 21600, 0x404, 0 } },
    7734             :     { 0x2001, { 0x406, 1, 2 } }
    7735             : };
    7736             : static const sal_Int32 mso_sptBentConnector5Default[] =
    7737             : {
    7738             :     3, 10800, 10800, 10800
    7739             : };
    7740             : static const SvxMSDffHandle mso_sptBentConnector5Handle[] =
    7741             : {
    7742             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7743             :         0x100, 5 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 5 + 3, 5 + 3 },
    7744             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    7745             :         3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff },
    7746             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7747             :         0x102, 7 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 7 + 3, 7 + 3 }
    7748             : };
    7749             : static const mso_CustomShape msoBentConnector5 =
    7750             : {
    7751             :     (SvxMSDffVertPair*)mso_sptBentConnector5Vert, SAL_N_ELEMENTS( mso_sptBentConnector5Vert ),
    7752             :     (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1,
    7753             :     (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, SAL_N_ELEMENTS( mso_sptBentConnector5Calc ),
    7754             :     (sal_Int32*)mso_sptBentConnector5Default,
    7755             :     NULL, 0,
    7756             :     21600, 21600,
    7757             :     MIN_INT32, MIN_INT32,
    7758             :     NULL, 0,
    7759             :     (SvxMSDffHandle*)mso_sptBentConnector5Handle, SAL_N_ELEMENTS( mso_sptBentConnector5Handle )
    7760             : };
    7761             : 
    7762             : static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] =
    7763             : {
    7764             :     { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 }
    7765             : };
    7766             : static const sal_uInt16 mso_sptCurvedConnector2Segm[] =
    7767             : {
    7768             :     0x4000, 0x2001, 0x8000
    7769             : };
    7770             : static const mso_CustomShape msoCurvedConnector2 =
    7771             : {
    7772             :     (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector2Vert ),
    7773             :     (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1,
    7774             :     (SvxMSDffCalculationData*)NULL, 0,
    7775             :     (sal_Int32*)NULL,
    7776             :     NULL, 0,
    7777             :     21600, 21600,
    7778             :     MIN_INT32, MIN_INT32,
    7779             :     NULL, 0,
    7780             :     (SvxMSDffHandle*)NULL, 0
    7781             : };
    7782             : 
    7783             : static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] =
    7784             : {
    7785             :     { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 }
    7786             : };
    7787             : static const sal_uInt16 mso_sptCurvedConnector3Segm[] =
    7788             : {
    7789             :     0x4000, 0x2002, 0x8000
    7790             : };
    7791             : static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] =
    7792             : {
    7793             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7794             :     { 0x2001, { 0x400, 1, 2 } },
    7795             :     { 0x2000, { 0x400, 21600, 0 } },
    7796             :     { 0x2001, { 0x402, 1, 2 } }
    7797             : };
    7798             : static const sal_Int32 mso_sptCurvedConnector3Default[] =
    7799             : {
    7800             :     1, 10800
    7801             : };
    7802             : static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] =
    7803             : {
    7804             :     {   MSDFF_HANDLE_FLAGS_RANGE,
    7805             :         0x100, 10800, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
    7806             : };
    7807             : static const mso_CustomShape msoCurvedConnector3 =
    7808             : {
    7809             :     (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector3Vert ),
    7810             :     (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1,
    7811             :     (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector3Calc ),
    7812             :     (sal_Int32*)mso_sptCurvedConnector3Default,
    7813             :     NULL, 0,
    7814             :     21600, 21600,
    7815             :     MIN_INT32, MIN_INT32,
    7816             :     NULL, 0,
    7817             :     (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector3Handle )
    7818             : };
    7819             : 
    7820             : static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] =
    7821             : {
    7822             :     { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I },
    7823             :     { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I },
    7824             :     { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 }
    7825             : 
    7826             : };
    7827             : static const sal_uInt16 mso_sptCurvedConnector4Segm[] =
    7828             : {
    7829             :     0x4000, 0x2003, 0x8000
    7830             : };
    7831             : static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] =
    7832             : {
    7833             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7834             :     { 0x2001, { 0x400, 1, 2 } },
    7835             :     { 0x4000, { 21600, 0x400, 0 } },
    7836             :     { 0x2001, { 0x402, 1, 2 } },
    7837             :     { 0x6000, { 0x400, 0x403, 0 } },
    7838             :     { 0x2001, { 0x404, 1, 2 } },
    7839             :     { 0x2000, { 0x403, 21600, 0 } },
    7840             :     { 0x2001, { 0x406, 1, 2 } },
    7841             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    7842             :     { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } },
    7843             :     { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } },
    7844             :     { 0x6000, { 0x408, 0x409, 0 } },
    7845             :     { 0x2001, { 0x40b, 1, 2 } },
    7846             :     { 0x2000, { 0x408, 21600, 0 } },
    7847             :     { 0x2001, { 0x40d, 1, 2 } }
    7848             : };
    7849             : static const sal_Int32 mso_sptCurvedConnector4Default[] =
    7850             : {
    7851             :     2, 10800, 10800
    7852             : };
    7853             : static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] =
    7854             : {
    7855             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7856             :         0x100, 9 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 9 + 3, 9 + 3 },
    7857             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    7858             :         3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff }
    7859             : };
    7860             : static const mso_CustomShape msoCurvedConnector4 =
    7861             : {
    7862             :     (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector4Vert ),
    7863             :     (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1,
    7864             :     (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector4Calc ),
    7865             :     (sal_Int32*)mso_sptCurvedConnector4Default,
    7866             :     NULL, 0,
    7867             :     21600, 21600,
    7868             :     MIN_INT32, MIN_INT32,
    7869             :     NULL, 0,
    7870             :     (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector4Handle )
    7871             : };
    7872             : 
    7873             : static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] =
    7874             : {
    7875             :     { 0, 0 },
    7876             :     { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
    7877             :     { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
    7878             :     { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I },
    7879             :     { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 }
    7880             : };
    7881             : static const sal_uInt16 mso_sptCurvedConnector5Segm[] =
    7882             : {
    7883             :     0x4000, 0x2004, 0x8000
    7884             : };
    7885             : static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] =
    7886             : {
    7887             :     { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
    7888             :     { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
    7889             :     { 0x6000, { 0x400, 0x401, 0 } },
    7890             :     { 0x2001, { 0x402, 1, 2 } },
    7891             :     { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
    7892             :     { 0x6000, { 0x400, 0x403, 0 } },
    7893             :     { 0x2001, { 0x405, 1, 2 } },
    7894             :     { 0x6000, { 0x401, 0x403, 0 } },
    7895             :     { 0x2001, { 0x407, 1, 2 } },
    7896             :     { 0x2000, { 0x401, 21600, 0 } },
    7897             :     { 0x2001, { 0x409, 1, 2 } },
    7898             :     { 0x2001, { 0x404, 1, 2 } },
    7899             :     { 0x2001, { 0x40b, 1, 2 } },
    7900             :     { 0x6000, { 0x404, 0x40b, 0 } },
    7901             :     { 0x2001, { 0x40d, 1, 2 } },
    7902             :     { 0x2000, { 0x404, 21600, 0 } },
    7903             :     { 0x2001, { 0x40f, 1, 2 } },
    7904             :     { 0x6000, { 0x404, 0x410, 0 } },
    7905             :     { 0x2001, { 0x411, 1, 2 } },
    7906             :     { 0x2000, { 0x410, 21600, 0 } },
    7907             :     { 0x2001, { 0x413, 1, 2 } },
    7908             :     { 0x2001, { 0x400, 1, 2 } }
    7909             : };
    7910             : static const sal_Int32 mso_sptCurvedConnector5Default[] =
    7911             : {
    7912             :     3, 10800, 10800, 10800
    7913             : };
    7914             : static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] =
    7915             : {
    7916             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7917             :         0x100, 11 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 11 + 3, 11 + 3 },
    7918             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
    7919             :         3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff },
    7920             :     {   MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
    7921             :         0x102, 16 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 16 + 3, 16 + 3 }
    7922             : };
    7923             : static const mso_CustomShape msoCurvedConnector5 =
    7924             : {
    7925             :     (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector5Vert ),
    7926             :     (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1,
    7927             :     (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector5Calc ),
    7928             :     (sal_Int32*)mso_sptCurvedConnector5Default,
    7929             :     NULL, 0,
    7930             :     21600, 21600,
    7931             :     MIN_INT32, MIN_INT32,
    7932             :     NULL, 0,
    7933             :     (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector5Handle )
    7934             : };
    7935             : 
    7936        4087 : const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType )
    7937             : {
    7938        4087 :     const mso_CustomShape* pCustomShape = NULL;
    7939        4087 :     switch( eSpType )
    7940             :     {
    7941           0 :         case mso_sptArc :                       pCustomShape = &msoArc; break;
    7942        2979 :         case mso_sptRectangle :                 pCustomShape = &msoRectangle; break;
    7943           1 :         case mso_sptParallelogram :             pCustomShape = &msoParallelogram; break;
    7944           1 :         case mso_sptTrapezoid :                 pCustomShape = &msoTrapezoid; break;
    7945           1 :         case mso_sptDiamond :                   pCustomShape = &msoDiamond; break;
    7946          18 :         case mso_sptRoundRectangle :            pCustomShape = &msoRoundRectangle; break;
    7947           1 :         case mso_sptOctagon :                   pCustomShape = &msoOctagon; break;
    7948           1 :         case mso_sptIsocelesTriangle :          pCustomShape = &msoIsocelesTriangle; break;
    7949           1 :         case mso_sptRightTriangle :             pCustomShape = &msoRightTriangle; break;
    7950          68 :         case mso_sptEllipse :                   pCustomShape = &msoEllipse; break;
    7951           1 :         case mso_sptHexagon :                   pCustomShape = &msoHexagon; break;
    7952           1 :         case mso_sptPlus :                      pCustomShape = &msoPlus; break;
    7953           1 :         case mso_sptPentagon :                  pCustomShape = &msoPentagon; break;
    7954           3 :         case mso_sptCan :                       pCustomShape = &msoCan; break;
    7955           3 :         case mso_sptCube :                      pCustomShape = &msoCube; break;
    7956           0 :         case mso_sptBalloon :                   pCustomShape = &msoBalloon; break;
    7957           0 :         case mso_sptActionButtonBlank :         pCustomShape = &msoActionButtonBlank; break;
    7958           0 :         case mso_sptActionButtonHome :          pCustomShape = &msoActionButtonHome; break;
    7959           0 :         case mso_sptActionButtonHelp :          pCustomShape = &msoActionButtonHelp; break;
    7960           0 :         case mso_sptActionButtonInformation :   pCustomShape = &msoActionButtonInformation; break;
    7961           0 :         case mso_sptActionButtonBackPrevious :  pCustomShape = &msoActionButtonBackPrevious; break;
    7962           0 :         case mso_sptActionButtonForwardNext :   pCustomShape = &msoActionButtonForwardNext; break;
    7963           0 :         case mso_sptActionButtonBeginning :     pCustomShape = &msoActionButtonBeginning; break;
    7964           0 :         case mso_sptActionButtonEnd :           pCustomShape = &msoActionButtonEnd; break;
    7965           0 :         case mso_sptActionButtonReturn :        pCustomShape = &msoActionButtonReturn;  break;
    7966           0 :         case mso_sptActionButtonDocument :      pCustomShape = &msoActionButtonDocument; break;
    7967           0 :         case mso_sptActionButtonSound :         pCustomShape = &msoActionButtonSound; break;
    7968           0 :         case mso_sptActionButtonMovie :         pCustomShape = &msoActionButtonMovie; break;
    7969           7 :         case mso_sptBevel :                     pCustomShape = &msoBevel; break;
    7970           1 :         case mso_sptFoldedCorner :              pCustomShape = &msoFoldedCorner; break;
    7971           5 :         case mso_sptSmileyFace :                pCustomShape = &msoSmileyFace;  break;
    7972           1 :         case mso_sptDonut :                     pCustomShape = &msoDonut; break;
    7973           1 :         case mso_sptNoSmoking :                 pCustomShape = &msoNoSmoking; break;
    7974           1 :         case mso_sptBlockArc :                  pCustomShape = &msoBlockArc; break;
    7975           1 :         case mso_sptHeart :                     pCustomShape = &msoHeart; break;
    7976           0 :         case mso_sptLightningBolt :             pCustomShape = &msoLightningBold; break;
    7977           5 :         case mso_sptSun :                       pCustomShape = &msoSun; break;
    7978           1 :         case mso_sptMoon :                      pCustomShape = &msoMoon; break;
    7979           1 :         case mso_sptBracketPair :               pCustomShape = &msoBracketPair; break;
    7980           1 :         case mso_sptBracePair :                 pCustomShape = &msoBracePair; break;
    7981           1 :         case mso_sptPlaque :                    pCustomShape = &msoPlaque; break;
    7982           1 :         case mso_sptLeftBracket :               pCustomShape = &msoLeftBracket; break;
    7983           1 :         case mso_sptRightBracket :              pCustomShape = &msoRightBracket; break;
    7984           1 :         case mso_sptLeftBrace :                 pCustomShape = &msoLeftBrace; break;
    7985          13 :         case mso_sptRightBrace :                pCustomShape = &msoRightBrace; break;
    7986           8 :         case mso_sptArrow :                     pCustomShape = &msoArrow; break;
    7987           0 :         case mso_sptUpArrow :                   pCustomShape = &msoUpArrow; break;
    7988          16 :         case mso_sptDownArrow :                 pCustomShape = &msoDownArrow; break;
    7989           8 :         case mso_sptLeftArrow :                 pCustomShape = &msoLeftArrow; break;
    7990           0 :         case mso_sptLeftRightArrow :            pCustomShape = &msoLeftRightArrow; break;
    7991           0 :         case mso_sptUpDownArrow :               pCustomShape = &msoUpDownArrow; break;
    7992           0 :         case mso_sptQuadArrow :                 pCustomShape = &msoQuadArrow; break;
    7993           0 :         case mso_sptLeftRightUpArrow :          pCustomShape = &msoLeftRightUpArrow; break;
    7994           0 :         case mso_sptBentArrow :                 pCustomShape = &msoBentArrow; break;
    7995           0 :         case mso_sptUturnArrow :                pCustomShape = &msoUturnArrow; break;
    7996           0 :         case mso_sptLeftUpArrow :               pCustomShape = &msoLeftUpArrow; break;
    7997           0 :         case mso_sptBentUpArrow :               pCustomShape = &msoBentUpArrow; break;
    7998          12 :         case mso_sptCurvedRightArrow :          pCustomShape = &msoCurvedRightArrow; break;
    7999           0 :         case mso_sptCurvedLeftArrow :           pCustomShape = &msoCurvedLeftArrow; break;
    8000           0 :         case mso_sptCurvedUpArrow :             pCustomShape = &msoCurvedUpArrow; break;
    8001           0 :         case mso_sptCurvedDownArrow :           pCustomShape = &msoCurvedDownArrow; break;
    8002           0 :         case mso_sptStripedRightArrow :         pCustomShape = &msoStripedRightArrow; break;
    8003           0 :         case mso_sptNotchedRightArrow :         pCustomShape = &msoNotchedRightArrow; break;
    8004           0 :         case mso_sptHomePlate :                 pCustomShape = &msoHomePlate; break;
    8005           0 :         case mso_sptChevron :                   pCustomShape = &msoChevron; break;
    8006           0 :         case mso_sptRightArrowCallout :         pCustomShape = &msoRightArrowCallout; break;
    8007           0 :         case mso_sptLeftArrowCallout :          pCustomShape = &msoLeftArrowCallout; break;
    8008           0 :         case mso_sptUpArrowCallout :            pCustomShape = &msoUpArrowCallout; break;
    8009           0 :         case mso_sptDownArrowCallout :          pCustomShape = &msoDownArrowCallout; break;
    8010           0 :         case mso_sptLeftRightArrowCallout :     pCustomShape = &msoLeftRightArrowCallout; break;
    8011           0 :         case mso_sptUpDownArrowCallout :        pCustomShape = &msoUpDownArrowCallout; break;
    8012           0 :         case mso_sptQuadArrowCallout :          pCustomShape = &msoQuadArrowCallout; break;
    8013           0 :         case mso_sptCircularArrow :             pCustomShape = &msoCircularArrow; break;
    8014           0 :         case mso_sptIrregularSeal1 :            pCustomShape = &msoIrregularSeal1; break;
    8015           1 :         case mso_sptIrregularSeal2 :            pCustomShape = &msoIrregularSeal2; break;
    8016           1 :         case mso_sptSeal4 :                     pCustomShape = &msoSeal4; break;
    8017           5 :         case mso_sptStar :                      pCustomShape = &msoStar; break;
    8018           1 :         case mso_sptSeal8 :                     pCustomShape = &msoSeal8; break;
    8019             :         case mso_sptSeal :
    8020           0 :         case mso_sptSeal16 :                    pCustomShape = &msoSeal16; break;
    8021           1 :         case mso_sptSeal24 :                    pCustomShape = &msoSeal24; break;
    8022           0 :         case mso_sptSeal32 :                    pCustomShape = &msoSeal32; break;
    8023           0 :         case mso_sptRibbon2 :                   pCustomShape = &msoRibbon2; break;
    8024           0 :         case mso_sptRibbon :                    pCustomShape = &msoRibbon; break;
    8025           0 :         case mso_sptEllipseRibbon2 :            pCustomShape = &msoRibbon2; break;  // SJ: TODO
    8026           0 :         case mso_sptEllipseRibbon :             pCustomShape = &msoRibbon; break;   // SJ: TODO
    8027           1 :         case mso_sptVerticalScroll :            pCustomShape = &msoVerticalScroll;  break;
    8028           9 :         case mso_sptHorizontalScroll :          pCustomShape = &msoHorizontalScroll; break;
    8029           0 :         case mso_sptFlowChartProcess :          pCustomShape = &msoFlowChartProcess; break;
    8030           4 :         case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break;
    8031           0 :         case mso_sptFlowChartDecision :         pCustomShape = &msoFlowChartDecision; break;
    8032           0 :         case mso_sptFlowChartInputOutput :      pCustomShape = &msoFlowChartInputOutput; break;
    8033           0 :         case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break;
    8034           0 :         case mso_sptFlowChartInternalStorage :  pCustomShape = &msoFlowChartInternalStorage; break;
    8035           0 :         case mso_sptFlowChartDocument :         pCustomShape = &msoFlowChartDocument; break;
    8036           0 :         case mso_sptFlowChartMultidocument :    pCustomShape = &msoFlowChartMultidocument; break;
    8037           0 :         case mso_sptFlowChartTerminator :       pCustomShape = &msoFlowChartTerminator; break;
    8038           0 :         case mso_sptFlowChartPreparation :      pCustomShape = &msoFlowChartPreparation; break;
    8039           0 :         case mso_sptFlowChartManualInput :      pCustomShape = &msoFlowChartManualInput; break;
    8040           0 :         case mso_sptFlowChartManualOperation :  pCustomShape = &msoFlowChartManualOperation; break;
    8041           0 :         case mso_sptFlowChartConnector :        pCustomShape = &msoFlowChartConnector; break;
    8042           0 :         case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break;
    8043           0 :         case mso_sptFlowChartPunchedCard :      pCustomShape = &msoFlowChartPunchedCard; break;
    8044           0 :         case mso_sptFlowChartPunchedTape :      pCustomShape = &msoFlowChartPunchedTape; break;
    8045           0 :         case mso_sptFlowChartSummingJunction :  pCustomShape = &msoFlowChartSummingJunction; break;
    8046           0 :         case mso_sptFlowChartOr :               pCustomShape = &msoFlowChartOr; break;
    8047           0 :         case mso_sptFlowChartCollate :          pCustomShape = &msoFlowChartCollate; break;
    8048           0 :         case mso_sptFlowChartSort :             pCustomShape = &msoFlowChartSort; break;
    8049           0 :         case mso_sptFlowChartExtract :          pCustomShape = &msoFlowChartExtract; break;
    8050           0 :         case mso_sptFlowChartMerge :            pCustomShape = &msoFlowChartMerge; break;
    8051           0 :         case mso_sptFlowChartOnlineStorage :    pCustomShape = &msoFlowChartOnlineStorage; break;
    8052           0 :         case mso_sptFlowChartDelay :            pCustomShape = &msoFlowChartDelay; break;
    8053           0 :         case mso_sptFlowChartMagneticTape :     pCustomShape = &msoFlowChartMagneticTape; break;
    8054           0 :         case mso_sptFlowChartMagneticDisk :     pCustomShape = &msoFlowChartMagneticDisk; break;
    8055           0 :         case mso_sptFlowChartMagneticDrum :     pCustomShape = &msoFlowChartMagneticDrum; break;
    8056           0 :         case mso_sptFlowChartDisplay :          pCustomShape = &msoFlowChartDisplay; break;
    8057           8 :         case mso_sptWedgeRectCallout :          pCustomShape = &msoWedgeRectCallout; break;
    8058           4 :         case mso_sptWedgeRRectCallout :         pCustomShape = &msoWedgeRRectCallout; break;
    8059          12 :         case mso_sptWedgeEllipseCallout :       pCustomShape = &msoWedgeEllipseCallout; break;
    8060           0 :         case mso_sptCloudCallout :              pCustomShape = &msoCloudCallout; break;
    8061           0 :         case mso_sptWave :                      pCustomShape = &msoWave; break;
    8062           0 :         case mso_sptDoubleWave :                pCustomShape = &msoDoubleWave; break;
    8063             : 
    8064             :         // callout
    8065           0 :         case mso_sptCallout1 :                  pCustomShape = &msoCallout1; break;
    8066           0 :         case mso_sptCallout2 :                  pCustomShape = &msoCallout2; break;
    8067           0 :         case mso_sptCallout3 :                  pCustomShape = &msoCallout3; break;
    8068           0 :         case mso_sptAccentCallout1 :            pCustomShape = &msoAccentCallout1; break;
    8069           0 :         case mso_sptAccentCallout2 :            pCustomShape = &msoAccentCallout2; break;
    8070           0 :         case mso_sptAccentCallout3 :            pCustomShape = &msoAccentCallout3; break;
    8071           0 :         case mso_sptBorderCallout1 :            pCustomShape = &msoBorderCallout1; break;
    8072           4 :         case mso_sptBorderCallout2 :            pCustomShape = &msoBorderCallout2; break;
    8073           0 :         case mso_sptBorderCallout3 :            pCustomShape = &msoBorderCallout3; break;
    8074           0 :         case mso_sptAccentBorderCallout1 :      pCustomShape = &msoAccentBorderCallout1; break;
    8075           0 :         case mso_sptAccentBorderCallout2 :      pCustomShape = &msoAccentBorderCallout2; break;
    8076           0 :         case mso_sptAccentBorderCallout3 :      pCustomShape = &msoAccentBorderCallout3; break;
    8077           0 :         case mso_sptCallout90 :                 pCustomShape = &msoCallout90; break;
    8078           0 :         case mso_sptAccentCallout90 :           pCustomShape = &msoAccentCallout90; break;
    8079           0 :         case mso_sptBorderCallout90 :           pCustomShape = &msoBorderCallout90; break;
    8080           0 :         case mso_sptAccentBorderCallout90 :     pCustomShape = &msoAccentBorderCallout90; break;
    8081             : 
    8082             :         // connectors
    8083          14 :         case mso_sptStraightConnector1 :        pCustomShape = &msoStraightConnector1; break;
    8084           0 :         case mso_sptBentConnector2 :            pCustomShape = &msoBentConnector2; break;
    8085          10 :         case mso_sptBentConnector3 :            pCustomShape = &msoBentConnector3; break;
    8086           0 :         case mso_sptBentConnector4 :            pCustomShape = &msoBentConnector4; break;
    8087           0 :         case mso_sptBentConnector5 :            pCustomShape = &msoBentConnector5; break;
    8088           0 :         case mso_sptCurvedConnector2 :          pCustomShape = &msoCurvedConnector2; break;
    8089          10 :         case mso_sptCurvedConnector3 :          pCustomShape = &msoCurvedConnector3; break;
    8090           0 :         case mso_sptCurvedConnector4 :          pCustomShape = &msoCurvedConnector4; break;
    8091           0 :         case mso_sptCurvedConnector5 :          pCustomShape = &msoCurvedConnector5; break;
    8092             : 
    8093             :         // Dont know, simply mapping to TextSimple
    8094             :         case mso_sptTextOnRing :
    8095             :         case mso_sptTextOnCurve :
    8096             :         case mso_sptTextRing :
    8097             :         case mso_sptTextWave :
    8098             :         case mso_sptTextCurve :
    8099             :         case mso_sptTextHexagon :
    8100             :         case mso_sptTextOctagon :
    8101         104 :         case mso_sptTextBox :                   pCustomShape = &msoTextSimple; break;
    8102             : 
    8103             :         // FontWork
    8104             :         case mso_sptTextSimple :
    8105           0 :         case mso_sptTextPlainText :             pCustomShape = &msoTextPlainText; break;
    8106           0 :         case mso_sptTextStop :                  pCustomShape = &msoTextStop; break;
    8107           0 :         case mso_sptTextTriangle :              pCustomShape = &msoTextTriangle; break;
    8108           0 :         case mso_sptTextTriangleInverted :      pCustomShape = &msoTextTriangleInverted; break;
    8109           0 :         case mso_sptTextChevron :               pCustomShape = &msoTextChevron; break;
    8110           0 :         case mso_sptTextChevronInverted :       pCustomShape = &msoTextChevronInverted; break;
    8111           0 :         case mso_sptTextRingInside :            pCustomShape = &msoTextRingOutside; break;  // SJ: TODO->the orientation of the ellipse needs to be changed
    8112           0 :         case mso_sptTextRingOutside :           pCustomShape = &msoTextRingOutside; break;
    8113           0 :         case mso_sptTextFadeRight :             pCustomShape = &msoTextFadeRight; break;
    8114           0 :         case mso_sptTextFadeLeft :              pCustomShape = &msoTextFadeLeft; break;
    8115           0 :         case mso_sptTextFadeUp :                pCustomShape = &msoTextFadeUp; break;
    8116           0 :         case mso_sptTextFadeDown :              pCustomShape = &msoTextFadeDown; break;
    8117           4 :         case mso_sptTextSlantUp :               pCustomShape = &msoTextSlantUp; break;
    8118           0 :         case mso_sptTextSlantDown :             pCustomShape = &msoTextSlantDown; break;
    8119           0 :         case mso_sptTextCascadeUp :             pCustomShape = &msoTextCascadeUp; break;
    8120           0 :         case mso_sptTextCascadeDown :           pCustomShape = &msoTextCascadeDown; break;
    8121           0 :         case mso_sptTextArchUpCurve :           pCustomShape = &msoTextArchUpCurve; break;
    8122           0 :         case mso_sptTextArchDownCurve :         pCustomShape = &msoTextArchDownCurve; break;
    8123           0 :         case mso_sptTextCircleCurve :           pCustomShape = &msoTextCircleCurve; break;
    8124           0 :         case mso_sptTextButtonCurve :           pCustomShape = &msoTextButtonCurve; break;
    8125           0 :         case mso_sptTextArchUpPour :            pCustomShape = &msoTextArchUpPour; break;
    8126           0 :         case mso_sptTextArchDownPour :          pCustomShape = &msoTextArchDownPour; break;
    8127           0 :         case mso_sptTextCirclePour :            pCustomShape = &msoTextCirclePour; break;
    8128           0 :         case mso_sptTextButtonPour :            pCustomShape = &msoTextButtonPour; break;
    8129           0 :         case mso_sptTextCurveUp :               pCustomShape = &msoTextCurveUp; break;
    8130           0 :         case mso_sptTextCurveDown :             pCustomShape = &msoTextCurveDown; break;
    8131           0 :         case mso_sptTextCanUp :                 pCustomShape = &msoTextCanUp; break;
    8132           0 :         case mso_sptTextCanDown :               pCustomShape = &msoTextCanDown; break;
    8133           0 :         case mso_sptTextInflate :               pCustomShape = &msoTextInflate; break;
    8134           0 :         case mso_sptTextDeflate :               pCustomShape = &msoTextDeflate; break;
    8135           0 :         case mso_sptTextInflateBottom :         pCustomShape = &msoTextInflateBottom; break;
    8136           0 :         case mso_sptTextDeflateBottom :         pCustomShape = &msoTextDeflateBottom; break;
    8137           0 :         case mso_sptTextInflateTop :            pCustomShape = &msoTextInflateTop; break;
    8138           0 :         case mso_sptTextDeflateTop :            pCustomShape = &msoTextDeflateTop; break;
    8139           0 :         case mso_sptTextDeflateInflate :        pCustomShape = &msoTextDeflateInflate; break;
    8140           0 :         case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break;
    8141           0 :         case mso_sptTextWave1 :                 pCustomShape = &msoTextWave1; break;
    8142           0 :         case mso_sptTextWave2 :                 pCustomShape = &msoTextWave2; break;
    8143           0 :         case mso_sptTextWave3 :                 pCustomShape = &msoTextWave3; break;
    8144           0 :         case mso_sptTextWave4 :                 pCustomShape = &msoTextWave4; break;
    8145             :         default :
    8146         728 :         break;
    8147             :     }
    8148        4087 :     return pCustomShape;
    8149             : }
    8150             : 
    8151             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10