summaryrefslogtreecommitdiffstats
path: root/oox/source/dump/dffdumper.ini
blob: 45b5aecc78d72a72dba5504c7f8c53ef1fbf05cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
#   Licensed to the Apache Software Foundation (ASF) under one or more
#   contributor license agreements. See the NOTICE file distributed
#   with this work for additional information regarding copyright
#   ownership. The ASF licenses this file to you under the Apache
#   License, Version 2.0 (the "License"); you may not use this file
#   except in compliance with the License. You may obtain a copy of
#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
#

# dumper settings ============================================================

# Path to additional configuration data, relative to this file.
include-config-file=dumperbase.ini

# name lists =================================================================

multilist=DFF-RECORD-NAMES
  0xF000=DFFDGGCONTAINER,DFFBSTORECONTAINER,DFFDGCONTAINER,DFFSPGRCONTAINER,DFFSPCONTAINER,DFFSOLVERCONTAINER,DFFDGG,DFFBSE
  0xF008=DFFDG,DFFSPGR,DFFSP,DFFOPT,DFFTEXTBOX,DFFCLIENTTEXTBOX,DFFANCHOR,DFFCHILDANCHOR
  0xF010=DFFCLIENTANCHOR,DFFCLIENTDATA,DFFCONNECTORRULE,DFFALIGNRULE,DFFARCRULE,DFFCLIENTRULE,DFFCLASSID,DFFCALLOUTRULE
  # 0xF018-0xF117 reserved for pictures
  0xF118=DFFREGROUPITEM,DFFSELECTION,DFFCOLORMRU,,,DFFDELETEDPSPL,DFFSPLITMENUCOLORS,DFFOLEOBJECT
  0xF120=DFFCOLORSCHEME,DFFOPT2,DFFOPT3
end

combilist=DFF-RECORD-INST
  0x000F=uint8,hex,version,DFF-RECORD-VERSION
  0xFFF0=uint16,dec,instance
end

constlist=DFF-RECORD-VERSION
  default=
  15=container
end

combilist=DFF-SIMPLE-COLOR
  0x000000FF=uint8,dec,red,,filter=0x10000000~0x00000000
  0x0000FF00=uint8,dec,green,,filter=0x10000000~0x00000000
  0x00FF0000=uint8,dec,blue,,filter=0x10000000~0x00000000
  0x000000FF=uint8,dec,scheme-idx,,filter=0x10000000~0x10000000
  0x10000000=!rgb!scheme
  ignore=0x08000000
end

combilist=DFF-COLOR
  0x0000FFFF=uint16,dec,palette-idx,,filter=0xFF000000~0x01000000
  0x000000FF=uint8,dec,red,,filter=0xF9000000~0x00000000
  0x0000FF00=uint8,dec,green,,filter=0xF9000000~0x00000000
  0x00FF0000=uint8,dec,blue,,filter=0xF9000000~0x00000000
  0x000000FF=uint8,dec,scheme-idx,,filter=0xFF000000~0x08000000
  0x0000FFFF=uint16,dec,system-idx,DFF-SYSTEMCOLOR,filter=0xFF000000~0x10000000
  0x00FF0000=uint16,dec,mod-by,,filter=0xFF000000~0x10000000
  0x01000000=palette-idx
  0x02000000=palette-rgb
  0x04000000=system-rgb
  0x08000000=scheme-idx
  0x10000000=system-idx
end

combilist=DFF-SYSTEMCOLOR
  0x00FF=uint8,dec,color-id,DFF-SYSTEMCOLOR-ID
  0x0F00=uint8,dec,mod,DFF-SYSTEMCOLOR-MOD
  0x2000=invert-after
  0x4000=half-invert-after
  0x8000=grey-before
end

constlist=DFF-SYSTEMCOLOR-ID
  include=SYSTEMCOLOR
  0xF0=shape-fill
  0xF1=shape-line-or-fill
  0xF2=shape-line
  0xF3=shape-shadow
  0xF4=current-or-last-used
  0xF5=shape-fill-back
  0xF6=shape-line-back
  0xF7=shape-fill-or-line
end

shortlist=DFF-SYSTEMCOLOR-MOD,0,none,darken-by,lighten-by,add-grey-by,sub-grey-by,reverse-sub-grey-by,monochrome-by

combilist=DFF-COLORMOD
  0x00000300=uint8,dec,type,DFF-COLORMOD-TYPE
  0x00FF0000=uint8,dec,level
  ignore=0x200000FF
end

shortlist=DFF-COLORMOD-TYPE,0,none,shade,tint

unitconverter=DFF-OPACITY,/655.36,%
unitconverter=DFF-DEGREES,/65536,°

# DFFBSE ---------------------------------------------------------------------

combilist=DFFBSE-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,blip-type,DFFBSE-TYPE
end

multilist=DFFBSE-TYPE
  0=error,unknown,emf,wmf,pict,jpeg,png,dib
  17=tiff,cmyk-jpeg
end

shortlist=DFFBSE-USAGE,0,default,texture

# DFFBSTORECONTAINER ---------------------------------------------------------

combilist=DFFBSTORECONT-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,blip-count
end

# DFFDG ----------------------------------------------------------------------

combilist=DFFDG-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,drawing-id
end

# DFFOPT ---------------------------------------------------------------------

combilist=DFFOPT-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,property-count
end

combilist=DFFOPT-PROPERTY-ID
  0x3FFF=uint16,dec,id,DFFOPT-PROPERTY-NAMES
  0x4000=picture
  0x8000=complex
end

multilist=DFFOPT-PROPERTY-NAMES
  # 0x0000-0x003F: transformation
  0x0000=transf-left,transf-top,transf-right,transf-bottom,transf-rotation,transf-page
  0x003F=transf-flags
  # 0x0040-0x007F: protection
  0x007F=prot-flags
  # 0x0080-0x00BF: text
  0x0080=text-id,text-left,text-top,text-right,text-bottom,text-wrap-mode,text-scale,text-anchor-mode
  0x0088=text-flow,text-font-orient,text-next-shape,text-bidi
  0x00BF=text-flags
  # 0x00C0-0x00FF: text geometry
  0x00C0=textgeo-unicode-string,textgeo-rtf-string,textgeo-curve-align,textgeo-def-size,textgeo-spacing,textgeo-font,textgeo-css-font
  0x00FF=textgeo-flags
  # 0x0100-0x013F: picture (BLIP)
  0x0100=blip-crop-top,blip-crop-bottom,blip-crop-left,blip-crop-right,blip-id,blip-name,blip-opt,blip-transparency-color
  0x0108=blip-contrast,blip-brightness,blip-gamma,blip-ole-id,blip-double-cr-mod,blip-fill-cr-mod,blip-line-cr-mod,blip-print-id
  0x0110=blip-print-name,blip-print-opt,blip-movie,,,blip-transparency-color-ext,reserved,blip-transparency-color-ext-mod
  0x0118=reserved,reserved,blip-recolor,blip-recolor-ext,reserved,blip-recolor-ext-mod,reserved,reserved
  0x013F=blip-flags
  # 0x0140-0x017F: shape geometry
  0x0140=geo-left,geo-top,geo-right,geo-bottom,geo-shape-path,geo-vertices,geo-segment-info,geo-adjust-1
  0x0148=geo-adjust-2,geo-adjust-3,geo-adjust-4,geo-adjust-5,geo-adjust-6,geo-adjust-7,geo-adjust-8,
  0x0150=,geo-connect-sites,geo-connect-sites-dir,geo-stretch-x,geo-stretch-y,geo-handles,geo-guides,geo-inscribe
  0x0158=geo-connect-points
  0x017F=geo-flags
  # 0x0180-0x01BF: fill style
  0x0180=fill-type,fill-color,fill-opacity,fill-back-color,fill-back-opacity,fill-cr-mod,fill-blip,fill-blip-name
  0x0188=fill-blip-opt,fill-width,fill-height,fill-angle,fill-focus,fill-to-left,fill-to-top,fill-to-right
  0x0190=fill-to-bottom,fill-rect-left,fill-rect-top,fill-rect-right,fill-rect-bottom,fill-dz-type,fill-shade-preset,fill-shade-colors
  0x0198=fill-origin-x,fill-origin-y,fill-shape-origin-x,fill-shape-origin-y,fill-shade-type,,fill-color-ext,reserved
  0x01A0=fill-color-ext-mod,reserved,fill-back-color-ext,reserved,fill-back-color-ext-mod,reserved,reserved,reserved
  0x01BF=fill-flags
  # 0x01C0-0x01FF: line style
  0x01C0=line-color,line-opacity,line-back-color,line-cr-mod,line-type,line-fill-blip,line-fill-blip-name,line-fill-blip-opt
  0x01C8=line-fill-width,line-fill-height,line-fill-dz-type,line-width,line-miter-limit,line-style,line-dash,line-dash-style
  0x01D0=line-start-arrow-head,line-end-arrow-head,line-start-arrow-width,line-start-arrow-length,line-end-arrow-width,line-end-arrow-length,line-join-style,line-end-cap-style
  0x01D8=,line-color-ext,reserved,line-color-ext-mod,reserved,line-back-color-ext,reserved,line-back-color-ext-mod
  0x01E0=reserved,reserved,reserved
  0x01FF=line-flags
  # 0x0200-0x023F: shadow style
  0x0200=shadow-type,shadow-color,shadow-highlight,shadow-cr-mod,shadow-opacity,shadow-offset-x,shadow-offset-y,shadow-2nd-offset-x
  0x0208=shadow-2nd-offset-y,,,,,,,
  0x0210=shadow-origin-x,shadow-origin-y,shadow-color-ext,reserved,shadow-color-ext-mod,reserved,shadow-highlight-ext,reserved
  0x0218=shadow-highlight-ext-mod,reserved,reserved,reserved
  0x023F=shadow-flags
  # 0x0240-0x027F: perspective
  0x0240=persp-type,persp-offset-x,persp-offsety,persp-scale-x-to-x,persp-scale-y-to-x,persp-scale-x-to-y,persp-scale-y-to-y,persp-persp-x
  0x0248=persp-persp-y,persp-weight,persp-origin-x,persp-origin-y
  0x027F=persp-flags
  # 0x0280-0x02BF: 3d object
  0x0280=3dobj-specular-amt,3dobj-diffuse-amt,3dobj-shininess,3dobj-edge-thickness,3dobj-extrude-forward,3dobj-extrude-backward,3dobj-extrude-plane,3dobj-extrusion-color
  0x0288=3dobj-cr-mod,3dobj-extrusion-color-ext,reserved,3dobj-extrusion-color-ext-mod,reserved,reserved
  0x02BF=3dobj-flags
  # 0x02C0-0x02FF: 3d style
  0x02C0=3dstyle-y-rotation,3dstyle-x-rotation,3dstyle-rotation-axis-x,3dstyle-rotation-axis-y,3dstyle-rotation-axis-z,3dstyle-rotation,3dstyle-rotation-center-x,3dstyle-rotation-center-y
  0x02C8=3dstyle-rotation-center-z,3dstyle-render-mode,3dstyle-tolerance,3dstyle-view-point-x,3dstyle-view-point-y,3dstyle-view-point-z,3dstyle-origin-x,3dstyle-origin-y
  0x02D0=3dstyle-skew-angle,3dstyle-skew-amount,3dstyle-ambient-intensity,3dstyle-key-light-x,3dstyle-key-light-y,3dstyle-key-light-z,3dstyle-key-light-intensity,3dstyle-fill-light-x
  0x02D8=3dstyle-fill-light-y,3dstyle-fill-light-z,3dstyle-fill-light-intensity
  0x02FF=3dstyle-flags
  # 0x0300-0x033F: shape
  0x0300=,shape-master,,shape-connect-style,shape-bw-mod,shape-bw-mode-pure-bw,shape-bw-mode-bw,shape-discuss-anchor-id
  0x0308=,shape-dia-layout,shape-dia-node-kind,shape-dia-layout-mru,shape-equation-xml
  0x033F=shape-flags
  # 0x0340-0x037F: callout
  0x0340=callout-type,callout-box-distance,callout-angle,callout-drop-type,callout-drop-pos,callout-length
  0x037F=callout-flags
  # 0x0380-0x03BF: group or shape
  0x0380=group-name,group-description,group-hyperlink,group-wrap-polygon-vertices,group-wrap-left,group-wrap-top,group-wrap-right,group-wrap-bottom
  0x0388=group-regroup-id,,,,,group-tooltip,group-script,group-pos-h
  0x0390=group-pos-rel-h,group-pos-v,group-pos-rel-v,group-rel-width-hr,group-align-hr,group-height-hr,group-width-hr,group-script-ext-attr
  0x0398=group-script-lang,,group-script-lang-attr,group-border-top-color,group-border-left-color,group-border-bottom-color,group-border-right-color,group-table-props
  0x03A0=group-table-row-props,,,,,group-web-bot,,
  0x03A8=,group-metro-blob,group-rel-z-order,
  0x03BF=group-flags
  # 0x03C0-0x03FF: relative transformation
  0x03C0=reltransf-left,reltransf-top,reltransf-right,reltransf-bottom,reltransf-rotation,reltransf-page
  0x03FF=reltransf-flags
  # 0x0400-0x043F: unknown HTML
  0x0400=,,uhtml-line-id,uhtml-fill-id,uhtml-pic-id,uhtml-path-id,uhtml-shadow-id,uhtml-persp-id
  0x0408=uhtml-text-path-id,uhtml-formulae-id,uhtml-handles-id,uhtml-callout-id,uhtml-lock-id,uhtml-text-id,uhtml-3d-id
  0x043F=uhtml-flags
  # 0x0500-0x053F: diagram
  0x0500=dia-type,dia-style,,,dia-rel-table,dia-scale-x,dia-scale-y,dia-def-fontsize
  0x0508=dia-constrain-bounds,dia-base-text-scale
  0x053F=dia-flags
  # 0x0540-0x057F: left line style
  0x0540=lline-color,lline-opacity,lline-back-color,lline-cr-mod,lline-type,lline-fill-blip,lline-fill-blip-name,lline-fill-blip-opt
  0x0548=lline-fill-width,lline-fill-height,lline-fill-dz-type,lline-width,lline-miter-limit,lline-style,lline-dash,lline-dash-style
  0x0550=lline-start-arrow-head,lline-end-arrow-head,lline-start-arrow-width,lline-start-arrow-length,lline-end-arrow-width,lline-end-arrow-length,lline-join-style,lline-end-cap-style
  0x0558=,lline-color-ext,reserved,lline-color-ext-mod,reserved,lline-back-color-ext,reserved,lline-back-color-ext-mod
  0x0560=reserved,reserved,reserved
  0x057F=lline-flags
  # 0x0580-0x05BF: top line style
  0x0580=tline-color,tline-opacity,tline-back-color,tline-cr-mod,tline-type,tline-fill-blip,tline-fill-blip-name,tline-fill-blip-opt
  0x0588=tline-fill-width,tline-fill-height,tline-fill-dz-type,tline-width,tline-miter-limit,tline-style,tline-dash,tline-dash-style
  0x0590=tline-start-arrow-head,tline-end-arrow-head,tline-start-arrow-width,tline-start-arrow-length,tline-end-arrow-width,tline-end-arrow-length,tline-join-style,tline-end-cap-style
  0x0598=,tline-color-ext,reserved,tline-color-ext-mod,reserved,tline-back-color-ext,reserved,tline-back-color-ext-mod
  0x05A0=reserved,reserved,reserved
  0x05BF=tline-flags
  # 0x05C0-0x05FF: right line style
  0x05C0=rline-color,rline-opacity,rline-back-color,rline-cr-mod,rline-type,rline-fill-blip,rline-fill-blip-name,rline-fill-blip-opt
  0x05C8=rline-fill-width,rline-fill-height,rline-fill-dz-type,rline-width,rline-miter-limit,rline-style,rline-dash,rline-dash-style
  0x05D0=rline-start-arrow-head,rline-end-arrow-head,rline-start-arrow-width,rline-start-arrow-length,rline-end-arrow-width,rline-end-arrow-length,rline-join-style,rline-end-cap-style
  0x05D8=,rline-color-ext,reserved,rline-color-ext-mod,reserved,rline-back-color-ext,reserved,rline-back-color-ext-mod
  0x05E0=reserved,reserved,reserved
  0x05FF=rline-flags
  # 0x0600-0x063F: bottom line style
  0x0600=bline-color,bline-opacity,bline-back-color,bline-cr-mod,bline-type,bline-fill-blip,bline-fill-blip-name,bline-fill-blip-opt
  0x0608=bline-fill-width,bline-fill-height,bline-fill-dz-type,bline-width,bline-miter-limit,bline-style,bline-dash,bline-dash-style
  0x0610=bline-start-arrow-head,bline-end-arrow-head,bline-start-arrow-width,bline-start-arrow-length,bline-end-arrow-width,bline-end-arrow-length,bline-join-style,bline-end-cap-style
  0x0618=,bline-color-ext,reserved,bline-color-ext-mod,reserved,bline-back-color-ext,reserved,bline-back-color-ext-mod
  0x0620=reserved,reserved,reserved
  0x063F=bline-flags
  # 0x0680-0x06BF: web component
  0x0680=webcomp-html,webcomp-name,webcomp-url
  0x06BF=webcomp-flags
  # 0x0700-0x073F: ink data
  0x0700=ink-data
  0x073F=ink-flags
  # 0x0780-0x07BF: signature line
  0x0780=,sigline-guid,sigline-provider-guid,sigline-suggested-signer,sigline-suggested-signer-info,sigline-suggested-signer-email,sigline-sign-instruction,sigline-add-xml
  0x0788=sigline-provider-url
  0x07BF=sigline-flags
  # 0x07C0-0x07FF: group or shape #2
  0x07C0=group2-rel-width,group2-rel-height,group2-rel-pos-x,group2-rel-pos-y,group2-size-rel-h,group2-size-rel-v
end

constlist=DFFOPT-SIMPLE-PROPERTIES
  # transformation
  0x003F=uint32,hex,flags,DFFOPT-TRANSFORM-FLAGS
  # protection
  0x007F=uint32,hex,flags,DFFOPT-PROTECTION-FLAGS
  # text
  0x00BF=uint32,hex,flags,DFFOPT-TEXT-FLAGS
  # text geometry
  0x00FF=uint32,hex,flags,DFFOPT-TEXTGEO-FLAGS
  # picture (BLIP)
  0x013F=uint32,hex,flags,DFFOPT-BLIP-FLAGS
  # shape geometry
  0x017F=uint32,hex,flags,DFFOPT-GEO-FLAGS
  # fill style
  0x0180=uint32,dec,type,DFFOPT-FILL-TYPE
  0x0181=uint32,hex,color,DFF-COLOR
  0x0182=int32,fix,opacity,DFF-OPACITY
  0x0183=uint32,hex,color,DFF-COLOR
  0x0184=int32,fix,opacity,DFF-OPACITY
  0x0185=uint32,hex,color,DFF-COLOR
  0x0186=uint32,dec,blip-id
  0x0188=uint32,dec,blip-opt,DFFOPT-BLIPOPT
  0x0189=int32,dec,width
  0x018A=int32,dec,height
  0x018B=int32,fix,angle,DFF-DEGREES
  0x018C=int32,dec,focus,CONV-PERCENT
  0x018D=int32,fix,size,DFF-OPACITY
  0x018E=int32,fix,size,DFF-OPACITY
  0x018F=int32,fix,size,DFF-OPACITY
  0x0190=int32,fix,size,DFF-OPACITY
  0x0191=int32,fix,size,CONV-EMU-TO-CM
  0x0192=int32,fix,size,CONV-EMU-TO-CM
  0x0193=int32,fix,size,CONV-EMU-TO-CM
  0x0194=int32,fix,size,CONV-EMU-TO-CM
  0x0195=uint32,dec,type,DFFOPT-FILL-DZTYPE
  0x0196=int32,dec,preset
  0x0198=int32,fix,pos,DFF-OPACITY
  0x0199=int32,fix,pos,DFF-OPACITY
  0x019A=int32,fix,pos,DFF-OPACITY
  0x019B=int32,fix,pos,DFF-OPACITY
  0x019C=uint32,hex,type,DFFOPT-FILL-SHADETYPE
  0x019E=uint32,hex,color,DFF-COLOR
  0x01A0=uint32,hex,color-mod,DFF-COLORMOD
  0x01A2=uint32,hex,color,DFF-COLOR
  0x01A4=uint32,hex,color-mod,DFF-COLORMOD
  0x01BF=uint32,hex,flags,DFFOPT-FILL-FLAGS
  # line style
  0x01C0=uint32,hex,color,DFF-COLOR
  0x01C2=uint32,hex,color,DFF-COLOR
  0x01FF=uint32,hex,flags,DFFOPT-LINE-FLAGS
  # shadow style
  0x0201=uint32,hex,color,DFF-COLOR
  0x023F=uint32,hex,flags,DFFOPT-SHADOW-FLAGS
  # perspective
  0x027F=uint32,hex,flags,DFFOPT-PERSP-FLAGS
  # 3d object
  0x02BF=uint32,hex,flags,DFFOPT-3DOBJ-FLAGS
  # 3d style
  0x02FF=uint32,hex,flags,DFFOPT-3DSTYLE-FLAGS
  # shape
  0x033F=uint32,hex,flags,DFFOPT-SHAPE-FLAGS
  # callout
  0x037F=uint32,hex,flags,DFFOPT-CALLOUT-FLAGS
  # group or shape
  0x03BF=uint32,hex,flags,DFFOPT-GROUP-FLAGS
  # relative transformation
  0x03FF=uint32,hex,flags,DFFOPT-TRANSFORM-FLAGS
  # unknown HTML
  0x043F=uint32,hex,flags,DFFOPT-UHTML-FLAGS
  # diagram
  0x053F=uint32,hex,flags,DFFOPT-DIAGRAM-FLAGS
  # left line style
  0x0540=uint32,hex,color,DFF-COLOR
  0x0542=uint32,hex,color,DFF-COLOR
  0x057F=uint32,hex,flags,DFFOPT-LINE-FLAGS
  # top line style
  0x0580=uint32,hex,color,DFF-COLOR
  0x0582=uint32,hex,color,DFF-COLOR
  0x05BF=uint32,hex,flags,DFFOPT-LINE-FLAGS
  # right line style
  0x05C0=uint32,hex,color,DFF-COLOR
  0x05C2=uint32,hex,color,DFF-COLOR
  0x05FF=uint32,hex,flags,DFFOPT-LINE-FLAGS
  # bottom line style
  0x0600=uint32,hex,color,DFF-COLOR
  0x0602=uint32,hex,color,DFF-COLOR
  0x063F=uint32,hex,flags,DFFOPT-LINE-FLAGS
  # web component
  0x06BF=uint32,hex,flags,DFFOPT-WEBCOMP-FLAGS
  # ink data
  0x073F=uint32,hex,flags,DFFOPT-INK-FLAGS
  # signature line
  0x07BF=uint32,hex,flags,DFFOPT-SIGLINE-FLAGS
  # group or shape #2
end

constlist=DFFOPT-COMPLEX-PROPERTIES
  0x0186=uint32,hex,blip,blip
  0x0187=uint32,hex,blip-name,string
  0x0197=uint32,hex,shade-colors,colorarray
  0x0380=uint32,hex,shape-name,string
end

# common

combilist=DFFOPT-BLIPOPT
  0x00000003=uint8,dec,type,DFFOPT-BLIPOPT-TYPE
  0x00000004=do-not-save
  0x00000008=linked
end

shortlist=DFFOPT-BLIPOPT-TYPE,0,comment,file,url

# transformation

flagslist=DFFOPT-TRANSFORM-FLAGS
  0x0001=:flip-h
  0x0002=:flip-v
end

# protection

flagslist=DFFOPT-PROTECTION-FLAGS
  0x0001=:lock-against-grouping
  0x0002=:lock-adjust-handles
  0x0004=:lock-text
  0x0008=:lock-vertices
  0x0010=:lock-cropping
  0x0020=:lock-against-select
  0x0040=:lock-position
  0x0080=:lock-aspect-ratio
  0x0100=:lock-rotation
  0x0200=:lock-against-ungrouping
end

# text

flagslist=DFFOPT-TEXT-FLAGS
  0x0002=:fit-shape-to-text
  0x0008=:auto-text-margin
  0x0010=:select-text
  ignore=0x0005
end

# text geometry

flagslist=DFFOPT-TEXTGEO-FLAGS
  0x0001=:strike-through
  0x0002=:small-caps
  0x0004=:shadow
  0x0008=:underline
  0x0010=:italic
  0x0020=:bold
  0x0040=:no-measure-along-path
  0x0080=:normalize
  0x0100=:best-fit
  0x0200=:shrink-to-fit
  0x0400=:stretch-to-fit
  0x0800=:tightening
  0x1000=:kerning
  0x2000=:vertical
  0x4000=:has-effect
  0x8000=:reverse-rows
end

# picture (BLIP)

flagslist=DFFOPT-BLIP-FLAGS
  0x0001=:ole-alive
  0x0002=:bi-level-display
  0x0004=:grayscale
  0x0008=:no-hit-test
  0x0010=:loop-anim
  0x0020=:rewind-anim
  0x0040=:preserve-gray
end

# shape geometry

flagslist=DFFOPT-GEO-FLAGS
  0x0001=:fill-support
  0x0002=:fill-shade-shape-support
  0x0004=:fontwork-support
  0x0008=:line-support
  0x0010=:3d-support
  0x0020=:shadow-support
end

# fill style

shortlist=DFFOPT-FILL-TYPE,0,solid,pattern,texture,picture,edge-shade,linear-shade,shape-shade,point-shade,title-shade,background

combilist=DFFOPT-FILL-DZTYPE
  0x00000003=uint8,dec,unit,DFFOPT-FILL-DZTYPE-UNIT
  0x0000000C=uint8,dec,aspect,DFFOPT-FILL-DZTYPE-ASPECT
end

shortlist=DFFOPT-FILL-DZTYPE-UNIT,0,unused,emu,pixel,shape-size-rel
shortlist=DFFOPT-FILL-DZTYPE-ASPECT,0,none,fixed,prefer-largest

flagslist=DFFOPT-FILL-SHADETYPE
  ignore=0x40000000
  0x00000001=none
  0x00000002=gamma
  0x00000004=sigma-transfer
  0x00000008=flat-band
  0x00000010=one-color
end

flagslist=DFFOPT-FILL-FLAGS
  0x0001=:no-fill-hit-test
  0x0002=:fill-to-rect
  0x0004=:fill-rel-to-shape
  0x0008=:hit-test-fill
  0x0010=:has-fill
  0x0020=:shape-anchor
  0x0040=:recolor-as-pic
end

# line style

flagslist=DFFOPT-LINE-FLAGS
  0x0001=:draw-dash-for-invisible
  0x0002=:fill-rel-to-shape
  0x0004=:hit-test-line
  0x0008=:has-line
  0x0010=:arrowhead-support
  0x0020=:inset-pen-support
  0x0040=:inset-pen
  0x0200=:opaque-back-line
end

# shadow style

flagslist=DFFOPT-SHADOW-FLAGS
  0x0001=:obscured-shadow
  0x0002=:has-shadow
end

# perspective

flagslist=DFFOPT-PERSP-FLAGS
  0x0001=:has-perspective
end

# 3d object

flagslist=DFFOPT-3DOBJ-FLAGS
  0x0001=:light-face
  0x0002=:extrusion-color
  0x0004=:metallic
  0x0008=:has-3d
end

# 3d style

flagslist=DFFOPT-3DSTYLE-FLAGS
  0x0001=:fill-color-harsh
  0x0002=:key-color-harsh
  0x0004=:parallel
  0x0008=:rotation-center-auto
  0x0010=:constrain-rotation
end

# shape

flagslist=DFFOPT-SHAPE-FLAGS
  0x0001=:background
  0x0004=:initiator
  0x0008=:lock-shape-type
  0x0010=:prefer-rel-resize
  0x0020=:ole-iconified
  0x0040=:flip-v-override
  0x0080=:flip-h-override
  0x0100=:policy-barcode
  0x0200=:policy-label
end

# callout

flagslist=DFFOPT-CALLOUT-FLAGS
  0x0001=:length-specified
  0x0002=:drop-auto
  0x0004=:minus-y
  0x0008=:minus-x
  0x0010=:has-text-border
  0x0020=:has-accent-bar
  0x0040=:is-callout
end

# group or shape

flagslist=DFFOPT-GROUP-FLAGS
  0x0001=:print
  0x0002=:hidden
  0x0004=:1d-adjustment
  0x0008=:is-button
  0x0010=:notify-double-click
  0x0020=:behind-doc
  0x0040=:wrap-edited
  0x0080=:script-anchor
  0x0100=:really-hidden
  0x0200=:allow-overlap
  0x0400=:user-drawn
  0x0800=:is-hr
  0x1000=:no-shade-hr
  0x2000=:standard-hr
  0x4000=:is-bullet
  0x8000=:layout-in-cell
end

# unknown HTML

flagslist=DFFOPT-UHTML-FLAGS
  0x0002=:fake-master
  0x0004=:ole-from-html
end

# diagram

flagslist=DFFOPT-DIAGRAM-FLAGS
  0x0001=:pseudo-inline
  0x0002=:do-layout
  0x0004=:reverse
  0x0008=:do-format
end

# web component

flagslist=DFFOPT-WEBCOMP-FLAGS
  0x0001=:is-web-component
end

# ink data

flagslist=DFFOPT-INK-FLAGS
  0x0001=:render-ink
  0x0002=:render-shape
  0x0004=:hit-test-ink
  0x0008=:ink-annotation
end

# signature line

flagslist=DFFOPT-SIGLINE-FLAGS
  0x0001=:is-signature-line
  0x0002=:show-sign-instruction
  0x0004=:show-sign-comment
  0x0008=:show-sign-date
end

# group or shape #2

# DFFSP ----------------------------------------------------------------------

combilist=DFFSP-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,shape-type,DFFSP-TYPE
end

multilist=DFFSP-TYPE
  0=not-primitive,rectangle,round-rectangle,ellipse,diamond,isoceles-triangle,right-triangle,parallelogram,trapezoid,hexagon
  10=octagon,plus,star,arrow,thick-arrow,home-plate,cube,balloon,seal,arc
  20=line,plaque,can,donut,text-simple,text-octagon,text-hexagon,text-curve,text-wave,text-ring
  30=text-on-curve,text-on-ring,straight-connector-1,bent-connector-2,bent-connector-3,bent-connector-4,bent-connector-5,curved-connector-2,curved-connector-3,curved-connector-4
  40=curved-connector-5,callout-1,callout-2,callout-3,accent-callout-1,accent-callout-2,accent-callout-3,border-callout-1,border-callout-2,border-callout-3
  50=accent-border-callout-1,accent-border-callout-2,accent-border-callout-3,ribbon,ribbon-2,chevron,pentagon,no-smoking,seal-8,seal-16
  60=seal-32,wedge-rect-callout,wedge-rrect-callout,wedge-ellipse-callout,wave,folded-corner,left-arrow,down-arrow,up-arrow,left-right-arrow
  70=up-down-arrow,irregular-seal-1,irregular-seal-2,lightning-bolt,heart,picture-frame,quad-arrow,left-arrow-callout,right-arrow-callout,up-arrow-callout
  80=down-arrow-callout,left-right-arrow-callout,up-down-arrow-callout,quad-arrow-callout,bevel,left-bracket,right-bracket,left-brace,right-brace,left-up-arrow
  90=bent-up-arrow,bent-arrow,seal-24,striped-right-arrow,notched-right-arrow,block-arc,smiley-face,vertical-scroll,horizontal-scroll,circular-arrow
  100=notched-circular-arrow,uturn-arrow,curved-right-arrow,curved-left-arrow,curved-up-arrow,curved-down-arrow,cloud-callout,ellipse-ribbon,ellipse-ribbon-2,flow-chart-process
  110=flow-chart-decision,flow-chart-input-output,flow-chart-predefined-process,flow-chart-internal-storage,flow-chart-document,flow-chart-multidocument,flow-chart-terminator,flow-chart-preparation,flow-chart-manual-input,flow-chart-manual-operation
  120=flow-chart-connector,flow-chart-punched-card,flow-chart-punched-tape,flow-chart-summing-junction,flow-chart-or,flow-chart-collate,flow-chart-sort,flow-chart-extract,flow-chart-merge,flow-chart-offline-storage
  130=flow-chart-online-storage,flow-chart-magnetic-tape,flow-chart-magnetic-disk,flow-chart-magnetic-drum,flow-chart-display,flow-chart-delay,text-plain-text,text-stop,text-triangle,text-triangle-inverted
  140=text-chevron,text-chevron-inverted,text-ring-inside,text-ring-outside,text-arch-up-curve,text-arch-down-curve,text-circle-curve,text-button-curve,text-arch-up-pour,text-arch-down-pour
  150=text-circle-pour,text-button-pour,text-curve-up,text-curve-down,text-cascade-up,text-cascade-down,text-wave-1,text-wave-2,text-wave-3,text-wave-4
  160=text-inflate,text-deflate,text-inflate-bottom,text-deflate-bottom,text-inflate-top,text-deflate-top,text-deflate-inflate,text-deflate-inflate-deflate,text-fade-right,text-fade-left
  170=text-fade-up,text-fade-down,text-slant-up,text-slant-down,text-can-up,text-can-down,flow-chart-alternate-process,flow-chart-offpage-connector,callout-90,accent-callout-90
  180=border-callout-90,accent-border-callout-90,left-right-up-arrow,sun,moon,bracket-pair,brace-pair,seal-4,double-wave,action-button-blank
  190=action-button-home,action-button-help,action-button-information,action-button-forward-next,action-button-back-previous,action-button-end,action-button-beginning,action-button-return,action-button-document,action-button-sound
  200=action-button-movie,host-control,text-box
end

flagslist=DFFSP-FLAGS
  0x00000001=group
  0x00000002=child
  0x00000004=patriarch
  0x00000008=deleted
  0x00000010=ole
  0x00000020=has-master
  0x00000040=flip-horizontal
  0x00000080=flip-vertical
  0x00000100=connector
  0x00000200=has-anchor
  0x00000400=background
  0x00000800=has-shape-type
end

# DFFSPLITMENUCOLORS ---------------------------------------------------------

combilist=DFFSPLITMENUC-RECORD-INST
  include=DFF-RECORD-INST
  0xFFF0=uint16,dec,color-count
end

# ============================================================================