1 /************************************************************************/
2 /* */
3 /* Table of rtf tags that are not treated as an exception. */
4 /* */
5 /************************************************************************/
6
7 # include "docRtfConfig.h"
8
9 # include <stdlib.h>
10 # include <string.h>
11 # include <stdio.h>
12 # include <ctype.h>
13
14 # include <utilJenkinsPerfectHash.h>
15
16 # include "docRtfReaderImpl.h"
17 # include "docRtfShpTab.h"
18 # include "docRtfTagHash.h"
19 # include <docShapeProp.h>
20
21 # include <appDebugon.h>
22
23 # define BUILD_NO_HASH /* for sed */
24
25 # ifdef BUILD_HASH
26
27 # define docRtfShpArray 0
28 # define docRtfShpString 0
29 # define docRtfShpPicture 0
30 # define docRtfShapeNumber 0
31 # define docRtfShpColor 0
32
33 # endif
34
35 /************************************************************************/
36 /* */
37 /* Table of common shape properties. */
38 /* */
39 /************************************************************************/
40
41 # define SHAPE_ARRAY(s,id) \
42 { s, id, RTCtypeANY, docRtfShpArray, }
43 # define SHAPE_STRING(s,id) \
44 { s, id, RTCtypeANY, docRtfShpString, }
45 # define SHAPE_PICTURE(s,id) \
46 { s, id, RTCtypeANY, docRtfShpPicture, }
47 # define SHAPE_COLOR(s,id) \
48 { s, id, RTCtypeANY, docRtfShpColor, }
49
50 # define SHAPE_NUMBER(s,id) \
51 { s, id, RTCtypeANY, docRtfShapeNumber, }
52 # define SHAPE_POS_NUMBER(s,id) \
53 { s, id, RTCtypeANY, docRtfShapeNumber, }
54 # define SHAPE_TYPE_NUMBER(s,id) \
55 { s, id, RTCtypeANY, docRtfShapeNumber, }
56 # define SHAPE_LOCK_NUMBER(s,id) \
57 { s, id, RTCtypeANY, docRtfShapeNumber, }
58 # define SHAPE_FILL_NUMBER(s,id) \
59 { s, id, RTCtypeANY, docRtfShapeNumber, }
60 # define SHAPE_LINE_NUMBER(s,id) \
61 { s, id, RTCtypeANY, docRtfShapeNumber, }
62 # define SHAPE_GROUP_NUMBER(s,id) \
63 { s, id, RTCtypeANY, docRtfShapeNumber, }
64 # define SHAPE_SHADOW_NUMBER(s,id) \
65 { s, id, RTCtypeANY, docRtfShapeNumber, }
66 # define SHAPE_CONN_NUMBER(s,id) \
67 { s, id, RTCtypeANY, docRtfShapeNumber, }
68 # define SHAPE_TXBOX_NUMBER(s,id) \
69 { s, id, RTCtypeANY, docRtfShapeNumber, }
70 # define SHAPE_GEO_NUMBER(s,id) \
71 { s, id, RTCtypeANY, docRtfShapeNumber, }
72
73 static RtfControlWord docRtfShapePropertyWords[]=
74 {
75
76 SHAPE_ARRAY( "pVerticies", DSHPprop_pVerticies ),
77 SHAPE_ARRAY( "pWrapPolygonVertices",DSHPprop_pWrapPolygonVertices ),
78 SHAPE_ARRAY( "pSegmentInfo", DSHPprop_pSegmentInfo ),
79
80 SHAPE_STRING( "wzName", DSHPprop_wzName ),
81 SHAPE_STRING( "wzDescription", DSHPprop_wzDescription ),
82 SHAPE_STRING( "gtextUNICODE", DSHPprop_gtextUNICODE ),
83 SHAPE_STRING( "gtextFont", DSHPprop_gtextFont ),
84 SHAPE_STRING( "pibName", DSHPprop_pibName ),
85 SHAPE_STRING( "fillBlipName", DSHPprop_fillBlipName ),
86
87 SHAPE_PICTURE( "pib", DSHPprop_pib ),
88
89 /********************************************/
90 /* Number/Flag: Position. */
91 /********************************************/
92 SHAPE_POS_NUMBER( "posv", DSHPprop_posv ),
93 SHAPE_POS_NUMBER( "posh", DSHPprop_posh ),
94 SHAPE_POS_NUMBER( "posrelv", DSHPprop_posrelv ),
95 SHAPE_POS_NUMBER( "posrelh", DSHPprop_posrelh ),
96
97 SHAPE_POS_NUMBER( "fUseShapeAnchor",DSHPprop_fUseShapeAnchor ),
98 SHAPE_POS_NUMBER( "fLayoutInCell", DSHPprop_fLayoutInCell ),
99 SHAPE_POS_NUMBER( "fAllowOverlap", DSHPprop_fAllowOverlap ),
100 SHAPE_POS_NUMBER( "fChangePage", DSHPprop_fChangePage ),
101
102 /********************************************/
103 /* */
104 /* Object type. */
105 /* 1) To deal with faulty documents. */
106 /* */
107 /********************************************/
108 SHAPE_TYPE_NUMBER( "shapeType", DSHPprop_shapeType ),
109 SHAPE_TYPE_NUMBER( "ShapeType", DSHPprop_shapeType ), /* 1 */
110 SHAPE_TYPE_NUMBER( "rotation", DSHPprop_rotation ),
111
112 SHAPE_TYPE_NUMBER( "dxWrapDistLeft", DSHPprop_dxWrapDistLeft ),
113 SHAPE_TYPE_NUMBER( "dyWrapDistTop", DSHPprop_dyWrapDistTop ),
114 SHAPE_TYPE_NUMBER( "dxWrapDistRight", DSHPprop_dxWrapDistRight ),
115 SHAPE_TYPE_NUMBER( "dyWrapDistBottom", DSHPprop_dyWrapDistBottom ),
116
117 SHAPE_TYPE_NUMBER( "hspMaster", DSHPprop_hspMaster ),
118 SHAPE_TYPE_NUMBER( "hspNext", DSHPprop_hspNext ),
119
120 SHAPE_TYPE_NUMBER( "xLimo", DSHPprop_xLimo ),
121 SHAPE_TYPE_NUMBER( "yLimo", DSHPprop_yLimo ),
122
123 SHAPE_TYPE_NUMBER( "fIsBullet", DSHPprop_fIsBullet ),
124 SHAPE_TYPE_NUMBER( "fFlipV", DSHPprop_fFlipV ),
125 SHAPE_TYPE_NUMBER( "fFlipH", DSHPprop_fFlipH ),
126 SHAPE_TYPE_NUMBER( "fBehindDocument", DSHPprop_fBehindDocument ),
127 SHAPE_TYPE_NUMBER( "fIsButton", DSHPprop_fIsButton ),
128 SHAPE_TYPE_NUMBER( "fHidden", DSHPprop_fHidden ),
129 SHAPE_TYPE_NUMBER( "fReallyHidden", DSHPprop_fReallyHidden ),
130 SHAPE_TYPE_NUMBER( "fArrowheadsOK", DSHPprop_fArrowheadsOK ),
131 SHAPE_TYPE_NUMBER( "fBackground", DSHPprop_fBackground ),
132 SHAPE_TYPE_NUMBER( "fDeleteAttachedObject",
133 DSHPprop_fDeleteAttachedObject ),
134 SHAPE_TYPE_NUMBER( "fEditedWrap", DSHPprop_fEditedWrap ),
135 SHAPE_TYPE_NUMBER( "fHitTestFill", DSHPprop_fHitTestFill ),
136 SHAPE_TYPE_NUMBER( "fHitTestLine", DSHPprop_fHitTestLine ),
137 SHAPE_TYPE_NUMBER( "fInitiator", DSHPprop_fInitiator ),
138 SHAPE_TYPE_NUMBER( "fNoFillHitTest", DSHPprop_fNoFillHitTest ),
139 SHAPE_TYPE_NUMBER( "fNoHitTestPicture", DSHPprop_fNoHitTestPicture ),
140 SHAPE_TYPE_NUMBER( "fNoLineDrawDash", DSHPprop_fNoLineDrawDash ),
141 SHAPE_TYPE_NUMBER( "fOleIcon", DSHPprop_fOleIcon ),
142 SHAPE_TYPE_NUMBER( "fOnDblClickNotify", DSHPprop_fOnDblClickNotify ),
143 SHAPE_TYPE_NUMBER( "fOneD", DSHPprop_fOneD ),
144 SHAPE_TYPE_NUMBER( "fPreferRelativeSize", DSHPprop_fPreferRelativeSize ),
145 SHAPE_TYPE_NUMBER( "fPrint", DSHPprop_fPrint ),
146
147 /* ? */
148 SHAPE_TYPE_NUMBER( "fPseudoInline", DSHPprop_fPseudoInline ),
149
150 /********************************************/
151 /* Text Box. */
152 /********************************************/
153 SHAPE_TXBOX_NUMBER( "dxTextLeft", DSHPprop_dxTextLeft ),
154 SHAPE_TXBOX_NUMBER( "dyTextTop", DSHPprop_dyTextTop ),
155 SHAPE_TXBOX_NUMBER( "dxTextRight", DSHPprop_dxTextRight ),
156 SHAPE_TXBOX_NUMBER( "dyTextBottom", DSHPprop_dyTextBottom ),
157 SHAPE_TXBOX_NUMBER( "scaleText", DSHPprop_scaleText ),
158 SHAPE_TXBOX_NUMBER( "lTxid", DSHPprop_lTxid ),
159 SHAPE_TXBOX_NUMBER( "WrapText", DSHPprop_WrapText ),
160 SHAPE_TXBOX_NUMBER( "anchorText", DSHPprop_anchorText ),
161 SHAPE_TXBOX_NUMBER( "txflTextFlow", DSHPprop_txflTextFlow ),
162 SHAPE_TXBOX_NUMBER( "cdirFont", DSHPprop_cdirFont ),
163 SHAPE_TXBOX_NUMBER( "fAutoTextMargin", DSHPprop_fAutoTextMargin ),
164 SHAPE_TXBOX_NUMBER( "fRotateText", DSHPprop_fRotateText ),
165 SHAPE_TXBOX_NUMBER( "fSelectText", DSHPprop_fSelectText ),
166 SHAPE_TXBOX_NUMBER( "fFitShapeToText", DSHPprop_fFitShapeToText ),
167 SHAPE_TXBOX_NUMBER( "fFitTextToShape", DSHPprop_fFitTextToShape ),
168
169 /********************************************/
170 /* */
171 /* Line. */
172 /* 1) Deal with faulty documents. */
173 /* */
174 /********************************************/
175 SHAPE_LINE_NUMBER( "lineType", DSHPprop_lineType ),
176
177 SHAPE_LINE_NUMBER( "lineFillBlipFlags", DSHPprop_lineFillBlipFlags ),
178
179 SHAPE_LINE_NUMBER( "lineFillWidth", DSHPprop_lineFillWidth ),
180 SHAPE_LINE_NUMBER( "lineFillHeight", DSHPprop_lineFillHeight ),
181 SHAPE_LINE_NUMBER( "lineWidth", DSHPprop_lineWidth ),
182
183 SHAPE_LINE_NUMBER( "lineStyle", DSHPprop_lineStyle ),
184 SHAPE_LINE_NUMBER( "lineDashing", DSHPprop_lineDashing ),
185 SHAPE_LINE_NUMBER( "lineStartArrowhead", DSHPprop_lineStartArrowhead ),
186 SHAPE_LINE_NUMBER( "lineEndArrowhead", DSHPprop_lineEndArrowhead ),
187 SHAPE_LINE_NUMBER( "lineStartArrowWidth", DSHPprop_lineStartArrowWidth ),
188 SHAPE_LINE_NUMBER( "lineStartArrowLength", DSHPprop_lineStartArrowLength ),
189 SHAPE_LINE_NUMBER( "lineEndArrowWidth", DSHPprop_lineEndArrowWidth ),
190 SHAPE_LINE_NUMBER( "lineEndArrowLength", DSHPprop_lineEndArrowLength ),
191 SHAPE_LINE_NUMBER( "lineEndCapStyle", DSHPprop_lineEndCapStyle ),
192 SHAPE_LINE_NUMBER( "lineFillDztype", DSHPprop_lineFillDztype ),
193 SHAPE_LINE_NUMBER( "lineJoinStyle", DSHPprop_lineJoinStyle ),
194
195 SHAPE_LINE_NUMBER( "lineMiterLimit", DSHPprop_lineMiterLimit ),
196
197 SHAPE_LINE_NUMBER( "fLine", DSHPprop_fLine ),
198 SHAPE_LINE_NUMBER( "fline", DSHPprop_fLine ), /* 1 */
199 SHAPE_LINE_NUMBER( "fLineOK", DSHPprop_fLineOK ),
200
201 SHAPE_LINE_NUMBER( "fLineUseShapeAnchor", DSHPprop_fLineUseShapeAnchor ),
202 SHAPE_LINE_NUMBER( "fColumnLineOK", DSHPprop_fColumnLineOK ),
203 SHAPE_LINE_NUMBER( "fColumnLine", DSHPprop_fColumnLine ),
204 SHAPE_LINE_NUMBER( "fLeftLine", DSHPprop_fLeftLine ),
205 SHAPE_LINE_NUMBER( "fTopLine", DSHPprop_fTopLine ),
206 SHAPE_LINE_NUMBER( "fRightLine", DSHPprop_fRightLine ),
207 SHAPE_LINE_NUMBER( "fBottomLine", DSHPprop_fBottomLine ),
208
209 SHAPE_LINE_NUMBER( "fColumnHitTestLine", DSHPprop_fColumnHitTestLine ),
210 SHAPE_LINE_NUMBER( "fLeftHitTestLine", DSHPprop_fLeftHitTestLine ),
211 SHAPE_LINE_NUMBER( "fTopHitTestLine", DSHPprop_fTopHitTestLine ),
212 SHAPE_LINE_NUMBER( "fRightHitTestLine", DSHPprop_fRightHitTestLine ),
213 SHAPE_LINE_NUMBER( "fBottomHitTestLine", DSHPprop_fBottomHitTestLine ),
214
215 SHAPE_LINE_NUMBER( "lineFillShape", DSHPprop_lineFillShape ),
216 SHAPE_LINE_NUMBER( "lineColumnFillShape", DSHPprop_lineColumnFillShape ),
217 SHAPE_LINE_NUMBER( "lineLeftFillShape", DSHPprop_lineLeftFillShape ),
218 SHAPE_LINE_NUMBER( "lineTopFillShape", DSHPprop_lineTopFillShape ),
219 SHAPE_LINE_NUMBER( "lineRightFillShape", DSHPprop_lineRightFillShape ),
220 SHAPE_LINE_NUMBER( "lineBottomFillShape", DSHPprop_lineBottomFillShape ),
221
222 SHAPE_LINE_NUMBER( "fInsetPen", DSHPprop_fInsetPen ),
223 SHAPE_LINE_NUMBER( "fLeftInsetPen", DSHPprop_fLeftInsetPen ),
224 SHAPE_LINE_NUMBER( "fTopInsetPen", DSHPprop_fTopInsetPen ),
225 SHAPE_LINE_NUMBER( "fRightInsetPen", DSHPprop_fRightInsetPen ),
226 SHAPE_LINE_NUMBER( "fBottomInsetPen", DSHPprop_fBottomInsetPen ),
227
228 SHAPE_COLOR( "lineColor", DSHPprop_lineColor ),
229 SHAPE_COLOR( "lineBackColor", DSHPprop_lineBackColor ),
230 SHAPE_COLOR( "lineCrMod", DSHPprop_lineCrMod ),
231
232 /********************************************/
233 /* Lock. */
234 /********************************************/
235 SHAPE_LOCK_NUMBER( "fLockRotation", DSHPprop_fLockRotation ),
236 SHAPE_LOCK_NUMBER( "fLockAspectRatio", DSHPprop_fLockAspectRatio ),
237 SHAPE_LOCK_NUMBER( "fLockAgainstSelect", DSHPprop_fLockAgainstSelect ),
238 SHAPE_LOCK_NUMBER( "fLockCropping", DSHPprop_fLockCropping ),
239 SHAPE_LOCK_NUMBER( "fLockVerticies", DSHPprop_fLockVerticies ),
240 SHAPE_LOCK_NUMBER( "fLockText", DSHPprop_fLockText ),
241 SHAPE_LOCK_NUMBER( "fLockAdjustHandles", DSHPprop_fLockAdjustHandles ),
242 SHAPE_LOCK_NUMBER( "fLockAgainstGrouping", DSHPprop_fLockAgainstGrouping ),
243 SHAPE_LOCK_NUMBER( "fLockShapeType", DSHPprop_fLockShapeType ),
244
245 /*?*/
246 SHAPE_LOCK_NUMBER( "fLockPosition", DSHPprop_fLockPosition ),
247
248 /********************************************/
249 /* Fill. */
250 /********************************************/
251 SHAPE_FILL_NUMBER( "fillType", DSHPprop_fillType ),
252 SHAPE_FILL_NUMBER( "fillOpacity", DSHPprop_fillOpacity ),
253 SHAPE_FILL_NUMBER( "fillBackOpacity", DSHPprop_fillBackOpacity ),
254
255 SHAPE_FILL_NUMBER( "fillblipflags", DSHPprop_fillblipflags ),
256
257 SHAPE_FILL_NUMBER( "fillWidth", DSHPprop_fillWidth ),
258 SHAPE_FILL_NUMBER( "fillHeight", DSHPprop_fillHeight ),
259 SHAPE_FILL_NUMBER( "fillAngle", DSHPprop_fillAngle ),
260 SHAPE_FILL_NUMBER( "fillFocus", DSHPprop_fillFocus ),
261
262 SHAPE_FILL_NUMBER( "fillToLeft", DSHPprop_fillToLeft ),
263 SHAPE_FILL_NUMBER( "fillToTop", DSHPprop_fillToTop ),
264 SHAPE_FILL_NUMBER( "fillToRight", DSHPprop_fillToRight ),
265 SHAPE_FILL_NUMBER( "fillToBottom", DSHPprop_fillToBottom ),
266
267 SHAPE_FILL_NUMBER( "fillOriginX", DSHPprop_fillOriginX ),
268 SHAPE_FILL_NUMBER( "fillOriginY", DSHPprop_fillOriginY ),
269 SHAPE_FILL_NUMBER( "fillShapeOriginX", DSHPprop_fillShapeOriginX ),
270 SHAPE_FILL_NUMBER( "fillShapeOriginY", DSHPprop_fillShapeOriginY ),
271
272 SHAPE_FILL_NUMBER( "fillDztype", DSHPprop_fillDztype ),
273
274 SHAPE_FILL_NUMBER( "fillRectLeft", DSHPprop_fillRectLeft ),
275 SHAPE_FILL_NUMBER( "fillRectTop", DSHPprop_fillRectTop ),
276 SHAPE_FILL_NUMBER( "fillRectRight", DSHPprop_fillRectRight ),
277 SHAPE_FILL_NUMBER( "fillRectBottom", DSHPprop_fillRectBottom ),
278
279 SHAPE_FILL_NUMBER( "fillShadePreset", DSHPprop_fillShadePreset ),
280 SHAPE_FILL_NUMBER( "fillShadeType", DSHPprop_fillShadeType ),
281
282 SHAPE_FILL_NUMBER( "fFilled", DSHPprop_fFilled ),
283 SHAPE_FILL_NUMBER( "fillShape", DSHPprop_fillShape ),
284 SHAPE_FILL_NUMBER( "fillUseRect", DSHPprop_fillUseRect ),
285 SHAPE_FILL_NUMBER( "fFillOK", DSHPprop_fFillOK ),
286 SHAPE_FILL_NUMBER( "fFillShadeShapeOK", DSHPprop_fFillShadeShapeOK ),
287
288 SHAPE_COLOR( "fillColor", DSHPprop_fillColor ),
289 SHAPE_COLOR( "fillBackColor", DSHPprop_fillBackColor ),
290 SHAPE_COLOR( "fillCrMod", DSHPprop_fillCrMod ),
291
292 /************************************/
293 /* Geometry */
294 /************************************/
295
296 SHAPE_GEO_NUMBER( "geoLeft", DSHPprop_geoLeft ),
297 SHAPE_GEO_NUMBER( "geoTop", DSHPprop_geoTop ),
298 SHAPE_GEO_NUMBER( "geoRight", DSHPprop_geoRight ),
299 SHAPE_GEO_NUMBER( "geoBottom", DSHPprop_geoBottom ),
300 SHAPE_GEO_NUMBER( "adjustValue", DSHPprop_adjustValue ),
301 SHAPE_GEO_NUMBER( "adjust2Value", DSHPprop_adjust2Value ),
302 SHAPE_GEO_NUMBER( "adjust3Value", DSHPprop_adjust3Value ),
303 SHAPE_GEO_NUMBER( "adjust4Value", DSHPprop_adjust4Value ),
304 SHAPE_GEO_NUMBER( "adjust5Value", DSHPprop_adjust5Value ),
305 SHAPE_GEO_NUMBER( "adjust6Value", DSHPprop_adjust6Value ),
306 SHAPE_GEO_NUMBER( "adjust7Value", DSHPprop_adjust7Value ),
307 SHAPE_GEO_NUMBER( "adjust8Value", DSHPprop_adjust8Value ),
308 SHAPE_GEO_NUMBER( "adjust9Value", DSHPprop_adjust9Value ),
309 SHAPE_GEO_NUMBER( "adjust10Value", DSHPprop_adjust10Value ),
310
311 /************************************/
312 /* Grouped Shapes. */
313 /************************************/
314
315 SHAPE_GROUP_NUMBER( "relLeft", DSHPprop_relLeft ),
316 SHAPE_GROUP_NUMBER( "relTop", DSHPprop_relTop ),
317 SHAPE_GROUP_NUMBER( "relRight", DSHPprop_relRight ),
318 SHAPE_GROUP_NUMBER( "relBottom", DSHPprop_relBottom ),
319
320 SHAPE_GROUP_NUMBER( "relRotation", DSHPprop_relRotation ),
321 SHAPE_GROUP_NUMBER( "lidRegroup", DSHPprop_lidRegroup ),
322
323 SHAPE_GROUP_NUMBER( "groupLeft", DSHPprop_groupLeft ),
324 SHAPE_GROUP_NUMBER( "groupTop", DSHPprop_groupTop ),
325 SHAPE_GROUP_NUMBER( "groupRight", DSHPprop_groupRight ),
326 SHAPE_GROUP_NUMBER( "groupBottom", DSHPprop_groupBottom ),
327
328 SHAPE_GROUP_NUMBER( "fRelChangePage", DSHPprop_fRelChangePage ),
329 SHAPE_GROUP_NUMBER( "fRelFlipH", DSHPprop_fRelFlipH ),
330 SHAPE_GROUP_NUMBER( "fRelFlipV", DSHPprop_fRelFlipV ),
331
332 /********************************************/
333 /* Shadow. */
334 /********************************************/
335
336 SHAPE_SHADOW_NUMBER( "shadowType", DSHPprop_shadowType ),
337 SHAPE_SHADOW_NUMBER( "shadowOpacity", DSHPprop_shadowOpacity ),
338 SHAPE_SHADOW_NUMBER( "shadowOffsetX", DSHPprop_shadowOffsetX ),
339 SHAPE_SHADOW_NUMBER( "shadowOffsetY", DSHPprop_shadowOffsetY ),
340 SHAPE_SHADOW_NUMBER( "shadowSecondOffsetX", DSHPprop_shadowSecondOffsetX ),
341 SHAPE_SHADOW_NUMBER( "shadowSecondOffsetY", DSHPprop_shadowSecondOffsetY ),
342 SHAPE_SHADOW_NUMBER( "shadowScaleXToX", DSHPprop_shadowScaleXToX ),
343 SHAPE_SHADOW_NUMBER( "shadowScaleYToX", DSHPprop_shadowScaleYToX ),
344 SHAPE_SHADOW_NUMBER( "shadowScaleXToY", DSHPprop_shadowScaleXToY ),
345 SHAPE_SHADOW_NUMBER( "shadowScaleYToY", DSHPprop_shadowScaleYToY ),
346 SHAPE_SHADOW_NUMBER( "shadowPerspectiveX", DSHPprop_shadowPerspectiveX ),
347 SHAPE_SHADOW_NUMBER( "shadowPerspectiveY", DSHPprop_shadowPerspectiveY ),
348 SHAPE_SHADOW_NUMBER( "shadowWeight", DSHPprop_shadowWeight ),
349 SHAPE_SHADOW_NUMBER( "shadowOriginX", DSHPprop_shadowOriginX ),
350 SHAPE_SHADOW_NUMBER( "shadowOriginY", DSHPprop_shadowOriginY ),
351
352 SHAPE_SHADOW_NUMBER( "fShadow", DSHPprop_fShadow ),
353 SHAPE_SHADOW_NUMBER( "fshadowObscured", DSHPprop_fshadowObscured ),
354 SHAPE_SHADOW_NUMBER( "fShadowOK", DSHPprop_fShadowOK ),
355
356 SHAPE_COLOR( "shadowCrMod", DSHPprop_shadowCrMod ),
357 SHAPE_COLOR( "shadowColor", DSHPprop_shadowColor ),
358 SHAPE_COLOR( "shadowHighlight", DSHPprop_shadowHighlight ),
359
360 /********************************************/
361 /* Connectors. */
362 /********************************************/
363
364 SHAPE_CONN_NUMBER( "cxk", DSHPprop_cxk ),
365 SHAPE_CONN_NUMBER( "cxstyle", DSHPprop_cxstyle ),
366
367 /********************************************/
368 /* Various numeric properties. */
369 /********************************************/
370
371 SHAPE_NUMBER( "gtextAlign", DSHPprop_gtextAlign ),
372 SHAPE_NUMBER( "fGtext", DSHPprop_fGtext ),
373 SHAPE_NUMBER( "gtextFVertical", DSHPprop_gtextFVertical ),
374 SHAPE_NUMBER( "gtextFKern", DSHPprop_gtextFKern ),
375 SHAPE_NUMBER( "gtextFTight", DSHPprop_gtextFTight ),
376 SHAPE_NUMBER( "gtextFStretch", DSHPprop_gtextFStretch ),
377 SHAPE_NUMBER( "gtextFShrinkFit", DSHPprop_gtextFShrinkFit ),
378 SHAPE_NUMBER( "gtextFBestFit", DSHPprop_gtextFBestFit ),
379 SHAPE_NUMBER( "gtextFNormalize", DSHPprop_gtextFNormalize ),
380 SHAPE_NUMBER( "gtextFDxMeasure", DSHPprop_gtextFDxMeasure ),
381 SHAPE_NUMBER( "gtextFBold", DSHPprop_gtextFBold ),
382 SHAPE_NUMBER( "gtextFItalic", DSHPprop_gtextFItalic ),
383 SHAPE_NUMBER( "gtextFUnderline", DSHPprop_gtextFUnderline ),
384 SHAPE_NUMBER( "gtextFShadow", DSHPprop_gtextFShadow ),
385 SHAPE_NUMBER( "gtextFSmallcaps", DSHPprop_gtextFSmallcaps ),
386 SHAPE_NUMBER( "gtextFStrikethrough",DSHPprop_gtextFStrikethrough ),
387 SHAPE_NUMBER( "pibFlags", DSHPprop_pibFlags ),
388 SHAPE_NUMBER( "pictureGray", DSHPprop_pictureGray ),
389 SHAPE_NUMBER( "pictureBiLevel", DSHPprop_pictureBiLevel ),
390 SHAPE_NUMBER( "c3DEdgeThickness", DSHPprop_c3DEdgeThickness ),
391 SHAPE_NUMBER( "c3DExtrudeForward", DSHPprop_c3DExtrudeForward ),
392 SHAPE_NUMBER( "c3DExtrudeBackward", DSHPprop_c3DExtrudeBackward ),
393 SHAPE_NUMBER( "f3D", DSHPprop_f3D ),
394 SHAPE_NUMBER( "fc3DMetallic", DSHPprop_fc3DMetallic ),
395 SHAPE_NUMBER( "fc3DUseExtrusionColor", DSHPprop_fc3DUseExtrusionColor ),
396 SHAPE_NUMBER( "fc3DLightFace", DSHPprop_fc3DLightFace ),
397 SHAPE_NUMBER( "c3DRotationAxisX", DSHPprop_c3DRotationAxisX ),
398 SHAPE_NUMBER( "c3DRotationAxisY", DSHPprop_c3DRotationAxisY ),
399 SHAPE_NUMBER( "c3DRotationAxisZ", DSHPprop_c3DRotationAxisZ ),
400 SHAPE_NUMBER( "fC3DRotationCenterAut", DSHPprop_fC3DRotationCenterAut ),
401 SHAPE_NUMBER( "c3DRotationCenterZ", DSHPprop_c3DRotationCenterZ ),
402 SHAPE_NUMBER( "c3DXViewpoint", DSHPprop_c3DXViewpoint ),
403 SHAPE_NUMBER( "c3DYViewpoint", DSHPprop_c3DYViewpoint ),
404 SHAPE_NUMBER( "c3DZViewpoint", DSHPprop_c3DZViewpoint ),
405 SHAPE_NUMBER( "c3DKeyX", DSHPprop_c3DKeyX ),
406 SHAPE_NUMBER( "c3DKeyY", DSHPprop_c3DKeyY ),
407 SHAPE_NUMBER( "c3DKeyZ", DSHPprop_c3DKeyZ ),
408 SHAPE_NUMBER( "c3DFillX", DSHPprop_c3DFillX ),
409 SHAPE_NUMBER( "c3DFillY", DSHPprop_c3DFillY ),
410 SHAPE_NUMBER( "c3DFillZ", DSHPprop_c3DFillZ ),
411 SHAPE_NUMBER( "fc3DParallel", DSHPprop_fc3DParallel ),
412 SHAPE_NUMBER( "fc3DKeyHarsh", DSHPprop_fc3DKeyHarsh ),
413 SHAPE_NUMBER( "fc3DFillHarsh", DSHPprop_fc3DFillHarsh ),
414 SHAPE_NUMBER( "fc3DConstrainRotation", DSHPprop_fc3DConstrainRotation ),
415 SHAPE_NUMBER( "fc3DRotationCenterAuto", DSHPprop_fc3DRotationCenterAuto ),
416 SHAPE_NUMBER( "spcot", DSHPprop_spcot ),
417 SHAPE_NUMBER( "dxyCalloutGap", DSHPprop_dxyCalloutGap ),
418 SHAPE_NUMBER( "spcoa", DSHPprop_spcoa ),
419 SHAPE_NUMBER( "spcod", DSHPprop_spcod ),
420 SHAPE_NUMBER( "dxyCalloutDropSpecified", DSHPprop_dxyCalloutDropSpecified ),
421 SHAPE_NUMBER( "dxyCalloutLengthSpecified", DSHPprop_dxyCalloutLengthSpecified ),
422 SHAPE_NUMBER( "fCallout", DSHPprop_fCallout ),
423 SHAPE_NUMBER( "fCalloutAccentBar", DSHPprop_fCalloutAccentBar ),
424 SHAPE_NUMBER( "fCalloutTextBorder", DSHPprop_fCalloutTextBorder ),
425 SHAPE_NUMBER( "fCalloutDropAuto", DSHPprop_fCalloutDropAuto ),
426 SHAPE_NUMBER( "fCalloutLengthSpecified", DSHPprop_fCalloutLengthSpecified ),
427 SHAPE_NUMBER( "pictureId", DSHPprop_pictureId ),
428 SHAPE_NUMBER( "pictureActive", DSHPprop_pictureActive ),
429 SHAPE_NUMBER( "pictureContrast", DSHPprop_pictureContrast ),
430 SHAPE_NUMBER( "pictureBrightness", DSHPprop_pictureBrightness ),
431 SHAPE_NUMBER( "pictureDblCrMod", DSHPprop_pictureDblCrMod ),
432 SHAPE_NUMBER( "pictureFillCrMod", DSHPprop_pictureFillCrMod ),
433 SHAPE_NUMBER( "pictureLineCrMod", DSHPprop_pictureLineCrMod ),
434 SHAPE_NUMBER( "fCalloutMinusX", DSHPprop_fCalloutMinusX ),
435 SHAPE_NUMBER( "fCalloutMinusY", DSHPprop_fCalloutMinusY ),
436 SHAPE_NUMBER( "shapePath", DSHPprop_shapePath ),
437 SHAPE_NUMBER( "lineOpacity", DSHPprop_lineOpacity ),
438 SHAPE_NUMBER( "cropFromLeft", DSHPprop_cropFromLeft ),
439 SHAPE_NUMBER( "cropFromRight", DSHPprop_cropFromRight ),
440 SHAPE_NUMBER( "cropFromTop", DSHPprop_cropFromTop ),
441 SHAPE_NUMBER( "cropFromBottom", DSHPprop_cropFromBottom ),
442 SHAPE_NUMBER( "bWMode", DSHPprop_bWMode ),
443 SHAPE_NUMBER( "f3DOK", DSHPprop_f3DOK ),
444 SHAPE_NUMBER( "fPreferRelativeResize", DSHPprop_fPreferRelativeResize ),
445 SHAPE_NUMBER( "fRecolorFillAsPicture", DSHPprop_fRecolorFillAsPicture ),
446 SHAPE_NUMBER( "dgmt", DSHPprop_dgmt ),
447 SHAPE_NUMBER( "ccol", DSHPprop_ccol ),
448 SHAPE_NUMBER( "dzColMargin", DSHPprop_dzColMargin ),
449
450 SHAPE_NUMBER( "fScriptAnchor", DSHPprop_fScriptAnchor ),
451 SHAPE_NUMBER( "fFakeMaster", DSHPprop_fFakeMaster ),
452 SHAPE_NUMBER( "fCameFromImgDummy", DSHPprop_fCameFromImgDummy ),
453 SHAPE_NUMBER( "c3DAmbientIntensity", DSHPprop_c3DAmbientIntensity ),
454 SHAPE_NUMBER( "c3DDiffuseAmt", DSHPprop_c3DDiffuseAmt ),
455 SHAPE_NUMBER( "c3DExtrudePlane", DSHPprop_c3DExtrudePlane ),
456 SHAPE_NUMBER( "c3DFillIntensity", DSHPprop_c3DFillIntensity ),
457 SHAPE_NUMBER( "c3DKeyIntensity", DSHPprop_c3DKeyIntensity ),
458 SHAPE_NUMBER( "c3DOriginX", DSHPprop_c3DOriginX ),
459 SHAPE_NUMBER( "c3DOriginY", DSHPprop_c3DOriginY ),
460 SHAPE_NUMBER( "c3DRenderMode", DSHPprop_c3DRenderMode ),
461 SHAPE_NUMBER( "c3DRotationAngle", DSHPprop_c3DRotationAngle ),
462 SHAPE_NUMBER( "c3DRotationCenterX", DSHPprop_c3DRotationCenterX ),
463 SHAPE_NUMBER( "c3DRotationCenterY", DSHPprop_c3DRotationCenterY ),
464 SHAPE_NUMBER( "c3DShininess", DSHPprop_c3DShininess ),
465 SHAPE_NUMBER( "c3DSkewAmount", DSHPprop_c3DSkewAmount ),
466 SHAPE_NUMBER( "c3DSkewAngle", DSHPprop_c3DSkewAngle ),
467 SHAPE_NUMBER( "c3DSpecularAmt", DSHPprop_c3DSpecularAmt ),
468 SHAPE_NUMBER( "c3DTolerance", DSHPprop_c3DTolerance ),
469 SHAPE_NUMBER( "c3DXRotationAngle", DSHPprop_c3DXRotationAngle ),
470 SHAPE_NUMBER( "c3DYRotationAngle", DSHPprop_c3DYRotationAngle ),
471 SHAPE_NUMBER( "c3DExtrusionColorExt", DSHPprop_c3DExtrusionColorExt ),
472 SHAPE_NUMBER( "c3DExtrusionColorExtCMY", DSHPprop_c3DExtrusionColorExtCMY ),
473 SHAPE_NUMBER( "c3DExtrusionColorExtK", DSHPprop_c3DExtrusionColorExtK ),
474 SHAPE_NUMBER( "c3DExtrusionColorExtMod", DSHPprop_c3DExtrusionColorExtMod ),
475 SHAPE_NUMBER( "fillColorExt", DSHPprop_fillColorExt ),
476 SHAPE_NUMBER( "fillColorExtCMY", DSHPprop_fillColorExtCMY ),
477 SHAPE_NUMBER( "fillColorExtK", DSHPprop_fillColorExtK ),
478 SHAPE_NUMBER( "fillColorExtMod", DSHPprop_fillColorExtMod ),
479 SHAPE_NUMBER( "lineBackColorExt", DSHPprop_lineBackColorExt ),
480 SHAPE_NUMBER( "lineBackColorExtCMY", DSHPprop_lineBackColorExtCMY ),
481 SHAPE_NUMBER( "lineBackColorExtK", DSHPprop_lineBackColorExtK ),
482 SHAPE_NUMBER( "lineBackColorExtMod", DSHPprop_lineBackColorExtMod ),
483 SHAPE_NUMBER( "lineBottomBackColor", DSHPprop_lineBottomBackColor ),
484 SHAPE_NUMBER( "lineBottomBackColorExt", DSHPprop_lineBottomBackColorExt ),
485 SHAPE_NUMBER( "lineBottomBackColorExtCMY", DSHPprop_lineBottomBackColorExtCMY ),
486 SHAPE_NUMBER( "lineBottomBackColorExtK", DSHPprop_lineBottomBackColorExtK ),
487 SHAPE_NUMBER( "lineBottomBackColorExtMod", DSHPprop_lineBottomBackColorExtMod ),
488 SHAPE_NUMBER( "lineBottomColor", DSHPprop_lineBottomColor ),
489 SHAPE_NUMBER( "lineBottomColorExt", DSHPprop_lineBottomColorExt ),
490 SHAPE_NUMBER( "lineBottomColorExtCMY", DSHPprop_lineBottomColorExtCMY ),
491 SHAPE_NUMBER( "lineBottomColorExtK", DSHPprop_lineBottomColorExtK ),
492 SHAPE_NUMBER( "lineBottomColorExtMod", DSHPprop_lineBottomColorExtMod ),
493 SHAPE_NUMBER( "lineBottomCrMod", DSHPprop_lineBottomCrMod ),
494 SHAPE_NUMBER( "lineBottomDashing", DSHPprop_lineBottomDashing ),
495 SHAPE_NUMBER( "lineBottomEndArrowLength", DSHPprop_lineBottomEndArrowLength ),
496 SHAPE_NUMBER( "lineBottomEndArrowWidth", DSHPprop_lineBottomEndArrowWidth ),
497 SHAPE_NUMBER( "lineBottomEndArrowhead", DSHPprop_lineBottomEndArrowhead ),
498 SHAPE_NUMBER( "lineBottomEndCapStyle", DSHPprop_lineBottomEndCapStyle ),
499 SHAPE_NUMBER( "lineBottomFillBlipFlags", DSHPprop_lineBottomFillBlipFlags ),
500 SHAPE_NUMBER( "lineBottomFillDztype", DSHPprop_lineBottomFillDztype ),
501 SHAPE_NUMBER( "lineBottomFillHeight", DSHPprop_lineBottomFillHeight ),
502 SHAPE_NUMBER( "lineBottomFillWidth", DSHPprop_lineBottomFillWidth ),
503 SHAPE_NUMBER( "lineBottomMiterLimit", DSHPprop_lineBottomMiterLimit ),
504 SHAPE_NUMBER( "lineBottomOpacity", DSHPprop_lineBottomOpacity ),
505 SHAPE_NUMBER( "lineBottomStartArrowLength", DSHPprop_lineBottomStartArrowLength ),
506 SHAPE_NUMBER( "lineBottomStartArrowWidth", DSHPprop_lineBottomStartArrowWidth ),
507 SHAPE_NUMBER( "lineBottomStartArrowhead", DSHPprop_lineBottomStartArrowhead ),
508 SHAPE_NUMBER( "lineBottomStyle", DSHPprop_lineBottomStyle ),
509 SHAPE_NUMBER( "lineBottomType", DSHPprop_lineBottomType ),
510 SHAPE_NUMBER( "lineBottomWidth", DSHPprop_lineBottomWidth ),
511 SHAPE_NUMBER( "lineColorExt", DSHPprop_lineColorExt ),
512 SHAPE_NUMBER( "lineColorExtCMY", DSHPprop_lineColorExtCMY ),
513 SHAPE_NUMBER( "lineColorExtK", DSHPprop_lineColorExtK ),
514 SHAPE_NUMBER( "lineColorExtMod", DSHPprop_lineColorExtMod ),
515 SHAPE_NUMBER( "lineColumnBackColor", DSHPprop_lineColumnBackColor ),
516 SHAPE_NUMBER( "lineColumnBackColorExt", DSHPprop_lineColumnBackColorExt ),
517 SHAPE_NUMBER( "lineColumnBackColorExtCMY", DSHPprop_lineColumnBackColorExtCMY ),
518 SHAPE_NUMBER( "lineColumnBackColorExtK", DSHPprop_lineColumnBackColorExtK ),
519 SHAPE_NUMBER( "lineColumnBackColorExtMod", DSHPprop_lineColumnBackColorExtMod ),
520 SHAPE_NUMBER( "lineColumnColor", DSHPprop_lineColumnColor ),
521 SHAPE_NUMBER( "lineColumnColorExt", DSHPprop_lineColumnColorExt ),
522 SHAPE_NUMBER( "lineColumnColorExtCMY", DSHPprop_lineColumnColorExtCMY ),
523 SHAPE_NUMBER( "lineColumnColorExtK", DSHPprop_lineColumnColorExtK ),
524 SHAPE_NUMBER( "lineColumnColorExtMod", DSHPprop_lineColumnColorExtMod ),
525 SHAPE_NUMBER( "lineColumnCrMod", DSHPprop_lineColumnCrMod ),
526 SHAPE_NUMBER( "lineColumnDashing", DSHPprop_lineColumnDashing ),
527 SHAPE_NUMBER( "lineColumnEndArrowLength", DSHPprop_lineColumnEndArrowLength ),
528 SHAPE_NUMBER( "lineColumnEndArrowWidth", DSHPprop_lineColumnEndArrowWidth ),
529 SHAPE_NUMBER( "lineColumnEndArrowhead", DSHPprop_lineColumnEndArrowhead ),
530 SHAPE_NUMBER( "lineColumnEndCapStyle", DSHPprop_lineColumnEndCapStyle ),
531 SHAPE_NUMBER( "lineColumnFillBlipFlags", DSHPprop_lineColumnFillBlipFlags ),
532 SHAPE_NUMBER( "lineColumnFillDztype", DSHPprop_lineColumnFillDztype ),
533 SHAPE_NUMBER( "lineColumnFillHeight", DSHPprop_lineColumnFillHeight ),
534 SHAPE_NUMBER( "lineColumnFillWidth", DSHPprop_lineColumnFillWidth ),
535 SHAPE_NUMBER( "lineColumnMiterLimit", DSHPprop_lineColumnMiterLimit ),
536 SHAPE_NUMBER( "lineColumnOpacity", DSHPprop_lineColumnOpacity ),
537 SHAPE_NUMBER( "lineColumnStartArrowLength", DSHPprop_lineColumnStartArrowLength ),
538 SHAPE_NUMBER( "lineColumnStartArrowWidth", DSHPprop_lineColumnStartArrowWidth ),
539 SHAPE_NUMBER( "lineColumnStartArrowhead", DSHPprop_lineColumnStartArrowhead ),
540 SHAPE_NUMBER( "lineColumnStyle", DSHPprop_lineColumnStyle ),
541 SHAPE_NUMBER( "lineColumnType", DSHPprop_lineColumnType ),
542 SHAPE_NUMBER( "lineColumnWidth", DSHPprop_lineColumnWidth ),
543 SHAPE_NUMBER( "lineLeftBackColor", DSHPprop_lineLeftBackColor ),
544 SHAPE_NUMBER( "lineLeftBackColorExt", DSHPprop_lineLeftBackColorExt ),
545 SHAPE_NUMBER( "lineLeftBackColorExtCMY", DSHPprop_lineLeftBackColorExtCMY ),
546 SHAPE_NUMBER( "lineLeftBackColorExtK", DSHPprop_lineLeftBackColorExtK ),
547 SHAPE_NUMBER( "lineLeftBackColorExtMod", DSHPprop_lineLeftBackColorExtMod ),
548 SHAPE_NUMBER( "lineLeftColor", DSHPprop_lineLeftColor ),
549 SHAPE_NUMBER( "lineLeftColorExt", DSHPprop_lineLeftColorExt ),
550 SHAPE_NUMBER( "lineLeftColorExtCMY", DSHPprop_lineLeftColorExtCMY ),
551 SHAPE_NUMBER( "lineLeftColorExtK", DSHPprop_lineLeftColorExtK ),
552 SHAPE_NUMBER( "lineLeftColorExtMod", DSHPprop_lineLeftColorExtMod ),
553 SHAPE_NUMBER( "lineLeftCrMod", DSHPprop_lineLeftCrMod ),
554 SHAPE_NUMBER( "lineLeftDashing", DSHPprop_lineLeftDashing ),
555 SHAPE_NUMBER( "lineLeftEndArrowLength", DSHPprop_lineLeftEndArrowLength ),
556 SHAPE_NUMBER( "lineLeftEndArrowWidth", DSHPprop_lineLeftEndArrowWidth ),
557 SHAPE_NUMBER( "lineLeftEndArrowhead", DSHPprop_lineLeftEndArrowhead ),
558 SHAPE_NUMBER( "lineLeftEndCapStyle", DSHPprop_lineLeftEndCapStyle ),
559 SHAPE_NUMBER( "lineLeftFillBlipFlags", DSHPprop_lineLeftFillBlipFlags ),
560 SHAPE_NUMBER( "lineLeftFillDztype", DSHPprop_lineLeftFillDztype ),
561 SHAPE_NUMBER( "lineLeftFillHeight", DSHPprop_lineLeftFillHeight ),
562 SHAPE_NUMBER( "lineLeftFillWidth", DSHPprop_lineLeftFillWidth ),
563 SHAPE_NUMBER( "lineLeftMiterLimit", DSHPprop_lineLeftMiterLimit ),
564 SHAPE_NUMBER( "lineLeftOpacity", DSHPprop_lineLeftOpacity ),
565 SHAPE_NUMBER( "lineLeftStartArrowLength", DSHPprop_lineLeftStartArrowLength ),
566 SHAPE_NUMBER( "lineLeftStartArrowWidth", DSHPprop_lineLeftStartArrowWidth ),
567 SHAPE_NUMBER( "lineLeftStartArrowhead", DSHPprop_lineLeftStartArrowhead ),
568 SHAPE_NUMBER( "lineLeftStyle", DSHPprop_lineLeftStyle ),
569 SHAPE_NUMBER( "lineLeftType", DSHPprop_lineLeftType ),
570 SHAPE_NUMBER( "lineLeftWidth", DSHPprop_lineLeftWidth ),
571 SHAPE_NUMBER( "lineRightBackColor", DSHPprop_lineRightBackColor ),
572 SHAPE_NUMBER( "lineRightBackColorExt", DSHPprop_lineRightBackColorExt ),
573 SHAPE_NUMBER( "lineRightBackColorExtCMY", DSHPprop_lineRightBackColorExtCMY ),
574 SHAPE_NUMBER( "lineRightBackColorExtK", DSHPprop_lineRightBackColorExtK ),
575 SHAPE_NUMBER( "lineRightBackColorExtMod", DSHPprop_lineRightBackColorExtMod ),
576 SHAPE_NUMBER( "lineRightColor", DSHPprop_lineRightColor ),
577 SHAPE_NUMBER( "lineRightColorExt", DSHPprop_lineRightColorExt ),
578 SHAPE_NUMBER( "lineRightColorExtCMY", DSHPprop_lineRightColorExtCMY ),
579 SHAPE_NUMBER( "lineRightColorExtK", DSHPprop_lineRightColorExtK ),
580 SHAPE_NUMBER( "lineRightColorExtMod", DSHPprop_lineRightColorExtMod ),
581 SHAPE_NUMBER( "lineRightCrMod", DSHPprop_lineRightCrMod ),
582 SHAPE_NUMBER( "lineRightDashing", DSHPprop_lineRightDashing ),
583 SHAPE_NUMBER( "lineRightEndArrowLength", DSHPprop_lineRightEndArrowLength ),
584 SHAPE_NUMBER( "lineRightEndArrowWidth", DSHPprop_lineRightEndArrowWidth ),
585 SHAPE_NUMBER( "lineRightEndArrowhead", DSHPprop_lineRightEndArrowhead ),
586 SHAPE_NUMBER( "lineRightEndCapStyle", DSHPprop_lineRightEndCapStyle ),
587 SHAPE_NUMBER( "lineRightFillBlipFlags", DSHPprop_lineRightFillBlipFlags ),
588 SHAPE_NUMBER( "lineRightFillDztype", DSHPprop_lineRightFillDztype ),
589 SHAPE_NUMBER( "lineRightFillHeight", DSHPprop_lineRightFillHeight ),
590 SHAPE_NUMBER( "lineRightFillWidth", DSHPprop_lineRightFillWidth ),
591 SHAPE_NUMBER( "lineRightMiterLimit", DSHPprop_lineRightMiterLimit ),
592 SHAPE_NUMBER( "lineRightOpacity", DSHPprop_lineRightOpacity ),
593 SHAPE_NUMBER( "lineRightStartArrowLength", DSHPprop_lineRightStartArrowLength ),
594 SHAPE_NUMBER( "lineRightStartArrowWidth", DSHPprop_lineRightStartArrowWidth ),
595 SHAPE_NUMBER( "lineRightStartArrowhead", DSHPprop_lineRightStartArrowhead ),
596 SHAPE_NUMBER( "lineRightStyle", DSHPprop_lineRightStyle ),
597 SHAPE_NUMBER( "lineRightType", DSHPprop_lineRightType ),
598 SHAPE_NUMBER( "lineRightWidth", DSHPprop_lineRightWidth ),
599 SHAPE_NUMBER( "lineTopBackColor", DSHPprop_lineTopBackColor ),
600 SHAPE_NUMBER( "lineTopBackColorExt", DSHPprop_lineTopBackColorExt ),
601 SHAPE_NUMBER( "lineTopBackColorExtCMY", DSHPprop_lineTopBackColorExtCMY ),
602 SHAPE_NUMBER( "lineTopBackColorExtK", DSHPprop_lineTopBackColorExtK ),
603 SHAPE_NUMBER( "lineTopBackColorExtMod", DSHPprop_lineTopBackColorExtMod ),
604 SHAPE_NUMBER( "lineTopColor", DSHPprop_lineTopColor ),
605 SHAPE_NUMBER( "lineTopColorExt", DSHPprop_lineTopColorExt ),
606 SHAPE_NUMBER( "lineTopColorExtCMY", DSHPprop_lineTopColorExtCMY ),
607 SHAPE_NUMBER( "lineTopColorExtK", DSHPprop_lineTopColorExtK ),
608 SHAPE_NUMBER( "lineTopColorExtMod", DSHPprop_lineTopColorExtMod ),
609 SHAPE_NUMBER( "lineTopCrMod", DSHPprop_lineTopCrMod ),
610 SHAPE_NUMBER( "lineTopDashing", DSHPprop_lineTopDashing ),
611 SHAPE_NUMBER( "lineTopEndArrowLength", DSHPprop_lineTopEndArrowLength ),
612 SHAPE_NUMBER( "lineTopEndArrowWidth", DSHPprop_lineTopEndArrowWidth ),
613 SHAPE_NUMBER( "lineTopEndArrowhead", DSHPprop_lineTopEndArrowhead ),
614 SHAPE_NUMBER( "lineTopEndCapStyle", DSHPprop_lineTopEndCapStyle ),
615 SHAPE_NUMBER( "lineTopFillBlipFlags", DSHPprop_lineTopFillBlipFlags ),
616 SHAPE_NUMBER( "lineTopFillDztype", DSHPprop_lineTopFillDztype ),
617 SHAPE_NUMBER( "lineTopFillHeight", DSHPprop_lineTopFillHeight ),
618 SHAPE_NUMBER( "lineTopFillWidth", DSHPprop_lineTopFillWidth ),
619 SHAPE_NUMBER( "lineTopMiterLimit", DSHPprop_lineTopMiterLimit ),
620 SHAPE_NUMBER( "lineTopOpacity", DSHPprop_lineTopOpacity ),
621 SHAPE_NUMBER( "lineTopStartArrowLength", DSHPprop_lineTopStartArrowLength ),
622 SHAPE_NUMBER( "lineTopStartArrowWidth", DSHPprop_lineTopStartArrowWidth ),
623 SHAPE_NUMBER( "lineTopStartArrowhead", DSHPprop_lineTopStartArrowhead ),
624 SHAPE_NUMBER( "lineTopStyle", DSHPprop_lineTopStyle ),
625 SHAPE_NUMBER( "lineTopType", DSHPprop_lineTopType ),
626 SHAPE_NUMBER( "lineTopWidth", DSHPprop_lineTopWidth ),
627 SHAPE_NUMBER( "shadowColorExt", DSHPprop_shadowColorExt ),
628 SHAPE_NUMBER( "shadowColorExtCMY", DSHPprop_shadowColorExtCMY ),
629 SHAPE_NUMBER( "shadowColorExtK", DSHPprop_shadowColorExtK ),
630 SHAPE_NUMBER( "shadowColorExtMod", DSHPprop_shadowColorExtMod ),
631 SHAPE_NUMBER( "shadowHighlightExt", DSHPprop_shadowHighlightExt ),
632 SHAPE_NUMBER( "shadowHighlightExtCMY", DSHPprop_shadowHighlightExtCMY ),
633 SHAPE_NUMBER( "shadowHighlightExtK", DSHPprop_shadowHighlightExtK ),
634 SHAPE_NUMBER( "shadowHighlightExtMod", DSHPprop_shadowHighlightExtMod ),
635
636 SHAPE_COLOR( "pictureTransparent", DSHPprop_pictureTransparent ),
637 SHAPE_COLOR( "c3DExtrusionColor", DSHPprop_c3DExtrusionColor ),
638 SHAPE_COLOR( "c3DCrMod", DSHPprop_c3DCrMod ),
639
640 SHAPE_NUMBER( "fStandardHR", DSHPprop_fStandardHR ),
641 SHAPE_NUMBER( "fNoshadeHR", DSHPprop_fNoshadeHR ),
642 SHAPE_NUMBER( "fHorizRule", DSHPprop_fHorizRule ),
643 SHAPE_NUMBER( "fUserDrawn", DSHPprop_fUserDrawn ),
644
645 SHAPE_NUMBER( "dhgt", DSHPprop_dhgt ),
646 SHAPE_NUMBER( "sizerelh", DSHPprop_sizerelh ),
647 SHAPE_NUMBER( "sizerelv", DSHPprop_sizerelv ),
648 SHAPE_NUMBER( "pctHoriz", DSHPprop_pctHoriz ),
649
650 /****************************************/
651 /* End. */
652 /****************************************/
653 { (char *)0, 0, 0 }
654 };
655
docRtfMakeShapePropHash(void)656 static int docRtfMakeShapePropHash( void )
657 {
658 int rval= 0;
659 int i;
660
661 const unsigned char ** keyStrings= (const unsigned char **)0;
662 int keyStringCount;
663
664 keyStringCount= sizeof(docRtfShapePropertyWords)/sizeof(RtfControlWord)- 1;
665
666 keyStrings= (const unsigned char **)malloc( keyStringCount* sizeof(const unsigned char *) );
667 if ( ! keyStrings )
668 { LXDEB(keyStringCount,keyStrings); rval= -1; goto ready; }
669
670 for ( i= 0; i < keyStringCount; i++ )
671 {
672 keyStrings[i]=
673 (const unsigned char *)docRtfShapePropertyWords[i].rcwWord;
674 }
675
676 if ( utilJenkinsPerfectHash( keyStrings, keyStringCount,
677 "docRtfShapePropHash.c",
678 "\"docRtfTagHash.h\"",
679 "docRtfShapePropHash",
680 "docRtfShapePropIndex" ) )
681 { LDEB(keyStringCount); rval= -1; }
682
683 ready:
684
685 if ( keyStrings )
686 { free( keyStrings ); }
687
688 return rval;
689 }
690
691 # ifndef BUILD_HASH
692
docRtfCheckShapePropHash(void)693 static int docRtfCheckShapePropHash( void )
694 {
695 int rval= 0;
696 int i;
697
698 int keyStringCount;
699
700 keyStringCount= sizeof(docRtfShapePropertyWords)/sizeof(RtfControlWord)- 1;
701
702 for ( i= 0; i < keyStringCount; i++ )
703 {
704 const unsigned char * tagkey;
705 int taglen;
706 int idx;
707
708 tagkey= (const unsigned char *)docRtfShapePropertyWords[i].rcwWord;
709 taglen= strlen( docRtfShapePropertyWords[i].rcwWord );
710
711 idx= docRtfTagIndex( tagkey, taglen );
712
713 if ( idx != i )
714 {
715 long hash= docRtfTagHash( tagkey, taglen );
716
717 LSLLDEB(i,docRtfShapePropertyWords[i].rcwWord,idx,hash); rval= -1;
718 }
719 }
720
721 return rval;
722 }
723
docRtfFindShapePropertyWord(const char * controlWord)724 const RtfControlWord * docRtfFindShapePropertyWord(
725 const char * controlWord )
726 {
727 const RtfControlWord * contolWords;
728
729 static int checked= 1;
730
731 if ( ! checked )
732 {
733 checked= 1;
734
735 if ( docRtfCheckShapePropHash() )
736 {
737 checked= -1;
738
739 LDEB(1);
740 if ( docRtfMakeShapePropHash() )
741 { LDEB(1); }
742 }
743 }
744
745 if ( checked > 0 )
746 {
747 int idx;
748 int keyStringCount;
749
750 keyStringCount=
751 sizeof(docRtfShapePropertyWords)/sizeof(RtfControlWord)- 1;
752
753 idx= docRtfShapePropIndex( (const unsigned char *)controlWord,
754 strlen( controlWord ) );
755
756 if ( idx >= 0 && idx < keyStringCount )
757 {
758 contolWords= docRtfShapePropertyWords+ idx;
759
760 if ( ! strcmp( controlWord, contolWords->rcwWord ) )
761 { return contolWords; }
762 }
763
764 return (const RtfControlWord *)0;
765 }
766 else{
767 contolWords= docRtfShapePropertyWords;
768
769 while( contolWords->rcwWord )
770 {
771 if ( ! strcmp( contolWords->rcwWord, controlWord ) )
772 { return contolWords; }
773
774 contolWords++;
775 }
776
777 return (const RtfControlWord *)0;
778 }
779 }
780
781 # endif
782
783 # ifdef BUILD_HASH
784
main(int argc,char ** argcv)785 int main( int argc,
786 char ** argcv )
787 {
788 if ( docRtfMakeShapePropHash() )
789 { LDEB(1); return 1; }
790
791 return 0;
792 }
793
794 # endif
795
796