Warning, /libraries/binschema/src/mso.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <mso xmlns="http://www.example.org/mso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 0003 xsi:schemaLocation="http://www.example.org/mso mso.xsd"> 0004 <struct name="RecordHeader"> 0005 <uint4 name="recVer" /> 0006 <uint12 name="recInstance" /> 0007 <uint16 name="recType" /> 0008 <uint32 name="recLen" /> 0009 </struct> 0010 <struct name="CurrentUserAtom"> 0011 <type name="rh" type="RecordHeader"> 0012 <limitation name="recVer" value="0" /> 0013 <limitation name="recInstance" value="0" /> 0014 <limitation name="recType" value="0x0FF6" /> 0015 </type> 0016 <uint32 name="size"> 0017 <limitation value="0x14" /> 0018 </uint32> 0019 <uint32 name="headerToken"> 0020 <limitation value="0xE391C05F|0xF3D1C4DF" /> 0021 </uint32> 0022 <uint32 name="offsetToCurrentEdit" /> 0023 <uint16 name="lenUserName"> 0024 <limitation expression="<=255" /> 0025 </uint16> 0026 <uint16 name="docFileVersion"> 0027 <limitation value="0x03F4" /> 0028 </uint16> 0029 <uint8 name="majorVersion"> 0030 <limitation value="0x03" /> 0031 </uint8> 0032 <uint8 name="minorVersion"> 0033 <limitation value="0x00" /> 0034 </uint8> 0035 <uint16 name="unused" /> 0036 <uint8 name="ansiUserName" count="lenUserName" /> 0037 <uint32 name="relVersion"> 0038 <limitation value="0x8|0x9" /> 0039 </uint32> 0040 <uint16 name="unicodeUserName" count="lenUserName" 0041 condition="rh.recLen>3*lenUserName+0x18" /> 0042 <uint8 name="unknown" count="rh.recLen-0x18-3*lenUserName" 0043 condition="rh.recLen-0x18-3*lenUserName>0" /> 0044 </struct> 0045 <struct name="TODOS"> 0046 <type name="anon" type="Byte" array="true" /> 0047 </struct> 0048 <struct name="Byte"> 0049 <uint8 name="b" /> 0050 </struct> 0051 <struct name="ZeroByte"> 0052 <uint8 name="b"> 0053 <limitation value="0" /> 0054 </uint8> 0055 </struct> 0056 <struct name="CurrentUserStream"> 0057 <type name="anon1" type="CurrentUserAtom" /> 0058 <type name="trailing" type="Byte" array="true" /> 0059 </struct> 0060 <struct name="PicturesStream"> 0061 <type name="anon1" type="OfficeArtBStoreDelay" /> 0062 <type name="trailing" type="Byte" array="true" /> 0063 </struct> 0064 <struct name="OfficeArtBStoreDelay"> 0065 <type name="rgfb" array="true" type="OfficeArtBStoreContainerFileBlock" /> 0066 </struct> 0067 <struct name="OfficeArtRecordHeader"> 0068 <uint4 name="recVer" /> 0069 <uint12 name="recInstance" /> 0070 <uint16 name="recType" /> 0071 <uint32 name="recLen" /> 0072 </struct> 0073 <struct name="OfficeArtFBSE"> 0074 <type name="rh" type="OfficeArtRecordHeader"> 0075 <limitation name="recVer" value="0x2" /> 0076 <limitation name="recInstance" value="0|1|2|3|4|5|6|7|0x11|0x12" /> 0077 <!-- 0078 <limitation name="recInstance" 0079 value="0xF01A|0xF01B|0xF01C|0xF01D|0xF01E|0xF01F|0xF029" /> 0080 --> 0081 <limitation name="recType" value="0xF007" /> 0082 </type> 0083 <uint8 name="btWin32" /> 0084 <uint8 name="btMacOS" /> 0085 <uint8 name="rgbUid" count="16" /> 0086 <uint16 name="tag" /> 0087 <uint32 name="size" /> 0088 <uint32 name="cRef" /> 0089 <uint32 name="foDelay" /> 0090 <uint8 name="unused1" /> 0091 <uint8 name="cbName" /> 0092 <uint8 name="unused2" /> 0093 <uint8 name="unused3" /> 0094 <uint8 name="nameData" count="cbName" condition="cbName>0" /> 0095 <type name="embeddedBlip" type="OfficeArtBlip" condition="rh.recLen > 36 + cbName"> 0096 <!-- 0097 this limitation is currently not supported because it requires 0098 dynamic introspection <limitation name="rh.recInstance" 0099 value="rh.recInstance" /> 0100 --> 0101 </type> 0102 </struct> 0103 <struct name="OfficeArtBlipEMF"> 0104 <type name="rh" type="OfficeArtRecordHeader"> 0105 <limitation name="recVer" value="0" /> 0106 <limitation name="recInstance" value="0x3D4|0x3D5" /> 0107 <limitation name="recType" value="0xF01A" /> 0108 </type> 0109 <uint8 name="rgbUid1" count="16" /> 0110 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x3D5" /> 0111 <type name="metafileHeader" type="OfficeArtMetafileHeader" /> 0112 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x3D4)?50:66)" /> 0113 </struct> 0114 <struct name="OfficeArtBlipWMF"> 0115 <type name="rh" type="OfficeArtRecordHeader"> 0116 <limitation name="recVer" value="0" /> 0117 <limitation name="recInstance" value="0x216|0x217" /> 0118 <limitation name="recType" value="0xF01B" /> 0119 </type> 0120 <uint8 name="rgbUid1" count="16" /> 0121 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x217" /> 0122 <type name="metafileHeader" type="OfficeArtMetafileHeader" /> 0123 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x216)?50:66)" /> 0124 </struct> 0125 <struct name="OfficeArtBlipPICT"> 0126 <type name="rh" type="OfficeArtRecordHeader"> 0127 <limitation name="recVer" value="0" /> 0128 <limitation name="recInstance" value="0x542|0x543" /> 0129 <limitation name="recType" value="0xF01C" /> 0130 </type> 0131 <uint8 name="rgbUid1" count="16" /> 0132 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x543" /> 0133 <type name="metafileHeader" type="OfficeArtMetafileHeader" /> 0134 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x542)?50:66)" /> 0135 </struct> 0136 <struct name="OfficeArtBlipJPEG"> 0137 <type name="rh" type="OfficeArtRecordHeader"> 0138 <limitation name="recVer" value="0" /> 0139 <limitation name="recInstance" value="0x46A|0x46B|0x6E2|0x6E3" /> 0140 <limitation name="recType" value="0xF01D" /> 0141 </type> 0142 <uint8 name="rgbUid1" count="16" /> 0143 <uint8 name="rgbUid2" count="16" 0144 condition="rh.recInstance == 0x46B || rh.recInstance == 0x6E3" /> 0145 <uint8 name="tag" /> 0146 <uint8 name="BLIPFileData" 0147 count="rh.recLen-((rh.recInstance == 0x46A || rh.recInstance == 0x6E2)?17:33)" /> 0148 </struct> 0149 <struct name="OfficeArtBlipPNG"> 0150 <type name="rh" type="OfficeArtRecordHeader"> 0151 <limitation name="recVer" value="0" /> 0152 <limitation name="recInstance" value="0x6E0|0x6E1" /> 0153 <limitation name="recType" value="0xF01E" /> 0154 </type> 0155 <uint8 name="rgbUid1" count="16" /> 0156 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x6E1" /> 0157 <uint8 name="tag" /> 0158 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x6E0)?17:33)" /> 0159 </struct> 0160 <struct name="OfficeArtBlipDIB"> 0161 <type name="rh" type="OfficeArtRecordHeader"> 0162 <limitation name="recVer" value="0" /> 0163 <limitation name="recInstance" value="0x7A8|0x7A9" /> 0164 <limitation name="recType" value="0xF01F" /> 0165 </type> 0166 <uint8 name="rgbUid1" count="16" /> 0167 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x7A9" /> 0168 <uint8 name="tag" /> 0169 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x7A8)?17:33)" /> 0170 </struct> 0171 <struct name="OfficeArtBlipTIFF"> 0172 <type name="rh" type="OfficeArtRecordHeader"> 0173 <limitation name="recVer" value="0" /> 0174 <limitation name="recInstance" value="0x6E4|0x6E5" /> 0175 <limitation name="recType" value="0xF020" /> 0176 </type> 0177 <uint8 name="rgbUid1" count="16" /> 0178 <uint8 name="rgbUid2" count="16" condition="rh.recInstance == 0x6E5" /> 0179 <uint8 name="tag" /> 0180 <uint8 name="BLIPFileData" count="rh.recLen-((rh.recInstance==0x6E4)?17:33)" /> 0181 </struct> 0182 <struct name="OfficeArtMetafileHeader"> 0183 <uint32 name="cbSize" /> 0184 <type name="rcBounds" type="RECT" /> 0185 <type name="ptSize" type="POINT" /> 0186 <uint32 name="cbsave" /> 0187 <uint8 name="compression" /> 0188 <uint8 name="filter" /> 0189 </struct> 0190 <struct name="RECT"> 0191 <int32 name="left" /> 0192 <int32 name="top" /> 0193 <int32 name="right" /> 0194 <int32 name="bottom" /> 0195 </struct> 0196 <struct name="POINT"> 0197 <int32 name="x" /> 0198 <int32 name="y" /> 0199 </struct> 0200 <struct name="OfficeArtBlip"> 0201 <choice name="anon"> 0202 <type type="OfficeArtBlipEMF" /> 0203 <type type="OfficeArtBlipWMF" /> 0204 <type type="OfficeArtBlipPICT" /> 0205 <type type="OfficeArtBlipJPEG" /> 0206 <type type="OfficeArtBlipPNG" /> 0207 <type type="OfficeArtBlipDIB" /> 0208 <type type="OfficeArtBlipTIFF" /> 0209 </choice> 0210 </struct> 0211 <struct name="OfficeArtBStoreContainerFileBlock"> 0212 <choice name="anon"> 0213 <type type="OfficeArtFBSE" /> 0214 <type type="OfficeArtBlip" /> 0215 </choice> 0216 </struct> 0217 <struct name="PowerPointStructs"> 0218 <type name="anon" type="PowerPointStruct" array="true" /> 0219 </struct> 0220 <struct name="PowerPointStruct"> 0221 <choice name="anon"> 0222 <type type="DocumentContainer" /> 0223 <type type="MasterOrSlideContainer" /> 0224 <type type="PersistDirectoryAtom" /> 0225 <type type="NotesContainer" /> 0226 <type type="HandoutContainer" /> 0227 <type type="SlideContainer" /> 0228 <type type="ExOleObjStg" /> 0229 <type type="ExControlStg" /> 0230 <type type="VbaProjectStg" /> 0231 <type type="UserEditAtom" /> 0232 </choice> 0233 </struct> 0234 <struct name="DocumentContainer"> 0235 <type name="rh" type="RecordHeader"> 0236 <limitation name="recVer" value="0xF" /> 0237 <limitation name="recInstance" value="0x0" /> 0238 <limitation name="recType" value="0x03E8" /> 0239 </type> 0240 <type name="documentAtom" type="DocumentAtom" /> 0241 <type name="exObjList" type="ExObjListContainer" optional="true" /> 0242 <type name="documentTextInfo" type="DocumentTextInfoContainer" /> 0243 <type name="soundCollection" type="SoundCollectionContainer" 0244 optional="true" /> 0245 <type name="drawingGroup" type="DrawingGroupContainer" /> 0246 <type name="masterList" type="MasterListWithTextContainer" /> 0247 <type name="docInfoList" type="DocInfoListContainer" optional="true" /> 0248 <type name="slideHF" type="SlideHeadersFootersContainer" 0249 optional="true" /> 0250 <type name="notesHF" type="NotesHeadersFootersContainer" 0251 optional="true" /> 0252 <type name="slideList" type="SlideListWithTextContainer" 0253 optional="true" /> 0254 <!-- MS-PPT spec. violation - element contents MUST by strictly 0255 ordered. The 2nd presence of SlideHeadersFootersContainer 0256 is not documented. --> 0257 <type name="slideHF2" type="SlideHeadersFootersContainer" optional="true" /> 0258 <type name="notesList" type="NotesListWithTextContainer" 0259 optional="true" /> 0260 <type name="slideShowDocInfoAtom" type="SlideShowDocInfoAtom" 0261 optional="true" /> 0262 <type name="namedShows" type="NamedShowsContainer" optional="true" /> 0263 <type name="summary" type="SummaryContainer" optional="true" /> 0264 <type name="docRoutingSlipAtom" type="DocRoutingSlipAtom" 0265 optional="true" /> 0266 <type name="printOptionsAtom" type="PrintOptionsAtom" optional="true" /> 0267 <type name="unknown0" type="UnknownDocumentContainerChild" array="true" /> 0268 <type name="rtCustomTableStylesAtom1" type="RoundTripCustomTableStyles12Atom" 0269 optional="true" /> 0270 <type name="unknown1" type="UnknownDocumentContainerChild" array="true" /> 0271 <type name="endDocumentAtom" type="EndDocumentAtom" /> 0272 <type name="unknown2" type="UnknownDocumentContainerChild" array="true" /> 0273 <type name="rtCustomTableStylesAtom2" type="RoundTripCustomTableStyles12Atom" 0274 optional="true" /> 0275 <type name="unknown4" type="UnknownDocumentContainerChild" array="true" /> 0276 <type name="unknown5" type="TextMasterStyle10Atom" optional="true" /> 0277 </struct> 0278 <struct name="SoundCollectionContainer"> 0279 <type name="rh" type="RecordHeader"> 0280 <limitation name="recVer" value="0xF" /> 0281 <!-- 0282 must be 5 according to the documentation, but a value of 0 has been 0283 observed 0284 --> 0285 <limitation name="recInstance" value="0|5" /> 0286 <limitation name="recType" value="0x7E4" /> 0287 </type> 0288 <type name="soundCollectionAtom" type="SoundCollectionAtom" /> 0289 <type name="rgSoundContainer" type="SoundContainer" array="true" 0290 size="rh.recLen-12" /> 0291 </struct> 0292 <struct name="SoundCollectionAtom"> 0293 <type name="rh" type="RecordHeader"> 0294 <limitation name="recVer" value="0" /> 0295 <limitation name="recInstance" value="0" /> 0296 <limitation name="recType" value="0x7e5" /> 0297 <limitation name="recLen" value="4" /> 0298 </type> 0299 <uint32 name="soundIdSeed" /> 0300 </struct> 0301 <struct name="SlideHeadersFootersContainer"> 0302 <type name="rh" type="RecordHeader"> 0303 <limitation name="recVer" value="0xF" /> 0304 <limitation name="recInstance" value="3" /> 0305 <limitation name="recType" value="0xFD9" /> 0306 </type> 0307 <type name="hfAtom" type="HeadersFootersAtom" /> 0308 <type name="userDateAtom" type="UserDateAtom" optional="true" /> 0309 <type name="footerAtom" type="FooterAtom" optional="true" /> 0310 </struct> 0311 <struct name="NotesHeadersFootersContainer"> 0312 <type name="rh" type="RecordHeader"> 0313 <limitation name="recVer" value="0xF" /> 0314 <limitation name="recInstance" value="4" /> 0315 <limitation name="recType" value="0xFD9" /> 0316 </type> 0317 <type name="hfAtom" type="HeadersFootersAtom" /> 0318 <type name="userDateAtom" type="UserDateAtom" optional="true" /> 0319 <type name="headerAtom" type="HeaderAtom" optional="true" /> 0320 <type name="footerAtom" type="FooterAtom" optional="true" /> 0321 </struct> 0322 <struct name="HeadersFootersAtom"> 0323 <type name="rh" type="RecordHeader"> 0324 <limitation name="recVer" value="0" /> 0325 <limitation name="recInstance" value="0" /> 0326 <limitation name="recType" value="0xFDA" /> 0327 <limitation name="recLen" value="4" /> 0328 </type> 0329 <int16 name="formatId"> 0330 <limitation expression=">=0" /> 0331 <limitation expression="<=13" /> 0332 </int16> 0333 <bit name="fHasDate" /> 0334 <bit name="fHasTodayDate" /> 0335 <bit name="fHasUserDate" /> 0336 <bit name="fHasSlideNumber" /> 0337 <bit name="fHasHeader" /> 0338 <bit name="fHasFooter" /> 0339 <uint2 name="reserved1" /> 0340 <uint8 name="reserved2" /> 0341 </struct> 0342 <struct name="UserDateAtom"> 0343 <type name="rh" type="RecordHeader"> 0344 <limitation name="recVer" value="0" /> 0345 <limitation name="recInstance" value="0" /> 0346 <limitation name="recType" value="0xFBA" /> 0347 <limitation name="recLen" expression="%2==0" /> 0348 <limitation name="recLen" expression="<=510" /> 0349 </type> 0350 <uint16 name="userDate" count="rh.recLen/2" /> 0351 </struct> 0352 <struct name="HeaderAtom"> 0353 <type name="rh" type="RecordHeader"> 0354 <limitation name="recVer" value="0" /> 0355 <limitation name="recInstance" value="1" /> 0356 <limitation name="recType" value="0xFBA" /> 0357 <limitation name="recLen" expression="%2==0" /> 0358 </type> 0359 <uint16 name="header" count="rh.recLen/2" /> 0360 </struct> 0361 <struct name="FooterAtom"> 0362 <type name="rh" type="RecordHeader"> 0363 <limitation name="recVer" value="0" /> 0364 <limitation name="recInstance" value="2" /> 0365 <limitation name="recType" value="0xFBA" /> 0366 <limitation name="recLen" expression="%2==0" /> 0367 </type> 0368 <uint16 name="footer" count="rh.recLen/2" /> 0369 </struct> 0370 <struct name="PerSlideHeadersFootersContainer"> 0371 <type name="rh" type="RecordHeader"> 0372 <limitation name="recVer" value="0xF" /> 0373 <limitation name="recInstance" value="0" /> 0374 <limitation name="recType" value="0xFD9" /> 0375 </type> 0376 <type name="hfAtom" type="HeadersFootersAtom" /> 0377 <type name="userDateAtom" type="UserDateAtom" optional="true" /> 0378 <!-- 0379 according to Microsoft documentation, there should be no headerAtom 0380 in this struct, however in some ... documents add one. Adding it as 0381 an optional field here still allows such files to be parsed. 0382 --> 0383 <type name="headerAtom" type="HeaderAtom" optional="true" /> 0384 <type name="footerAtom" type="FooterAtom" optional="true" /> 0385 <!-- 0386 according to Microsoft documentation, the userDateAtom must precede 0387 footerAtom, however in some ... documents their order is swapped. 0388 userDateAtom2 allows such files to still be parsed. 0389 --> 0390 <type name="userDateAtom2" type="UserDateAtom" optional="true" /> 0391 </struct> 0392 <struct name="EndDocumentAtom"> 0393 <type name="rh" type="RecordHeader"> 0394 <limitation name="recVer" value="0" /> 0395 <limitation name="recInstance" value="0" /> 0396 <limitation name="recType" value="0x3EA" /> 0397 <limitation name="recLen" value="0" /> 0398 </type> 0399 </struct> 0400 <struct name="DocInfoListContainer"> 0401 <type name="rh" type="RecordHeader"> 0402 <limitation name="recVer" value="0xF" /> 0403 <limitation name="recInstance" value="0" /> 0404 <limitation name="recType" value="0x7D0" /> 0405 </type> 0406 <type name="rgChildRec" type="DocInfoListSubContainerOrAtom" 0407 array="true" /> 0408 </struct> 0409 <struct name="DocInfoListSubContainerOrAtom"> 0410 <choice name="anon"> 0411 <type type="DocProgTagsContainer" /> 0412 <type type="NormalViewSetInfoContainer" /> 0413 <type type="NotesTextViewInfoContainer" /> 0414 <type type="OutlineViewInfoContainer" /> 0415 <type type="SlideViewInfoInstance" /> 0416 <type type="SorterViewInfoContainer" /> 0417 <type type="VBAInfoContainer" /> 0418 </choice> 0419 </struct> 0420 <struct name="SlideViewInfoInstance"> 0421 <type name="rh" type="RecordHeader"> 0422 <limitation name="recVer" value="0xF" /> 0423 <limitation name="recInstance" value="0|1" /> 0424 <limitation name="recType" value="0x3FA" /> 0425 </type> 0426 <type name="slideViewInfoAtom" type="SlideViewInfoAtom" /> 0427 <type name="zoomViewInfoAtom" type="ZoomViewInfoAtom" optional="true" /> 0428 <type name="rgGuideAtom" type="GuideAtom" array="true" /> 0429 </struct> 0430 <struct name="SlideViewInfoAtom"> 0431 <type name="rh" type="RecordHeader"> 0432 <limitation name="recVer" value="0" /> 0433 <limitation name="recInstance" value="0" /> 0434 <limitation name="recType" value="0x3FE" /> 0435 <limitation name="recLen" value="3" /> 0436 </type> 0437 <uint8 name="unused1" /> 0438 <uint8 name="fSnapToGrid" /> 0439 <uint8 name="fSnapToShape" /> 0440 </struct> 0441 <struct name="ZoomViewInfoAtom"> 0442 <type name="rh" type="RecordHeader"> 0443 <limitation name="recVer" value="0" /> 0444 <limitation name="recInstance" value="0" /> 0445 <limitation name="recType" value="0x3FD" /> 0446 <limitation name="recLen" value="0x34" /> 0447 </type> 0448 <type name="curScale" type="ScalingStruct" /> 0449 <uint8 name="unused1" count="24" /> 0450 <type name="origin" type="PointStruct" /> 0451 <uint8 name="fUseVarScale"> 0452 <limitation value="0|1" /> 0453 </uint8> 0454 <uint8 name="fDraftMode" /> 0455 <uint16 name="unused2" /> 0456 </struct> 0457 <struct name="ScalingStruct"> 0458 <type name="x" type="RatioStruct" /> 0459 <type name="y" type="RatioStruct" /> 0460 </struct> 0461 <struct name="GuideAtom"> 0462 <type name="rh" type="RecordHeader"> 0463 <limitation name="recVer" value="0" /> 0464 <limitation name="recInstance" value="7" /> 0465 <limitation name="recType" value="0x3FB" /> 0466 <limitation name="recLen" value="8" /> 0467 </type> 0468 <uint32 name="type"> 0469 <limitation value="0|1" /> 0470 </uint32> 0471 <int32 name="pos"> 0472 <limitation expression=">=-15840" /> 0473 <limitation expression="<=32255" /> 0474 </int32> 0475 </struct> 0476 <struct name="DocProgTagsContainer"> 0477 <type name="rh" type="RecordHeader"> 0478 <limitation name="recVer" value="0xF" /> 0479 <limitation name="recInstance" value="0|1" /> 0480 <limitation name="recType" value="0x1388" /> 0481 </type> 0482 <type name="rgChildRec" type="DocProgTagsSubContainerOrAtom" 0483 array="true" size="rh.recLen" /> 0484 </struct> 0485 <struct name="DocProgTagsSubContainerOrAtom"> 0486 <choice name="anon"> 0487 <type type="ProgStringTagContainer" /> 0488 <type type="DocProgBinaryTagContainer" /> 0489 </choice> 0490 </struct> 0491 <struct name="DocProgBinaryTagContainer"> 0492 <type name="rh" type="RecordHeader"> 0493 <limitation name="recVer" value="0xF" /> 0494 <limitation name="recInstance" value="0" /> 0495 <limitation name="recType" value="0x138A" /> 0496 </type> 0497 <type name="rec" type="DocProgBinaryTagSubContainerOrAtom" /> 0498 </struct> 0499 <struct name="DocProgBinaryTagSubContainerOrAtom"> 0500 <choice name="anon"> 0501 <type type="PP9DocBinaryTagExtension" /> 0502 <type type="PP10DocBinaryTagExtension" /> 0503 <type type="PP11DocBinaryTagExtension" /> 0504 <type type="PP12DocBinaryTagExtension" /> 0505 <type type="UnknownBinaryTag" /> 0506 </choice> 0507 </struct> 0508 <struct name="PP9DocBinaryTagExtension"> 0509 <type name="rh" type="RecordHeader"> 0510 <limitation name="recVer" value="0x0" /> 0511 <limitation name="recInstance" value="0" /> 0512 <limitation name="recType" value="0x0FBA" /> 0513 <limitation name="recLen" value="0x0E" /> 0514 </type> 0515 <uint8 name="tagName" count="14" /> 0516 <type name="rhData" type="RecordHeader"> 0517 <limitation name="recVer" value="0x0" /> 0518 <limitation name="recInstance" value="0" /> 0519 <limitation name="recType" value="0x138B" /> 0520 </type> 0521 <type name="rgTextMasterStyle9" type="TextMasterStyle9Atom" 0522 array="true" /> 0523 <type name="blipCollectionContainer" type="BlipCollection9Container" 0524 optional="true" /> 0525 <type name="textDefaultsAtom" type="TextDefaults9Atom" optional="true" /> 0526 <type name="kinsokuContainer" type="Kinsoku9Container" optional="true" /> 0527 <type name="rgExternalHyperlink9" type="ExHyperlink9Container" 0528 array="true" /> 0529 <type name="presAdvisorFlagsAtom" type="PresAdvisorFlags9Atom" 0530 optional="true" /> 0531 <type name="envelopeDataAtom" type="EnvelopeData9Atom" optional="true" /> 0532 <type name="envelopeFlagsAtom" type="EnvelopeFlags9Atom" 0533 optional="true" /> 0534 <type name="htmlDocInfoAtom" type="HTMLDocInfo9Atom" optional="true" /> 0535 <type name="htmlPublishInfoAtom" type="HTMLPublishInfo9Container" 0536 optional="true" /> 0537 <type name="rgBroadcastDocInfo9" type="BroadcastDocInfo9Container" 0538 array="true" /> 0539 <type name="outlineTextPropsContainer" type="OutlineTextProps9Container" 0540 optional="true" /> 0541 </struct> 0542 <struct name="TextMasterStyle9Atom"> 0543 <type name="rh" type="RecordHeader"> 0544 <limitation name="recVer" value="0x0" /> 0545 <limitation name="recInstance" value="0|1|2|3|4|5|6|7|8" /> 0546 <limitation name="recType" value="0x0FAD" /> 0547 </type> 0548 <uint16 name="cLevels"> 0549 <limitation expression="<=5" /> 0550 </uint16> 0551 <type name="lstLvl1" type="TextMasterStyle9Level" condition="cLevels>0" /> 0552 <type name="lstLvl2" type="TextMasterStyle9Level" condition="cLevels>1" /> 0553 <type name="lstLvl3" type="TextMasterStyle9Level" condition="cLevels>2" /> 0554 <type name="lstLvl4" type="TextMasterStyle9Level" condition="cLevels>3" /> 0555 <type name="lstLvl5" type="TextMasterStyle9Level" condition="cLevels>4" /> 0556 </struct> 0557 <struct name="TextMasterStyle9Level"> 0558 <type name="pf9" type="TextPFException9" /> 0559 <type name="cf9" type="TextCFException9" /> 0560 </struct> 0561 <struct name="TextPFException9"> 0562 <type name="masks" type="PFMasks"> 0563 <limitation name="hasBullet" value="false" /> 0564 <limitation name="bulletHasFont" value="false" /> 0565 <limitation name="bulletHasColor" value="false" /> 0566 <limitation name="bulletHasSize" value="false" /> 0567 <limitation name="bulletFont" value="false" /> 0568 <limitation name="bulletColor" value="false" /> 0569 <limitation name="bulletSize" value="false" /> 0570 <limitation name="bulletChar" value="false" /> 0571 <limitation name="leftMargin" value="false" /> 0572 <limitation name="indent" value="false" /> 0573 <limitation name="align" value="false" /> 0574 <limitation name="lineSpacing" value="false" /> 0575 <limitation name="spaceBefore" value="false" /> 0576 <limitation name="spaceAfter" value="false" /> 0577 <limitation name="defaultTabSize" value="false" /> 0578 <limitation name="fontAlign" value="false" /> 0579 <limitation name="charWrap" value="false" /> 0580 <limitation name="wordWrap" value="false" /> 0581 <limitation name="overflow" value="false" /> 0582 <limitation name="tabStops" value="false" /> 0583 <limitation name="textDirection" value="false" /> 0584 </type> 0585 <uint16 name="bulletBlipRef" condition="masks.bulletBlip" /> 0586 <uint16 name="fBulletHasAutoNumber" condition="masks.bulletHasScheme"> 0587 <limitation value="0|1" /> 0588 </uint16> 0589 <type name="bulletAutoNumberScheme" condition="masks.bulletScheme" 0590 type="TextAutoNumberScheme" /> 0591 </struct> 0592 <struct name="TextAutoNumberScheme"> 0593 <uint16 name="scheme"> 0594 <limitation expression="<=40" /> 0595 </uint16> 0596 <uint16 name="startNum"> 0597 <limitation expression=">=1" /> 0598 </uint16> 0599 </struct> 0600 <struct name="TextCFException9"> 0601 <type name="masks" type="CFMasks"> 0602 <limitation name="bold" value="false" /> 0603 <limitation name="italic" value="false" /> 0604 <limitation name="underline" value="false" /> 0605 <limitation name="shadow" value="false" /> 0606 <limitation name="fehint" value="false" /> 0607 <limitation name="kumi" value="false" /> 0608 <limitation name="emboss" value="false" /> 0609 <limitation name="reserved" value="0" /> 0610 <limitation name="typeface" value="false" /> 0611 <limitation name="size" value="false" /> 0612 <limitation name="color" value="false" /> 0613 <limitation name="position" value="false" /> 0614 <limitation name="oldEATypeface" value="false" /> 0615 <limitation name="ansiTypeface" value="false" /> 0616 <limitation name="symbolTypeface" value="false" /> 0617 <limitation name="newEATypeface" value="false" /> 0618 <limitation name="csTypeface" value="false" /> 0619 <limitation name="pp11ext" value="false" /> 0620 </type> 0621 <uint4 name="pp10runid" condition="masks.pp10ext" /> 0622 <uint20 name="unuseda" condition="masks.pp10ext" /> 0623 <uint8 name="unusedb" condition="masks.pp10ext" /> 0624 </struct> 0625 <struct name="BlipCollection9Container"> 0626 <type name="rh" type="RecordHeader"> 0627 <limitation name="recVer" value="0xF" /> 0628 <limitation name="recInstance" value="0x0" /> 0629 <limitation name="recType" value="0x07F8" /> 0630 </type> 0631 <type name="rgBlipEntityAtom" type="BlipEntityAtom" array="true" 0632 size="rh.recLen" /> 0633 <!-- 0634 TODO: gBlipEntityAtom (variable): An array of BlipEntityAtom record 0635 that specifies picture bullets. It MUST NOT contain more than one 0636 BlipEntityAtom record with the same value of rh.recInstance. 0637 --> 0638 </struct> 0639 <struct name="BlipEntityAtom"> 0640 <type name="rh" type="RecordHeader"> 0641 <limitation name="recVer" value="0" /> 0642 <limitation name="recInstance" expression="<=128" /> 0643 <limitation name="recType" value="0x07F9" /> 0644 </type> 0645 <uint8 name="winBlipType"> 0646 <limitation value="0x02|0x03|0x05|0x06" /> 0647 </uint8> 0648 <uint8 name="unused" /> 0649 <type name="blip" type="OfficeArtBStoreContainerFileBlock" /> 0650 </struct> 0651 <struct name="TextDefaults9Atom"> 0652 <type name="rh" type="RecordHeader"> 0653 <limitation name="recVer" value="0x0" /> 0654 <limitation name="recInstance" value="0x00" /> 0655 <limitation name="recType" value="0x0FB0" /> 0656 </type> 0657 <type name="cf9" type="TextCFException9" /> 0658 <type name="pf9" type="TextPFException9" /> 0659 </struct> 0660 <struct name="Kinsoku9Container"> 0661 <type name="rh" type="RecordHeader"> 0662 <limitation name="recVer" value="0xF" /> 0663 <limitation name="recInstance" value="0x2" /> 0664 <limitation name="recType" value="0x0FC8" /> 0665 </type> 0666 <type name="kinsoku9Atom" type="Kinsoku9Atom" /> 0667 <!-- 0668 condition for this field is too complex so we just say it is optional 0669 --> 0670 <type name="kinsokuLeadingAtom" type="KinsokuLeadingAtom" 0671 optional="true" /> 0672 <!-- 0673 condition for this field is too complex so we just say it is optional 0674 --> 0675 <type name="kinsokuFollowingAtom" type="KinsokuFollowingAtom" 0676 optional="true" /> 0677 </struct> 0678 <struct name="Kinsoku9Atom"> 0679 <type name="rh" type="RecordHeader"> 0680 <limitation name="recVer" value="0x0" /> 0681 <limitation name="recInstance" value="0x3" /> 0682 <limitation name="recType" value="0x0FD2" /> 0683 <limitation name="recLen" value="0x0004" /> 0684 </type> 0685 <uint2 name="korLevel"> 0686 <limitation value="0x0|0x2" /> 0687 </uint2> 0688 <uint2 name="scLevel"> 0689 <limitation value="0x0|0x2" /> 0690 </uint2> 0691 <uint2 name="tcLevel"> 0692 <limitation value="0x0|0x2" /> 0693 </uint2> 0694 <uint2 name="jpnLevel"> 0695 <limitation value="0x0|0x1|0x2" /> 0696 </uint2> 0697 <uint4 name="reserveda"> 0698 <limitation value="0" /> 0699 </uint4> 0700 <uint20 name="reservedb"> 0701 <limitation value="0" /> 0702 </uint20> 0703 </struct> 0704 <struct name="ExHyperlink9Container"> 0705 <type name="rh" type="RecordHeader"> 0706 <limitation name="recVer" value="0xF" /> 0707 <limitation name="recInstance" value="0" /> 0708 <limitation name="recType" value="0xFE4" /> 0709 </type> 0710 <uint8 name="todo" count="rh.recLen" /> 0711 </struct> 0712 <struct name="PresAdvisorFlags9Atom"> 0713 <type name="rh" type="RecordHeader"> 0714 <limitation name="recVer" value="0x0" /> 0715 <limitation name="recInstance" value="0" /> 0716 <limitation name="recType" value="0x177A" /> 0717 <limitation name="recLen" value="0x4" /> 0718 </type> 0719 <bit name="fDisableCaseStyleTitleRule" /> 0720 <bit name="fDisableCaseStyleBodyRule" /> 0721 <bit name="fDisableEndPunctuationTitleRule" /> 0722 <bit name="fDisableEndPunctuationBodyRule" /> 0723 <bit name="fDisableTooManyBulletsRule" /> 0724 <bit name="fDisableFontSizeTitleRule" /> 0725 <bit name="fDisableFontSizeBodyRule" /> 0726 <bit name="fDisableNumberOfLinesTitleRule" /> 0727 <bit name="fDisableNumberOfLinesBodyRule" /> 0728 <bit name="fDisableTooManyFontsRule" /> 0729 <bit name="fDisablePrintTip" /> 0730 <uint5 name="reserveda"> 0731 <limitation value="0" /> 0732 </uint5> 0733 <uint16 name="reservedb"> 0734 <limitation value="0" /> 0735 </uint16> 0736 </struct> 0737 <struct name="EnvelopeData9Atom"> 0738 <type name="rh" type="RecordHeader"> 0739 <limitation name="recVer" value="0x0" /> 0740 <limitation name="recInstance" value="0" /> 0741 <limitation name="recType" value="0x1785" /> 0742 </type> 0743 <uint8 name="todo" count="rh.recLen" /> 0744 </struct> 0745 <struct name="EnvelopeFlags9Atom"> 0746 <type name="rh" type="RecordHeader"> 0747 <limitation name="recVer" value="0x0" /> 0748 <limitation name="recInstance" value="0" /> 0749 <limitation name="recType" value="0x1784" /> 0750 <limitation name="recLen" value="4" /> 0751 </type> 0752 <bit name="fHasEnvelope" /> 0753 <bit name="fEnvelopeVisible" /> 0754 <uint2 name="reserved1"> 0755 <limitation value="0" /> 0756 </uint2> 0757 <bit name="fEnvelopeDirty" /> 0758 <uint3 name="reserved2a"> 0759 <limitation value="0" /> 0760 </uint3> 0761 <uint8 name="reserved2b"> 0762 <limitation value="0" /> 0763 </uint8> 0764 <uint16 name="reserved2c"> 0765 <limitation value="0" /> 0766 </uint16> 0767 </struct> 0768 <struct name="HTMLDocInfo9Atom"> 0769 <type name="rh" type="RecordHeader"> 0770 <limitation name="recVer" value="0x0" /> 0771 <limitation name="recInstance" value="0" /> 0772 <limitation name="recType" value="0x177B" /> 0773 <limitation name="recLen" value="0x10" /> 0774 </type> 0775 <uint32 name="unused1" /> 0776 <uint32 name="encoding" /> 0777 <!--ToDo Encoding limitation --> 0778 <uint16 name="frameColorType"> 0779 <limitation value="0|1|2|3|4|5" /> 0780 </uint16> 0781 <uint8 name="screenSize" /> 0782 <uint8 name="unused2" /> 0783 <uint8 name="outputType" /> 0784 <bit name="fShowFrame" /> 0785 <bit name="fResizeGraphics" /> 0786 <bit name="fOrganizeInFolder" /> 0787 <bit name="fUseLongFileNames" /> 0788 <bit name="fRelyOnVML" /> 0789 <bit name="fAllowPNG" /> 0790 <bit name="fShowSlideAnimation" /> 0791 <bit name="reserved1"> 0792 <limitation value='false' /> 0793 </bit> 0794 <uint16 name="unused3" /> 0795 </struct> 0796 <struct name="HTMLPublishInfo9Container"> 0797 <type name="rh" type="RecordHeader"> 0798 <limitation name="recVer" value="0xF" /> 0799 <limitation name="recInstance" value="0x0" /> 0800 <limitation name="recType" value="0x177D" /> 0801 </type> 0802 <uint8 name="todo" count="rh.recLen" /> 0803 </struct> 0804 <struct name="BroadcastDocInfo9Container"> 0805 <type name="rh" type="RecordHeader"> 0806 <limitation name="recVer" value="0xF" /> 0807 <limitation name="recInstance" value="0" /> 0808 <limitation name="recType" value="0x177E" /> 0809 </type> 0810 <uint8 name="todo" count="rh.recLen" /> 0811 </struct> 0812 <struct name="OutlineTextProps9Container"> 0813 <type name="rh" type="RecordHeader"> 0814 <limitation name="recVer" value="0xF" /> 0815 <limitation name="recInstance" value="0" /> 0816 <limitation name="recType" value="0x0FAE" /> 0817 </type> 0818 <type name="rgOutlineTextProps9Entry" type="OutlineTextProps9Entry" 0819 array="true" /> 0820 </struct> 0821 <struct name="OutlineTextProps9Entry"> 0822 <type name="outlineTextHeaderAtom" type="OutlineTextPropsHeaderExAtom" /> 0823 <type name="styleTextProp9Atom" type="StyleTextProp9Atom" /> 0824 </struct> 0825 <struct name="OutlineTextPropsHeaderExAtom"> 0826 <type name="rh" type="RecordHeader"> 0827 <limitation name="recVer" value="0" /> 0828 <limitation name="recInstance" expression="<=5" /> 0829 <limitation name="recType" value="0xFAF" /> 0830 </type> 0831 <uint32 name="slideIdRef" /> 0832 <uint32 name="txType" /> 0833 </struct> 0834 <struct name="StyleTextProp9Atom"> 0835 <type name="rh" type="RecordHeader"> 0836 <limitation name="recVer" value="0" /> 0837 <limitation name="recInstance" value="0" /> 0838 <limitation name="recType" value="0xFAC" /> 0839 </type> 0840 <type name="rgStyleTextProp9" type="StyleTextProp9" array="true" 0841 size="rh.recLen" /> 0842 </struct> 0843 <struct name="StyleTextProp9"> 0844 <type name="pf9" type="TextPFException9" /> 0845 <type name="cf9" type="TextCFException9" /> 0846 <type name="si" type="TextSIException"> 0847 <limitation name="spell" value="false" /> 0848 <limitation name="lang" value="false" /> 0849 <limitation name="altLang" value="false" /> 0850 <limitation name="smartTag" value="false" /> 0851 </type> 0852 </struct> 0853 <struct name="PP10DocBinaryTagExtension"> 0854 <type name="rh" type="RecordHeader"> 0855 <limitation name="recVer" value="0x0" /> 0856 <limitation name="recInstance" value="0" /> 0857 <limitation name="recType" value="0x0FBA" /> 0858 <limitation name="recLen" value="0x10" /> 0859 </type> 0860 <uint8 name="tagName" count="16" /> 0861 <type name="rhData" type="RecordHeader"> 0862 <limitation name="recVer" value="0x0" /> 0863 <limitation name="recInstance" value="0" /> 0864 <limitation name="recType" value="0x138B" /> 0865 </type> 0866 <type name="fontCollectionContainer" type="FontCollection10Container" 0867 optional="true" /> 0868 <type name="rgTextMasterStyle10" type="TextMasterStyle10Atom" 0869 array="true" /> 0870 <type name="textDefaultsAtom" type="TextDefaults10Atom" optional="true" /> 0871 <type name="gridSpacingAtom" type="GridSpacing10Atom" /> 0872 <type name="rgCommentIndex10" type="CommentIndex10Container" 0873 array="true" /> 0874 <type name="fontEmbedFlagsAtom" type="FontEmbedFlags10Atom" 0875 optional="true" /> 0876 <type name="copyrightAtom" type="CopyrightAtom" optional="true" /> 0877 <type name="keywordsAtom" type="KeywordsAtom" optional="true" /> 0878 <type name="filterPrivacyFlagsAtom" type="FilterPrivacyFlags10Atom" 0879 optional="true" /> 0880 <type name="outlineTextPropsContainer" type="OutlineTextProps10Container" 0881 optional="true" /> 0882 <type name="docToolbarStatesAtom" type="DocToolbarStates10Atom" 0883 optional="true" /> 0884 <type name="slideListTableContainer" type="SlideListTable10Container" 0885 optional="true" /> 0886 <type name="rgDiffTree10Container" type="DiffTree10Container" 0887 optional="true" /> 0888 <type name="modifyPasswordAtom" type="ModifyPasswordAtom" 0889 optional="true" /> 0890 <type name="photoAlbumInfoAtom" type="PhotoAlbumInfo10Atom" 0891 optional="true" /> 0892 </struct> 0893 <struct name="FontCollection10Container"> 0894 <type name="rh" type="RecordHeader"> 0895 <limitation name="recVer" value="0xF" /> 0896 <limitation name="recInstance" value="0x0" /> 0897 <limitation name="recType" value="0x07D6" /> 0898 </type> 0899 <!-- <uint8 name="todo" count="rh.recLen" /> --> 0900 <type name="rgFontCollectionEntry" type="FontCollectionEntry" 0901 array="true" size="rh.recLen" /> 0902 </struct> 0903 <struct name="TextMasterStyle10Atom"> 0904 <type name="rh" type="RecordHeader"> 0905 <limitation name="recVer" value="0x0" /> 0906 <limitation name="recInstance" value="0|1|2|3|4|5|6|7|8" /> 0907 <limitation name="recType" value="0x0FB2" /> 0908 </type> 0909 <uint16 name="cLevels"> 0910 <limitation expression="<=5" /> 0911 </uint16> 0912 <!-- 0913 level field of TextMasterStyleLevel is put here, because its presence 0914 depends on this structure and currently child access to parent 0915 properties is not supported 0916 --> 0917 <uint16 name="lstLvl1level" condition="cLevels>0 && rh.recInstance>=5" /> 0918 <type name="lstLvl1" type="TextMasterStyle10Level" condition="cLevels>0" /> 0919 <uint16 name="lstLvl2level" condition="cLevels>1 && rh.recInstance>=5" /> 0920 <type name="lstLvl2" type="TextMasterStyle10Level" condition="cLevels>1" /> 0921 <uint16 name="lstLvl3level" condition="cLevels>2 && rh.recInstance>=5" /> 0922 <type name="lstLvl3" type="TextMasterStyle10Level" condition="cLevels>2" /> 0923 <uint16 name="lstLvl4level" condition="cLevels>3 && rh.recInstance>=5" /> 0924 <type name="lstLvl4" type="TextMasterStyle10Level" condition="cLevels>3" /> 0925 <uint16 name="lstLvl5level" condition="cLevels>4 && rh.recInstance>=5" /> 0926 <type name="lstLvl5" type="TextMasterStyle10Level" condition="cLevels>4" /> 0927 </struct> 0928 <struct name="TextMasterStyle10Level"> 0929 <type name="cf10" type="TextCFException10" /> 0930 </struct> 0931 <struct name="TextCFException10"> 0932 <type name="masks" type="CFMasks"> 0933 <limitation name="bold" value="false" /> 0934 <limitation name="italic" value="false" /> 0935 <limitation name="underline" value="false" /> 0936 <limitation name="shadow" value="false" /> 0937 <limitation name="fehint" value="false" /> 0938 <limitation name="kumi" value="false" /> 0939 <limitation name="emboss" value="false" /> 0940 <limitation name="reserved" value="0" /> 0941 <limitation name="typeface" value="false" /> 0942 <limitation name="size" value="false" /> 0943 <limitation name="color" value="false" /> 0944 <limitation name="position" value="false" /> 0945 <limitation name="pp10ext" value="false" /> 0946 <limitation name="oldEATypeface" value="false" /> 0947 <limitation name="ansiTypeface" value="false" /> 0948 <limitation name="symbolTypeface" value="false" /> 0949 </type> 0950 <!--ToDo check it is correct or not --> 0951 <uint16 name="newEAFontRef" condition="masks.newEATypeface" /> 0952 <uint16 name="csFontRef" condition="masks.csTypeface" /> 0953 <uint32 name="pp11ext" condition="masks.pp11ext" /> 0954 </struct> 0955 <struct name="TextDefaults10Atom"> 0956 <type name="rh" type="RecordHeader"> 0957 <limitation name="recVer" value="0x0" /> 0958 <limitation name="recInstance" value="0x0" /> 0959 <limitation name="recType" value="0x0FB4" /> 0960 </type> 0961 <type name="cf10" type="TextCFException10" /> 0962 </struct> 0963 <struct name="GridSpacing10Atom"> 0964 <type name="rh" type="RecordHeader"> 0965 <limitation name="recVer" value="0x0" /> 0966 <limitation name="recInstance" value="0x0" /> 0967 <limitation name="recType" value="0x040D" /> 0968 <limitation name="recLen" value="0x08" /> 0969 </type> 0970 <uint32 name="x"> 0971 <limitation expression=">=23224" /> 0972 <limitation expression="<=1179648" /> 0973 </uint32> 0974 <uint32 name="y"> 0975 <!-- 0976 TODO: fix generator to handle this expression <limitation 0977 expression="x==y" /> 0978 --> 0979 <limitation expression=">=23224" /> 0980 <limitation expression="<=1179648" /> 0981 </uint32> 0982 </struct> 0983 <struct name="CommentIndex10Container"> 0984 <type name="rh" type="RecordHeader"> 0985 <limitation name="recVer" value="0xF" /> 0986 <limitation name="recInstance" value="0x0" /> 0987 <limitation name="recType" value="0x2EE4" /> 0988 </type> 0989 <type name="authorNameAtom" type="AuthorNameAtom" optional="true" /> 0990 <type name="authorIndexAtom" type="CommentIndex10Atom" optional="true" /> 0991 </struct> 0992 <struct name="AuthorNameAtom"> 0993 <type name="rh" type="RecordHeader"> 0994 <limitation name="recVer" value="0x0" /> 0995 <limitation name="recInstance" value="0x0" /> 0996 <limitation name="recType" value="0x0FBA" /> 0997 <limitation name="recLen" expression="<=104" /> 0998 <limitation name="recLen" expression="%2==0" /> 0999 </type> 1000 <uint8 name="authorName" count="rh.recLen" /> 1001 </struct> 1002 <struct name="CommentIndex10Atom"> 1003 <type name="rh" type="RecordHeader"> 1004 <limitation name="recVer" value="0x0" /> 1005 <limitation name="recInstance" value="0x0" /> 1006 <limitation name="recType" value="0x2EE5" /> 1007 <limitation name="recLen" value="0x08" /> 1008 </type> 1009 <int32 name="colorIndex"> 1010 <limitation expression=">=0" /> 1011 </int32> 1012 <int32 name="commentIndexSeed"> 1013 <limitation expression=">=0" /> 1014 <!-- TODO: limitation seems tough to do --> 1015 </int32> 1016 </struct> 1017 <struct name="FontEmbedFlags10Atom"> 1018 <type name="rh" type="RecordHeader"> 1019 <limitation name="recVer" value="0x0" /> 1020 <limitation name="recInstance" value="0x0" /> 1021 <limitation name="recType" value="0x32C8" /> 1022 <limitation name="recLen" value="0x04" /> 1023 </type> 1024 <bit name="fSubset" /> 1025 <bit name="fSubsetOptionConfirmed" /> 1026 <uint14 name="unuseda" /> 1027 <uint16 name="unusedb" /> 1028 </struct> 1029 <struct name="CopyrightAtom"> 1030 <type name="rh" type="RecordHeader"> 1031 <limitation name="recVer" value="0x0" /> 1032 <limitation name="recInstance" value="0x1" /> 1033 <limitation name="recType" value="0x0FBA" /> 1034 <limitation name="recLen" expression="<=510" /> 1035 <limitation name="recLen" expression="%2==0" /> 1036 </type> 1037 <uint8 name="copyright" count="rh.recLen" /> 1038 </struct> 1039 <struct name="KeywordsAtom"> 1040 <type name="rh" type="RecordHeader"> 1041 <limitation name="recVer" value="0x0" /> 1042 <limitation name="recInstance" value="0x2" /> 1043 <limitation name="recType" value="0x0FBA" /> 1044 <limitation name="recLen" expression="<=510" /> 1045 <limitation name="recLen" expression="%2==0" /> 1046 </type> 1047 <uint8 name="keywords" count="rh.recLen" /> 1048 </struct> 1049 <struct name="FilterPrivacyFlags10Atom"> 1050 <type name="rh" type="RecordHeader"> 1051 <limitation name="recVer" value="0x0" /> 1052 <limitation name="recInstance" value="0x0" /> 1053 <limitation name="recType" value="0x36B0" /> 1054 <limitation name="recLen" value="0x04" /> 1055 </type> 1056 <bit name="fRemovePII" /> 1057 <uint7 name="reserved2a"> 1058 <limitation value="0x0" /> 1059 </uint7> 1060 <uint8 name="reserved2b"> 1061 <limitation value="0x0" /> 1062 </uint8> 1063 <uint16 name="reserved2c"> 1064 <limitation value="0x0" /> 1065 </uint16> 1066 </struct> 1067 <struct name="OutlineTextProps10Container"> 1068 <type name="rh" type="RecordHeader"> 1069 <limitation name="recVer" value="0xF" /> 1070 <limitation name="recInstance" value="0" /> 1071 <limitation name="recType" value="0x0FB3" /> 1072 </type> 1073 <type name="rgOutlineTextProps10Entry" type="OutlineTextProps10Entry" 1074 array="true" /> 1075 </struct> 1076 <struct name="OutlineTextProps10Entry"> 1077 <type name="outlineTextHeaderAtom" type="OutlineTextPropsHeaderExAtom" /> 1078 <type name="styleTextProp10Atom" type="StyleTextProp10Atom" /> 1079 </struct> 1080 <struct name="StyleTextProp10Atom"> 1081 <type name="rh" type="RecordHeader"> 1082 <limitation name="recVer" value="0" /> 1083 <limitation name="recInstance" value="0x0" /> 1084 <limitation name="recType" value="0xFB1" /> 1085 </type> 1086 <type name="rgStyleTextProp10" type="TextCFException10" array="true" /> 1087 </struct> 1088 <struct name="DocToolbarStates10Atom"> 1089 <type name="rh" type="RecordHeader"> 1090 <limitation name="recVer" value="0x0" /> 1091 <limitation name="recInstance" value="0" /> 1092 <limitation name="recType" value="0x36B1" /> 1093 <limitation name="recLen" value="0x01" /> 1094 </type> 1095 <bit name="fShowReviewingToolbar" /> 1096 <bit name="fShowReviewingGallery" /> 1097 <uint6 name="reserved"> 1098 <limitation value="0x0" /> 1099 </uint6> 1100 </struct> 1101 <struct name="SlideListTable10Container"> 1102 <type name="rh" type="RecordHeader"> 1103 <limitation name="recVer" value="0xF" /> 1104 <limitation name="recInstance" value="0" /> 1105 <limitation name="recType" value="0x2EF1" /> 1106 </type> 1107 <uint8 name="todo" count="rh.recLen" /> 1108 </struct> 1109 <struct name="DiffTree10Container"> 1110 <type name="rh" type="RecordHeader"> 1111 <limitation name="recVer" value="0xF" /> 1112 <limitation name="recInstance" value="0" /> 1113 <limitation name="recType" value="0x2EEC" /> 1114 </type> 1115 <uint8 name="todo" count="rh.recLen" /> 1116 </struct> 1117 <struct name="ModifyPasswordAtom"> 1118 <type name="rh" type="RecordHeader"> 1119 <limitation name="recVer" value="0x0" /> 1120 <limitation name="recInstance" value="0x03" /> 1121 <limitation name="recType" value="0x0FBA" /> 1122 <limitation name="recLen" expression="<=510" /> 1123 <limitation name="recLen" expression="%2==0" /> 1124 </type> 1125 <uint8 name="modifyPassword" count="rh.recLen" /> 1126 </struct> 1127 <struct name="PhotoAlbumInfo10Atom"> 1128 <type name="rh" type="RecordHeader"> 1129 <limitation name="recVer" value="0x0" /> 1130 <limitation name="recInstance" value="0x0" /> 1131 <limitation name="recType" value="0x036B2" /> 1132 <limitation name="recLen" value="0x06" /> 1133 </type> 1134 <uint8 name="fUseBlackWhite" /> 1135 <uint8 name="fHasCaption" /> 1136 <uint8 name="layout"> 1137 <limitation value="0|1|2|3|4|5|6" /> 1138 </uint8> 1139 <uint8 name="unused" /> 1140 <uint16 name="frameShape"> 1141 <limitation value="0x0000|0x0001|0x0002|0x0003|0x0004|0x0005|0x0006" /> 1142 </uint16> 1143 </struct> 1144 <struct name="PP11DocBinaryTagExtension"> 1145 <type name="rh" type="RecordHeader"> 1146 <limitation name="recVer" value="0x0" /> 1147 <limitation name="recInstance" value="0" /> 1148 <limitation name="recType" value="0x0FBA" /> 1149 <limitation name="recLen" value="0x10" /> 1150 </type> 1151 <uint8 name="tagName" count="16" /> 1152 <type name="rhData" type="RecordHeader"> 1153 <limitation name="recVer" value="0x0" /> 1154 <limitation name="recInstance" value="0" /> 1155 <limitation name="recType" value="0x138B" /> 1156 </type> 1157 <type name="smartTagStore11" type="SmartTagStore11Container" /> 1158 <type name="outlineTextProps" type="OutlineTextProps11Container" /> 1159 </struct> 1160 <struct name="SmartTagStore11Container"> 1161 <type name="rh" type="RecordHeader"> 1162 <limitation name="recVer" value="0xF" /> 1163 <limitation name="recInstance" value="0x0" /> 1164 <limitation name="recType" value="0x36B3" /> 1165 </type> 1166 <uint8 name="todo" count="rh.recLen" /> 1167 </struct> 1168 <struct name="OutlineTextProps11Container"> 1169 <type name="rh" type="RecordHeader"> 1170 <limitation name="recVer" value="0xF" /> 1171 <limitation name="recInstance" value="0x0" /> 1172 <limitation name="recType" value="0x0FB5" /> 1173 </type> 1174 <uint8 name="todo" count="rh.recLen" /> 1175 </struct> 1176 <struct name="UnknownBinaryTag"> 1177 <type name="tagNameAtom" type="TagNameAtom" /> 1178 <type name="tagData" type="BinaryTagDataBlob" /> 1179 </struct> 1180 <struct name="BinaryTagDataBlob"> 1181 <type name="rh" type="RecordHeader"> 1182 <limitation name="recVer" value="0x0" /> 1183 <limitation name="recInstance" value="0x0" /> 1184 <limitation name="recType" value="0x138B" /> 1185 </type> 1186 <uint8 name="data" count="rh.recLen" /> 1187 </struct> 1188 <struct name="PP12DocBinaryTagExtension"> 1189 <type name="rh" type="RecordHeader"> 1190 <limitation name="recVer" value="0x0" /> 1191 <limitation name="recInstance" value="0" /> 1192 <limitation name="recType" value="0x0FBA" /> 1193 <limitation name="recLen" value="0x10" /> 1194 </type> 1195 <uint8 name="tagName" count="16" /> 1196 <type name="rhData" type="RecordHeader"> 1197 <limitation name="recVer" value="0x0" /> 1198 <limitation name="recInstance" value="0" /> 1199 <limitation name="recType" value="0x138B" /> 1200 </type> 1201 <uint8 name="todo" count="rhData.recLen" /> 1202 </struct> 1203 <struct name="NotesTextViewInfoContainer"> 1204 <type name="rh" type="RecordHeader"> 1205 <limitation name="recVer" value="0xF" /> 1206 <limitation name="recInstance" value="1" /> 1207 <limitation name="recType" value="0x413" /> 1208 </type> 1209 <type name="zoomViewInfo" type="ZoomViewInfoAtom" /> 1210 </struct> 1211 <struct name="OutlineViewInfoContainer"> 1212 <type name="rh" type="RecordHeader"> 1213 <limitation name="recVer" value="0xF" /> 1214 <!-- OpenOffice writes 0 here. --> 1215 <limitation name="recInstance" value="0|1" /> 1216 <limitation name="recType" value="0x407" /> 1217 </type> 1218 <type name="noZoomViewInfo" type="NoZoomViewInfoAtom" /> 1219 </struct> 1220 <struct name="NoZoomViewInfoAtom"> 1221 <type name="rh" type="RecordHeader"> 1222 <limitation name="recVer" value="0" /> 1223 <limitation name="recInstance" value="0" /> 1224 <limitation name="recType" value="0x3FD" /> 1225 <limitation name="recLen" value="0x34" /> 1226 </type> 1227 <type name="curScale" type="ScalingStruct" /> 1228 <uint8 name="unused1" count="24" /> 1229 <type name="origin" type="PointStruct" /> 1230 <uint8 name="unused2" /> 1231 <uint8 name="fDraftMode" /> 1232 <uint16 name="unused3" /> 1233 </struct> 1234 <struct name="SorterViewInfoContainer"> 1235 <type name="rh" type="RecordHeader"> 1236 <limitation name="recVer" value="0xF" /> 1237 <limitation name="recInstance" value="1" /> 1238 <limitation name="recType" value="0x408" /> 1239 </type> 1240 <uint8 name="todo" count="rh.recLen" /> 1241 </struct> 1242 <struct name="VBAInfoContainer"> 1243 <type name="rh" type="RecordHeader"> 1244 <limitation name="recVer" value="0xF" /> 1245 <limitation name="recInstance" value="1" /> 1246 <limitation name="recType" value="0x3FF" /> 1247 <limitation name="recLen" value="0x14" /> 1248 </type> 1249 <type name="vbaInfoAtom" type="VBAInfoAtom" /> 1250 </struct> 1251 <struct name="VBAInfoAtom"> 1252 <type name="rh" type="RecordHeader"> 1253 <limitation name="recVer" value="2" /> 1254 <limitation name="recInstance" value="0" /> 1255 <limitation name="recType" value="0x400" /> 1256 <limitation name="recLen" value="0xC" /> 1257 </type> 1258 <uint32 name="persistIdRef" /> 1259 <uint32 name="fHasMacros"> 1260 <limitation value="0|1" /> 1261 </uint32> 1262 <uint32 name="version"> 1263 <!-- OpenOffice writes 0 or 1 instead of 2 --> 1264 <limitation value="0|1|2" /> 1265 </uint32> 1266 </struct> 1267 <struct name="NormalViewSetInfoContainer"> 1268 <type name="rh" type="RecordHeader"> 1269 <limitation name="recVer" value="0xF" /> 1270 <limitation name="recInstance" value="1" /> 1271 <limitation name="recType" value="0x414" /> 1272 <limitation name="recLen" value="0x1C" /> 1273 </type> 1274 <type name="normalViewSetInfoAtom" type="NormalViewSetInfoAtom" /> 1275 </struct> 1276 <struct name="NormalViewSetInfoAtom"> 1277 <type name="rh" type="RecordHeader"> 1278 <limitation name="recVer" value="0" /> 1279 <limitation name="recInstance" value="0" /> 1280 <limitation name="recType" value="0x415" /> 1281 <limitation name="recLen" value="0x14" /> 1282 </type> 1283 <type name="leftPortion" type="RatioStruct"> 1284 <!-- 1285 This is not true in a sample doc <limitation 1286 expression="numer*denom>=0" /> <limitation 1287 expression="denom/numer>=1" /> 1288 --> 1289 </type> 1290 <type name="topPortion" type="RatioStruct"> 1291 <!-- 1292 This is not true in a sample doc <limitation 1293 expression="numer*denom>=0" /> <limitation 1294 expression="denom/numer>=1" /> 1295 --> 1296 </type> 1297 <uint8 name="vertBarState" /> 1298 <uint8 name="horizBarState" /> 1299 <uint8 name="fPreferSingleSet"> 1300 <limitation value="0|1" /> 1301 </uint8> 1302 <bit name="fHideThumbnails" /> 1303 <bit name="fBarSnapped" /> 1304 <uint6 name="reserved"> 1305 <limitation value="0" /> 1306 </uint6> 1307 </struct> 1308 <struct name="MasterListWithTextContainer"> 1309 <type name="rh" type="RecordHeader"> 1310 <limitation name="recVer" value="0xF" /> 1311 <limitation name="recInstance" value="0x1" /> 1312 <limitation name="recType" value="0x0FF0" /> 1313 <limitation name="recLen" expression="%28==0" /> 1314 </type> 1315 <type name="rgMasterPersistAtom" type="MasterPersistAtom" count="rh.recLen/28" /> 1316 </struct> 1317 <struct name="MasterPersistAtom"> 1318 <type name="rh" type="RecordHeader"> 1319 <limitation name="recVer" value="0" /> 1320 <limitation name="recInstance" value="0" /> 1321 <limitation name="recType" value="0x3F3" /> 1322 <limitation name="recLen" value="0x14" /> 1323 </type> 1324 <uint32 name="persistIdRef" /> 1325 <uint2 name="reserved1"> 1326 <limitation value="0" /> 1327 </uint2> 1328 <bit name="fNonOutLineData" /> 1329 <uint5 name="reserved2"> 1330 <limitation value="0" /> 1331 </uint5> 1332 <uint8 name="reserved3"> 1333 <limitation value="0" /> 1334 </uint8> 1335 <uint16 name="reserved4"> 1336 <limitation value="0" /> 1337 </uint16> 1338 <uint32 name="reserved5"> 1339 <limitation value="0" /> 1340 </uint32> 1341 <uint32 name="masterId" /> 1342 <uint32 name="reserved6"> 1343 <limitation value="0" /> 1344 </uint32> 1345 </struct> 1346 <struct name="SlideListWithTextContainer"> 1347 <type name="rh" type="RecordHeader"> 1348 <limitation name="recVer" value="0xF" /> 1349 <limitation name="recInstance" value="0x0" /> 1350 <limitation name="recType" value="0x0FF0" /> 1351 </type> 1352 <type name="rgChildRec" type="SlideListWithTextSubContainerOrAtom" 1353 array="true" /> 1354 </struct> 1355 <struct name="NotesListWithTextContainer"> 1356 <type name="rh" type="RecordHeader"> 1357 <limitation name="recVer" value="0xF" /> 1358 <limitation name="recInstance" value="2" /> 1359 <limitation name="recType" value="0x0FF0" /> 1360 </type> 1361 <type name="rgNotesPersistAtom" type="NotesPersistAtom" array="true" /> 1362 </struct> 1363 <struct name="NotesPersistAtom"> 1364 <type name="rh" type="RecordHeader"> 1365 <limitation name="recVer" value="0x0" /> 1366 <limitation name="recInstance" value="0" /> 1367 <limitation name="recType" value="0x03F3" /> 1368 <limitation name="recLen" value="0x14" /> 1369 </type> 1370 <uint32 name="persistIdRef" /> 1371 <uint2 name="reserved1"> 1372 <limitation value="0" /> 1373 </uint2> 1374 <bit name="fNonOutlineData" /> 1375 <uint5 name="reserved2a"> 1376 <limitation value="0" /> 1377 </uint5> 1378 <uint8 name="reserved2b"> 1379 <limitation value="0" /> 1380 </uint8> 1381 <uint16 name="reserved2c"> 1382 <limitation value="0" /> 1383 </uint16> 1384 <uint32 name="reserved3"> 1385 <limitation value="0" /> 1386 </uint32> 1387 <uint32 name="notesId" /> 1388 <uint32 name="reserved4"> 1389 <limitation value="0" /> 1390 </uint32> 1391 </struct> 1392 <struct name="SlideListWithTextSubContainerOrAtom"> 1393 <type name="slidePersistAtom" type="SlidePersistAtom" /> 1394 <type name="atoms" type="TextContainer" array="true" /> 1395 </struct> 1396 <struct name="TextClientDataSubContainerOrAtom"> 1397 <choice name="anon"> 1398 <type type="OutlineAtom" /> 1399 <type type="TextContainer" /> 1400 </choice> 1401 </struct> 1402 <!-- 1403 This is an interpretation of the OfficeArtClientTextBoxAtom as 1404 specified by the ABNF grammar in the MS-PPT, p.420. 1405 --> 1406 <struct name="OutlineAtom"> 1407 <type name="outlineTextRefAtom" type="OutlineTextRefAtom" /> 1408 <type name="textRulerAtom" type="TextRulerAtom" optional="true" /> 1409 </struct> 1410 <!-- 1411 This is an interpretation of the OfficeArtClientTextBoxAtom as 1412 specified by the ABNF grammar in the MS-PPT, p.420. 1413 --> 1414 <struct name="TextContainer"> 1415 <type name="textHeaderAtom" type="TextHeaderAtom" /> 1416 <choice name="text" optional="true"> 1417 <type type="TextCharsAtom" /> 1418 <type type="TextBytesAtom" /> 1419 </choice> 1420 <!-- 1421 TODO: TextStylePropAtom = *1(RT_StyleTextPropAtom / RT_MasterTextPropAtom) 1422 --> 1423 <type name="style" type="StyleTextPropAtom" optional="true" /> 1424 <type name="meta" type="TextContainerMeta" array="true" /> 1425 1426 <!-- Perhaps this does not belong here. Following containers 1427 are optional and their order might differ. --> 1428 1429 <type name="master" type="MasterTextPropAtom" optional="true" /> 1430 <type name="bookmark" type="TextBookmarkAtom" array="true" /> 1431 1432 <!-- MS-PPT spec. violation - Unknown container (MS Office2003 specific). --> 1433 <type name="unknown" type="UnknownTextContainerChild" optional="true" /> 1434 <type name="specialinfo" type="TextSpecialInfoAtom" optional="true" /> 1435 <type name="interactive" type="TextContainerInteractiveInfo" array="true" /> 1436 <!-- ABNF violation - element contents MUST by strictly ordered. --> 1437 <type name="specialinfo2" type="TextSpecialInfoAtom" optional="true" /> 1438 <!-- 1439 TODO: TextOrMaster = *(RT_TextRulerAtom / RT_MasterTextPropAtom) 1440 --> 1441 <type name="textRulerAtom" type="TextRulerAtom" optional="true" /> 1442 <!-- ABNF violation - element contents MUST by strictly ordered. --> 1443 <type name="interactive2" type="TextContainerInteractiveInfo" array="true" /> 1444 </struct> 1445 <!-- our own invention --> 1446 <struct name="TextContainerMeta"> 1447 <choice name="meta"> 1448 <type type="SlideNumberMCAtom" /> 1449 <type type="DateTimeMCAtom" /> 1450 <type type="GenericDateMCAtom" /> 1451 <type type="HeaderMCAtom" /> 1452 <type type="FooterMCAtom" /> 1453 <type type="RTFDateTimeMCAtom" /> 1454 </choice> 1455 </struct> 1456 <!-- our own invention --> 1457 <struct name="TextContainerInteractiveInfo"> 1458 <choice name="interactive"> 1459 <type type="MouseClickTextInfo" /> 1460 <type type="MouseOverTextInfo" /> 1461 </choice> 1462 </struct> 1463 <!-- our own invention --> 1464 <struct name="MouseClickTextInfo"> 1465 <type name="interactive" type="MouseClickInteractiveInfoContainer" /> 1466 <type name="text" type="MouseClickTextInteractiveInfoAtom" /> 1467 </struct> 1468 <!-- our own invention --> 1469 <struct name="MouseOverTextInfo"> 1470 <type name="interactive" type="MouseOverInteractiveInfoContainer" /> 1471 <type name="text" type="MouseOverTextInteractiveInfoAtom" /> 1472 </struct> 1473 <!-- our own invention --> 1474 <struct name="SlidePersistAtom"> 1475 <type name="rh" type="RecordHeader"> 1476 <limitation name="recVer" value="0" /> 1477 <limitation name="recInstance" value="0" /> 1478 <limitation name="recType" value="0x3F3" /> 1479 <limitation name="recLen" value="0x14" /> 1480 </type> 1481 <uint32 name="persistIdRef" /> 1482 <bit name="reserved1"> 1483 <limitation value="false" /> 1484 </bit> 1485 <bit name="fShouldCollapse" /> 1486 <bit name="fNonOutlineData" /> 1487 <uint5 name="reserved2"> 1488 <limitation value="0" /> 1489 </uint5> 1490 <uint8 name="reserved3"> 1491 <limitation value="0" /> 1492 </uint8> 1493 <uint16 name="reserved4"> 1494 <limitation value="0" /> 1495 </uint16> 1496 <int32 name="cTexts"> 1497 <limitation expression=">=0" /> 1498 <limitation expression="<=8" /> 1499 </int32> 1500 <type name="slideId" type="SlideId" /> 1501 <uint32 name="reserved5"> 1502 <limitation value="0" /> 1503 </uint32> 1504 </struct> 1505 <struct name="TextHeaderAtom"> 1506 <type name="rh" type="RecordHeader"> 1507 <limitation name="recVer" value="0" /> 1508 <limitation name="recInstance" value="0|1|2|3|4|5" /> 1509 <limitation name="recType" value="0xF9F" /> 1510 <limitation name="recLen" value="4" /> 1511 </type> 1512 <uint32 name="textType" /> 1513 </struct> 1514 <struct name="TextCharsAtom"> 1515 <type name="rh" type="RecordHeader"> 1516 <limitation name="recVer" value="0" /> 1517 <limitation name="recInstance" value="0" /> 1518 <limitation name="recType" value="0xFA0" /> 1519 <limitation name="recLen" expression="%2==0" /> 1520 </type> 1521 <uint16 name="textChars" count="rh.recLen/2"> 1522 <!-- <limitation value="!0" />--> 1523 </uint16> 1524 </struct> 1525 <struct name="TextBytesAtom"> 1526 <type name="rh" type="RecordHeader"> 1527 <limitation name="recVer" value="0" /> 1528 <limitation name="recInstance" value="0" /> 1529 <limitation name="recType" value="0xFA8" /> 1530 </type> 1531 <uint8 name="textChars" count="rh.recLen"> 1532 <!-- <limitation value="!0" />--> 1533 </uint8> 1534 </struct> 1535 <struct name="MasterTextPropAtom"> 1536 <type name="rh" type="RecordHeader"> 1537 <limitation name="recVer" value="0" /> 1538 <limitation name="recInstance" value="0" /> 1539 <limitation name="recType" value="0xFA2" /> 1540 </type> 1541 <type name="rgMasterTextPropRun" type="MasterTextPropRun" array="true" 1542 size="rh.recLen" /> 1543 </struct> 1544 <struct name="MasterTextPropRun"> 1545 <uint32 name="count" /> 1546 <uint16 name="indentLevel"> 1547 <limitation expression="<=4" /> 1548 </uint16> 1549 </struct> 1550 <struct name="StyleTextPropAtom"> 1551 <type name="rh" type="RecordHeader"> 1552 <limitation name="recVer" value="0" /> 1553 <limitation name="recInstance" value="0" /> 1554 <limitation name="recType" value="0xFA1" /> 1555 </type> 1556 <!-- 1557 <type name="rgTextPFRun" type="TextPFRun" array="true" /> <type 1558 name="rgTextCFRun" type="TextCFRun" array="true" /> 1559 --> 1560 <!-- this one seems very hard to do --> 1561 <uint8 name="todo" count="rh.recLen" /> 1562 <limitation expression="sum(rgTextPFRun/count)=count(../text/textChars)+1" /> 1563 <limitation expression="sum(rgTextCFRun/count)=count(../text/textChars)" /> 1564 </struct> 1565 <struct name="TextPFRun"> 1566 <uint32 name="count"> 1567 <limitation expression=">0" /> 1568 </uint32> 1569 <uint16 name="indentLevel"> 1570 <limitation expression="<=4" /> 1571 </uint16> 1572 <type name="pf" type="TextPFException"> 1573 <limitation name="masks.defaultTabSize" value="false" /> 1574 <limitation name="masks.tabStops" value="false" /> 1575 </type> 1576 </struct> 1577 <struct name="TextCFRun"> 1578 <uint32 name="count"> 1579 <limitation expression=">0" /> 1580 </uint32> 1581 <type name="cf" type="TextCFException" /> 1582 </struct> 1583 <struct name="SlideNumberMCAtom"> 1584 <type name="rh" type="RecordHeader"> 1585 <limitation name="recVer" value="0" /> 1586 <limitation name="recInstance" value="0" /> 1587 <limitation name="recType" value="0xFD8" /> 1588 <limitation name="recLen" value="4" /> 1589 </type> 1590 <int32 name="position" /> 1591 </struct> 1592 <struct name="DateTimeMCAtom"> 1593 <type name="rh" type="RecordHeader"> 1594 <limitation name="recVer" value="0" /> 1595 <limitation name="recInstance" value="0" /> 1596 <limitation name="recType" value="0xFF7" /> 1597 <limitation name="recLen" value="8" /> 1598 </type> 1599 <int32 name="position" /> 1600 <uint8 name="index" /> 1601 <uint8 name="unused" count="3" /> 1602 </struct> 1603 <struct name="GenericDateMCAtom"> 1604 <type name="rh" type="RecordHeader"> 1605 <limitation name="recVer" value="0" /> 1606 <limitation name="recInstance" value="0" /> 1607 <limitation name="recType" value="0xFF8" /> 1608 <limitation name="recLen" value="4" /> 1609 </type> 1610 <int32 name="position" /> 1611 </struct> 1612 <struct name="HeaderMCAtom"> 1613 <type name="rh" type="RecordHeader"> 1614 <limitation name="recVer" value="0" /> 1615 <limitation name="recInstance" value="0" /> 1616 <limitation name="recType" value="0xFF9" /> 1617 <limitation name="recLen" value="4" /> 1618 </type> 1619 <int32 name="position" /> 1620 </struct> 1621 <struct name="FooterMCAtom"> 1622 <type name="rh" type="RecordHeader"> 1623 <limitation name="recVer" value="0" /> 1624 <limitation name="recInstance" value="0" /> 1625 <limitation name="recType" value="0xFFA" /> 1626 <limitation name="recLen" value="4" /> 1627 </type> 1628 <int32 name="position" /> 1629 </struct> 1630 <struct name="RTFDateTimeMCAtom"> 1631 <type name="rh" type="RecordHeader"> 1632 <limitation name="recVer" value="0" /> 1633 <limitation name="recInstance" value="0" /> 1634 <limitation name="recType" value="0x1015" /> 1635 <limitation name="recLen" value="0x84" /> 1636 </type> 1637 <int32 name="position" /> 1638 <uint8 name="format" count="128" /> 1639 </struct> 1640 <struct name="TextBookmarkAtom"> 1641 <type name="rh" type="RecordHeader"> 1642 <limitation name="recVer" value="0" /> 1643 <limitation name="recInstance" value="0" /> 1644 <limitation name="recType" value="0xFA7" /> 1645 <limitation name="recLen" value="0xC" /> 1646 </type> 1647 <int32 name="begin" /> 1648 <int32 name="end"> 1649 <!-- 1650 TODO: figure out how to do this <limitation expression="> begin" 1651 /> <limitation expression="<= begin+255" /> 1652 --> 1653 </int32> 1654 <int32 name="bookmarkID" /> 1655 </struct> 1656 <struct name="TextRange"> 1657 <int32 name="begin" /> 1658 <int32 name="end" /> 1659 </struct> 1660 <struct name="MouseClickTextInteractiveInfoAtom"> 1661 <type name="rh" type="RecordHeader"> 1662 <limitation name="recVer" value="0" /> 1663 <limitation name="recInstance" value="0" /> 1664 <limitation name="recType" value="0xFDF" /> 1665 <limitation name="recLen" value="8" /> 1666 </type> 1667 <type name="range" type="TextRange" /> 1668 </struct> 1669 <struct name="MouseOverTextInteractiveInfoAtom"> 1670 <type name="rh" type="RecordHeader"> 1671 <limitation name="recVer" value="0" /> 1672 <limitation name="recInstance" value="1" /> 1673 <limitation name="recType" value="0xFDF" /> 1674 <limitation name="recLen" value="8" /> 1675 </type> 1676 <type name="range" type="TextRange" /> 1677 </struct> 1678 <struct name="SlideId"> 1679 <uint32 name="slideId"> 1680 <limitation expression=">=100" /> 1681 <limitation expression="<2147483647" /> 1682 </uint32> 1683 </struct> 1684 <struct name="DocumentTextInfoContainer"> 1685 <type name="rh" type="RecordHeader"> 1686 <limitation name="recVer" value="0xF" /> 1687 <limitation name="recInstance" value="0x0" /> 1688 <limitation name="recType" value="0x03F2" /> 1689 </type> 1690 <type name="kinsoku" type="KinsokuContainer" optional="true" /> 1691 <type name="fontCollection" type="FontCollectionContainer" 1692 optional="true" /> 1693 <type name="textCFDefaultsAtom" type="TextCFExceptionAtom" 1694 optional="true" /> 1695 <type name="textPFDefaultsAtom" type="TextPFExceptionAtom" 1696 optional="true" /> 1697 <type name="defaultRulerAtom" type="DefaultRulerAtom" optional="true" /> 1698 <type name="textSIDefaultsAtom" type="TextSIExceptionAtom" /> 1699 <type name="textMasterStyleAtom" type="TextMasterStyleAtom" /> 1700 <!-- 1701 a document has been observed that has two TextMasterStyleAtom members 1702 --> 1703 <type name="textMasterStyleAtom2" type="TextMasterStyleAtom" 1704 optional="true" /> 1705 </struct> 1706 <struct name="TextCFExceptionAtom"> 1707 <type name="rh" type="RecordHeader"> 1708 <limitation name="recVer" value="0x0" /> 1709 <limitation name="recInstance" value="0x0" /> 1710 <limitation name="recType" value="0x0FA4" /> 1711 </type> 1712 <type name="cf" type="TextCFException" /> 1713 </struct> 1714 <struct name="DefaultRulerAtom"> 1715 <type name="rh" type="RecordHeader"> 1716 <limitation name="recVer" value="0x0" /> 1717 <limitation name="recInstance" value="0x0" /> 1718 <limitation name="recType" value="0x0FAB" /> 1719 </type> 1720 <type name="defaultTextRuler" type="TextRuler"> 1721 <limitation name="fDefaultTabSize" value="true" /> 1722 <limitation name="fCLevels" value="true" /> 1723 <limitation name="fTabStops" value="true" /> 1724 <limitation name="fLeftMargin1" value="true" /> 1725 <limitation name="fLeftMargin2" value="true" /> 1726 <limitation name="fLeftMargin3" value="true" /> 1727 <limitation name="fLeftMargin4" value="true" /> 1728 <limitation name="fIndent1" value="true" /> 1729 <limitation name="fIndent2" value="true" /> 1730 <limitation name="fIndent3" value="true" /> 1731 <limitation name="fIndent4" value="true" /> 1732 <limitation name="fIndent5" value="true" /> 1733 </type> 1734 </struct> 1735 <struct name="TextRuler"> 1736 <bit name="fDefaultTabSize" /> 1737 <bit name="fCLevels" /> 1738 <bit name="fTabStops" /> 1739 <bit name="fLeftMargin1" /> 1740 <bit name="fLeftMargin2" /> 1741 <bit name="fLeftMargin3" /> 1742 <bit name="fLeftMargin4" /> 1743 <bit name="fLeftMargin5" /> 1744 <bit name="fIndent1" /> 1745 <bit name="fIndent2" /> 1746 <bit name="fIndent3" /> 1747 <bit name="fIndent4" /> 1748 <bit name="fIndent5" /> 1749 <uint3 name="reserved1" /> 1750 <uint16 name="reserved2" /> 1751 <int16 name="cLevels" condition="fCLevels" /> 1752 <uint16 name="defaultTabSize" condition="fDefaultTabSize" /> 1753 <type name="tabs" type="TabStops" condition="fTabStops" /> 1754 <uint16 name="leftMargin1" condition="fLeftMargin1" /> 1755 <uint16 name="indent1" condition="fIndent1" /> 1756 <uint16 name="leftMargin2" condition="fLeftMargin2" /> 1757 <uint16 name="indent2" condition="fIndent2" /> 1758 <uint16 name="leftMargin3" condition="fLeftMargin3" /> 1759 <uint16 name="indent3" condition="fIndent3" /> 1760 <uint16 name="leftMargin4" condition="fLeftMargin4" /> 1761 <uint16 name="indent4" condition="fIndent4" /> 1762 <uint16 name="leftMargin5" condition="fLeftMargin5" /> 1763 <uint16 name="indent5" condition="fIndent5" /> 1764 </struct> 1765 <struct name="TabStops"> 1766 <uint16 name="count" /> 1767 <type name="rgTabStop" count="count" type="TabStop" /> 1768 </struct> 1769 <struct name="TabStop"> 1770 <int16 name="position" /> 1771 <uint16 name="type" /> 1772 </struct> 1773 <struct name="TextPFExceptionAtom"> 1774 <type name="rh" type="RecordHeader"> 1775 <limitation name="recVer" value="0x0" /> 1776 <limitation name="recInstance" value="0x0" /> 1777 <limitation name="recType" value="0x0FA5" /> 1778 </type> 1779 <uint16 name="reserved" /> 1780 <type name="pf" type="TextPFException" /> 1781 </struct> 1782 <struct name="TextPFException"> 1783 <type name="masks" type="PFMasks"> 1784 <!-- 1785 it seems ppt files generated with OpenOffice Impress 3.0 can have 1786 bulletBlip = true 1787 --> 1788 <limitation name="bulletBlip" value="false" /> 1789 <!-- 1790 it seems ppt files generated with OpenOffice Impress 3.0 can have 1791 bulletHasScheme = true 1792 --> 1793 <limitation name="bulletHasScheme" value="false" /> 1794 <!-- 1795 it seems ppt files generated with OpenOffice Impress 3.0 can have 1796 bulletScheme = true 1797 --> 1798 <limitation name="bulletScheme" value="false" /> 1799 </type> 1800 <type name="bulletFlags" type="BulletFlags" 1801 condition="masks.hasBullet||masks.bulletHasFont||masks.bulletHasColor||masks.bulletHasSize" /> 1802 <int16 name="bulletChar" condition="masks.bulletChar"> 1803 <!-- 1804 OpenOffice violates this constraint, so we do not check it 1805 <limitation value="!0" /> 1806 --> 1807 </int16> 1808 <uint16 name="bulletFontRef" condition="masks.bulletFont" /> 1809 <int16 name="bulletSize" condition="masks.bulletSize" /> 1810 <type name="bulletColor" condition="masks.bulletColor" type="ColorIndexStruct" /> 1811 <uint16 name="textAlignment" condition="masks.align" /> 1812 <int16 name="lineSpacing" condition="masks.lineSpacing" /> 1813 <int16 name="spaceBefore" condition="masks.spaceBefore" /> 1814 <int16 name="spaceAfter" condition="masks.spaceAfter" /> 1815 <uint16 name="leftMargin" condition="masks.leftMargin" /> 1816 <uint16 name="indent" condition="masks.indent" /> 1817 <uint16 name="defaultTabSize" condition="masks.defaultTabSize" /> 1818 <type name="tabStops" type="TabStops" condition="masks.tabStops" /> 1819 <uint16 name="fontAlign" condition="masks.fontAlign" /> 1820 <type name="wrapFlags" type="PFWrapFlags" 1821 condition="masks.charWrap||masks.wordWrap||masks.overflow" /> 1822 <uint16 name="textDirection" condition="masks.textDirection" /> 1823 </struct> 1824 <struct name="PFWrapFlags"> 1825 <bit name="charWrap" /> 1826 <bit name="wordWrap" /> 1827 <bit name="overflow" /> 1828 <uint5 name="reserved1" /> 1829 <uint8 name="reserved2" /> 1830 </struct> 1831 <struct name="ColorIndexStruct"> 1832 <uint8 name="red" /> 1833 <uint8 name="green" /> 1834 <uint8 name="blue" /> 1835 <uint8 name="index"> 1836 <!-- limitation expression="<8 || >253" />--> 1837 </uint8> 1838 </struct> 1839 <struct name="BulletFlags"> 1840 <bit name="fHasBullet" /> 1841 <bit name="fBulletHasFont" /> 1842 <bit name="fBulletHasColor" /> 1843 <bit name="fBulletHasSize" /> 1844 <uint12 name="reserved" /> 1845 </struct> 1846 <struct name="PFMasks"> 1847 <bit name="hasBullet" /> 1848 <bit name="bulletHasFont" /> 1849 <bit name="bulletHasColor" /> 1850 <bit name="bulletHasSize" /> 1851 <bit name="bulletFont" /> 1852 <bit name="bulletColor" /> 1853 <bit name="bulletSize" /> 1854 <bit name="bulletChar" /> 1855 <bit name="leftMargin" /> 1856 <bit name="unused" /> 1857 <bit name="indent" /> 1858 <bit name="align" /> 1859 <bit name="lineSpacing" /> 1860 <bit name="spaceBefore" /> 1861 <bit name="spaceAfter" /> 1862 <bit name="defaultTabSize" /> 1863 <bit name="fontAlign" /> 1864 <bit name="charWrap" /> 1865 <bit name="wordWrap" /> 1866 <bit name="overflow" /> 1867 <bit name="tabStops" /> 1868 <bit name="textDirection" /> 1869 <bit name="reserved" /> 1870 <bit name="bulletBlip" /> 1871 <bit name="bulletScheme" /> 1872 <bit name="bulletHasScheme" /> 1873 <uint6 name="reserved2" /> 1874 </struct> 1875 <struct name="TextCFException"> 1876 <type name="masks" type="CFMasks"> 1877 <limitation name="pp10ext" value="false" /> 1878 <limitation name="newEATypeface" value="false" /> 1879 <limitation name="csTypeface" value="false" /> 1880 <limitation name="pp11ext" value="false" /> 1881 </type> 1882 <type name="fontStyle" type="CFStyle" 1883 condition="masks.bold || masks.italic || masks.underline || masks.shadow || masks.fehint || masks.kumi || masks.emboss || masks.fHasStyle != 0" /> 1884 <uint16 name="fontRef" condition="masks.typeface" /> 1885 <uint16 name="oldEAFontRef" condition="masks.oldEATypeface" /> 1886 <uint16 name="ansiFontRef" condition="masks.ansiTypeface" /> 1887 <uint16 name="symbolFontRef" condition="masks.symbolTypeface" /> 1888 <uint16 name="fontSize" condition="masks.size"> 1889 <limitation expression=">=1" /> 1890 <limitation expression="<=4000" /> 1891 </uint16> 1892 <type name="color" condition="masks.color" type="ColorIndexStruct" /> 1893 <int16 name="position" condition="masks.position"> 1894 <limitation expression=">=-100" /> 1895 <limitation expression="<=100" /> 1896 </int16> 1897 </struct> 1898 <struct name="CFMasks"> 1899 <bit name="bold" /> 1900 <bit name="italic" /> 1901 <bit name="underline" /> 1902 <bit name="unused1" /> 1903 <bit name="shadow" /> 1904 <bit name="fehint" /> 1905 <bit name="unused2" /> 1906 <bit name="kumi" /> 1907 <bit name="unused3" /> 1908 <bit name="emboss" /> 1909 <uint4 name="fHasStyle" /> 1910 <uint2 name="unused4" /> 1911 <bit name="typeface" /> 1912 <bit name="size" /> 1913 <bit name="color" /> 1914 <bit name="position" /> 1915 <bit name="pp10ext" /> 1916 <bit name="oldEATypeface" /> 1917 <bit name="ansiTypeface" /> 1918 <bit name="symbolTypeface" /> 1919 <bit name="newEATypeface" /> 1920 <bit name="csTypeface" /> 1921 <bit name="pp11ext" /> 1922 <uint5 name="reserved" /> 1923 </struct> 1924 <struct name="CFStyle"> 1925 <bit name="bold" /> 1926 <bit name="italic" /> 1927 <bit name="underline" /> 1928 <bit name="unused1" /> 1929 <bit name="shadow" /> 1930 <bit name="fehint" /> 1931 <bit name="unused2" /> 1932 <bit name="kumi" /> 1933 <bit name="unused3" /> 1934 <bit name="emboss" /> 1935 <uint4 name="pp9rt" /> 1936 <uint2 name="unused4" /> 1937 </struct> 1938 <struct name="FontCollectionContainer"> 1939 <type name="rh" type="RecordHeader"> 1940 <limitation name="recVer" value="0xF" /> 1941 <limitation name="recInstance" value="0x0" /> 1942 <limitation name="recType" value="0x07D5" /> 1943 </type> 1944 <type name="rgFontCollectionEntry" type="FontCollectionEntry" 1945 array="true" size="rh.recLen" /> 1946 </struct> 1947 <struct name="FontCollectionEntry"> 1948 <type name="fontEntityAtom" type="FontEntityAtom" /> 1949 <type name="fontEmbedData1" type="FontEmbedDataBlob" optional="true" /> 1950 <type name="fontEmbedData2" type="FontEmbedDataBlob" optional="true" /> 1951 <type name="fontEmbedData3" type="FontEmbedDataBlob" optional="true" /> 1952 <type name="fontEmbedData4" type="FontEmbedDataBlob" optional="true" /> 1953 </struct> 1954 <struct name="FontEntityAtom"> 1955 <type name="rh" type="RecordHeader"> 1956 <limitation name="recVer" value="0" /> 1957 <limitation name="recInstance" expression="<=128" /> 1958 <limitation name="recType" value="0xFB7" /> 1959 <limitation name="recLen" value="0x44" /> 1960 </type> 1961 <uint16 name="lfFaceName" count="32" /> 1962 <uint8 name="lfCharSet" /> 1963 <bit name="fEmbedSubsetted" /> 1964 <uint7 name="unused" /> 1965 <bit name="rasterFontType" /> 1966 <bit name="deviceFontType" /> 1967 <bit name="truetypeFontType" /> 1968 <bit name="fNoFontSubstitution" /> 1969 <uint4 name="reserved"> 1970 <limitation value="0" /> 1971 </uint4> 1972 <uint8 name="lfPitchAndFamily" /> 1973 </struct> 1974 <struct name="FontEmbedDataBlob"> 1975 <type name="rh" type="RecordHeader"> 1976 <limitation name="recVer" value="0" /> 1977 <limitation name="recInstance" expression="<=3" /> 1978 <limitation name="recType" value="0xFB8" /> 1979 </type> 1980 <uint8 name="data" count="rh.recLen" /> 1981 </struct> 1982 <struct name="KinsokuContainer"> 1983 <type name="rh" type="RecordHeader"> 1984 <limitation name="recVer" value="0xF" /> 1985 <limitation name="recInstance" value="0x2" /> 1986 <limitation name="recType" value="0x0FC8" /> 1987 </type> 1988 <type name="kinsokuAtom" type="KinsokuAtom" /> 1989 <type name="kinsokuLeadingAtom" type="KinsokuLeadingAtom" 1990 condition="kinsokuAtom.level==2" /> 1991 <type name="kinsokuFollowingAtom" type="KinsokuFollowingAtom" 1992 condition="kinsokuAtom.level==2" /> 1993 </struct> 1994 <struct name="KinsokuAtom"> 1995 <type name="rh" type="RecordHeader"> 1996 <limitation name="recVer" value="0x0" /> 1997 <limitation name="recInstance" value="0x3" /> 1998 <limitation name="recType" value="0x0FD2" /> 1999 <limitation name="recLen" value="4" /> 2000 </type> 2001 <uint32 name="level"> 2002 <!-- MS documentation does not allow value 128 --> 2003 <limitation value="0|1|2|128" /> 2004 </uint32> 2005 </struct> 2006 <struct name="KinsokuLeadingAtom"> 2007 <type name="rh" type="RecordHeader"> 2008 <limitation name="recVer" value="0" /> 2009 <limitation name="recInstance" value="0" /> 2010 <limitation name="recType" value="0xFBA" /> 2011 <limitation expression="recLen%2==0" /> 2012 </type> 2013 <uint16 name="kinsokuLeading" count="rh.recLen/2" /> 2014 </struct> 2015 <struct name="KinsokuFollowingAtom"> 2016 <type name="rh" type="RecordHeader"> 2017 <limitation name="recVer" value="0" /> 2018 <limitation name="recInstance" value="1 " /> 2019 <limitation name="recType" value="0xFBA" /> 2020 <limitation expression="recLen%2==0" /> 2021 </type> 2022 <uint16 name="kinsokuFollowing" count="rh.recLen/2" /> 2023 </struct> 2024 <struct name="TextSpecialInfoAtom"> 2025 <type name="rh" type="RecordHeader"> 2026 <limitation name="recVer" value="0x0" /> 2027 <limitation name="recInstance" value="0x0" /> 2028 <limitation name="recType" value="0xFAA" /> 2029 </type> 2030 <type name="rgSIRun" type="TextSIRun" array="true" size="rh.recLen" /> 2031 </struct> 2032 <struct name="TextSIRun"> 2033 <uint32 name="count"> 2034 <limitation expression=">=1" /> 2035 </uint32> 2036 <type name="si" type="TextSIException" /> 2037 </struct> 2038 <struct name="TextSIExceptionAtom"> 2039 <type name="rh" type="RecordHeader"> 2040 <limitation name="recVer" value="0x0" /> 2041 <limitation name="recInstance" value="0x0" /> 2042 <limitation name="recType" value="0x0FA9" /> 2043 </type> 2044 <type name="textSIException" type="TextSIException"> 2045 <limitation name="fPp10ext" value="false" /> 2046 <limitation name="fBidi" value="false" /> 2047 <limitation name="smartTag" value="false" /> 2048 </type> 2049 </struct> 2050 <struct name="TextSIException"> 2051 <bit name="spell" /> 2052 <bit name="lang" /> 2053 <bit name="altLang" /> 2054 <bit name="unused1" /> 2055 <bit name="unused2" /> 2056 <bit name="fPp10ext" /> 2057 <bit name="fBidi" /> 2058 <bit name="unused3" /> 2059 <bit name="reserved1" /> 2060 <bit name="smartTag" /> 2061 <uint2 name="reserved2a" /> 2062 <uint20 name="reserved2b" /> 2063 <uint16 name="spellInfo" condition="spell" /> 2064 <uint16 name="lid" condition="lang" /> 2065 <uint16 name="altLid" condition="altLang" /> 2066 <int16 name="bidi" condition="fBidi"> 2067 <limitation value="0|1" /> 2068 </int16> 2069 <uint4 name="pp10runid" condition="fPp10ext" /> 2070 <uint4 name="reserved3a" condition="fPp10ext" /> 2071 <uint16 name="reserved3b" condition="fPp10ext" /> 2072 <uint7 name="reserved3bc" condition="fPp10ext" /> 2073 <bit name="grammarError" condition="fPp10ext" /> 2074 <type name="smartTags" type="SmartTags" condition="smartTag" /> 2075 </struct> 2076 <struct name="SmartTags"> 2077 <uint32 name="count" /> 2078 <uint32 name="rgSmartTagIndex" count="count" /> 2079 </struct> 2080 <struct name="TextMasterStyleAtom"> 2081 <type name="rh" type="RecordHeader"> 2082 <limitation name="recVer" value="0x0" /> 2083 <limitation name="recInstance" value="0|1|2|3|4|5|6|7|8" /> 2084 <limitation name="recType" value="0x0FA3" /> 2085 </type> 2086 <uint16 name="cLevels"> 2087 <limitation expression="<=5" /> 2088 </uint16> 2089 <!-- 2090 level field of TextMasterStyleLevel is put here, because its presence 2091 depends on this structure and currently child access to parent 2092 properties is not supported 2093 --> 2094 <uint16 name="lstLvl1level" condition="cLevels>0 && rh.recInstance>=5" /> 2095 <type name="lstLvl1" type="TextMasterStyleLevel" condition="cLevels>0" /> 2096 <uint16 name="lstLvl2level" condition="cLevels>1 && rh.recInstance>=5" /> 2097 <type name="lstLvl2" type="TextMasterStyleLevel" condition="cLevels>1" /> 2098 <uint16 name="lstLvl3level" condition="cLevels>2 && rh.recInstance>=5" /> 2099 <type name="lstLvl3" type="TextMasterStyleLevel" condition="cLevels>2" /> 2100 <uint16 name="lstLvl4level" condition="cLevels>3 && rh.recInstance>=5" /> 2101 <type name="lstLvl4" type="TextMasterStyleLevel" condition="cLevels>3" /> 2102 <uint16 name="lstLvl5level" condition="cLevels>4 && rh.recInstance>=5" /> 2103 <type name="lstLvl5" type="TextMasterStyleLevel" condition="cLevels>4" /> 2104 </struct> 2105 <struct name="TextMasterStyleLevel"> 2106 <type name="pf" type="TextPFException" /> 2107 <type name="cf" type="TextCFException" /> 2108 </struct> 2109 <struct name="ExOleEmbedAtom"> 2110 <type name="rh" type="RecordHeader"> 2111 <limitation name="recVer" value="0x0" /> 2112 <limitation name="recInstance" value="0x0" /> 2113 <limitation name="recType" value="0x0FCD" /> 2114 <limitation name="recLen" value="0x8" /> 2115 </type> 2116 <uint32 name="exColorFollow"> 2117 <limitation value="0|1|2" /> 2118 </uint32> 2119 <uint8 name="fCantLockServer" /> 2120 <uint8 name="fNoSizeToServer" /> 2121 <uint8 name="fIsTable" /> 2122 <uint8 name="unused" /> 2123 </struct> 2124 <struct name="DocumentAtom"> 2125 <type name="rh" type="RecordHeader"> 2126 <limitation name="recVer" value="1" /> 2127 <limitation name="recInstance" value="0x0" /> 2128 <limitation name="recType" value="0x03E9" /> 2129 <limitation name="recLen" value="0x28" /> 2130 </type> 2131 <type name="slideSize" type="PointStruct" /> 2132 <type name="notesSize" type="PointStruct" /> 2133 <type name="serverZoom" type="RatioStruct"> 2134 <limitation expression="numer*denom > 0" /> 2135 </type> 2136 <uint32 name="notesMasterPersistIdRef" /> 2137 <uint32 name="handoutMasterPersistIdRef" /> 2138 <uint16 name="firstSlideNumber"> 2139 <limitation expression="<10000" /> 2140 </uint16> 2141 <uint16 name="slideSizeType"> 2142 <limitation value="0|1|2|3|4|5|6" /> 2143 </uint16> 2144 <uint8 name="fSaveWithFonts" /> 2145 <uint8 name="fOmitTitlePlace" /> 2146 <uint8 name="fRightToLeft" /> 2147 <uint8 name="fShowComments" /> 2148 </struct> 2149 <struct name="PointStruct"> 2150 <int32 name="x" /> 2151 <int32 name="y" /> 2152 </struct> 2153 <struct name="RatioStruct"> 2154 <int32 name="numer" /> 2155 <int32 name="denom"> 2156 <limitation expression="!= 0" /> 2157 </int32> 2158 </struct> 2159 <struct name="PersistDirectoryAtom"> 2160 <type name="rh" type="RecordHeader"> 2161 <limitation name="recVer" value="0" /> 2162 <limitation name="recInstance" value="0" /> 2163 <limitation name="recType" value="0x1772" /> 2164 </type> 2165 <type name="rgPersistDirEntry" type="PersistDirectoryEntry" 2166 array="true" size="rh.recLen" /> 2167 </struct> 2168 <struct name="UnknownDocumentContainerChild"> 2169 <type name="rh" type="RecordHeader"> 2170 <limitation name="recType" 2171 value="0x416|0x41A|0x101A|0x1773|0x1788|0x178c|0x178d" /> 2172 </type> 2173 <uint8 name="unknown" count="rh.recLen" /> 2174 </struct> 2175 <struct name="UnknownOfficeArtClientDataChild"> 2176 <type name="rh" type="RecordHeader"> 2177 <limitation name="recVer" value="0" /> 2178 <limitation name="recInstance" value="0" /> 2179 <limitation name="recType" value="0xFE8|0x1019" /> 2180 </type> 2181 <uint8 name="unknown" count="rh.recLen" /> 2182 </struct> 2183 <struct name="UnknownSlideContainerChild"> 2184 <type name="rh" type="RecordHeader"> 2185 <limitation name="recVer" value="0" /> 2186 <limitation name="recInstance" value="0" /> 2187 <limitation name="recType" value="0x101D" /> 2188 </type> 2189 <uint8 name="unknown" count="rh.recLen" /> 2190 </struct> 2191 <struct name="UnknownTextContainerChild"> 2192 <type name="rh" type="RecordHeader"> 2193 <limitation name="recVer" value="3" /> 2194 <limitation name="recInstance" value="9" /> 2195 <limitation name="recType" value="0" /> 2196 </type> 2197 <uint8 name="unknown" count="rh.recLen" /> 2198 </struct> 2199 <struct name="PersistDirectoryEntry"> 2200 <uint20 name="persistId" /> 2201 <uint12 name="cPersist" /> 2202 <uint32 name="rgPersistOffset" count="cPersist" /> 2203 </struct> 2204 <struct name="PersistIdRef"> 2205 <uint32 name="anon"> 2206 <!-- 2207 TODO: A 4-byte unsigned integer that specifies a reference to a 2208 persist object. It MUST be 0x00000000 or equal to a persist object 2209 identifier specified by a PersistDirectoryAtom record. The value 2210 0x00000000 specifies a null reference. 2211 --> 2212 </uint32> 2213 </struct> 2214 <struct name="MasterOrSlideContainer"> 2215 <choice name="anon"> 2216 <type type="MainMasterContainer" /> 2217 <type type="SlideContainer" /> 2218 </choice> 2219 </struct> 2220 <struct name="MainMasterContainer"> 2221 <type name="rh" type="RecordHeader"> 2222 <limitation name="recVer" value="0xF" /> 2223 <limitation name="recInstance" value="0x0" /> 2224 <limitation name="recType" value="0x03F8" /> 2225 </type> 2226 <type name="slideAtom" type="SlideAtom" /> 2227 <!-- MS-PPT spec. violation - SlideShowSlideInfoAtom presence NOT documented --> 2228 <type name="unknown" type="SlideShowSlideInfoAtom" optional="true" /> 2229 <type name="rgSchemeListElementColorScheme" type="SchemeListElementColorSchemeAtom" 2230 array="true" /> 2231 <type name="rgTextMasterStyle" type="TextMasterStyleAtom" array="true" /> 2232 <type name="roundTripOArtTextSTyles12Atom" type="RoundTripOArtTextStyles12Atom" optional="true" /> 2233 <type name="slideShowInfoAtom" type="SlideShowSlideInfoAtom" optional="true" /> 2234 <type name="perSlideHeadersFootersContainer" type="PerSlideHeadersFootersContainer" 2235 optional="true" /> 2236 <type name="drawing" type="DrawingContainer" /> 2237 <type name="slideSchemeColorSchemeAtom" type="SlideSchemeColorSchemeAtom" /> 2238 <type name="slideNameAtom" type="SlideNameAtom" optional="true" /> 2239 <type name="slideProgTagsContainer" type="SlideProgTagsContainer" optional="true" /> 2240 <type name="rgRoundTripMainMaster" type="RoundTripMainMasterRecord" array="true" /> 2241 <type name="templateNameAtom" type="TemplateNameAtom" optional="true" /> 2242 <!-- MS-PPT spec. violation - SlideProgTagsContainer presence NOT documented --> 2243 <type name="unknown3" type="SlideProgTagsContainer" optional="true" /> 2244 </struct> 2245 <struct name="SchemeListElementColorSchemeAtom"> 2246 <type name="rh" type="RecordHeader"> 2247 <limitation name="recVer" value="0" /> 2248 <limitation name="recInstance" value="6" /> 2249 <limitation name="recType" value="0x7F0" /> 2250 <limitation name="recLen" value="0x20" /> 2251 </type> 2252 <type name="rgSchemeColor" type="ColorStruct" count="8" /> 2253 </struct> 2254 <struct name="RoundTripOArtTextStyles12Atom"> 2255 <type name="rh" type="RecordHeader"> 2256 <limitation name="recVer" value="0" /> 2257 <limitation name="recInstance" value="0" /> 2258 <limitation name="recType" value="0x423" /> 2259 </type> 2260 <uint8 name="todo" count="rh.recLen" /> 2261 </struct> 2262 <struct name="SlideNameAtom"> 2263 <type name="rh" type="RecordHeader"> 2264 <limitation name="recVer" value="0" /> 2265 <limitation name="recInstance" value="3" /> 2266 <limitation name="recType" value="0x0FBA" /> 2267 <limitation name="recLen" expression="%2==0" /> 2268 </type> 2269 <uint16 name="slideName" count="rh.recLen/2" /> 2270 </struct> 2271 <struct name="SlideProgTagsContainer"> 2272 <type name="rh" type="RecordHeader"> 2273 <limitation name="recVer" value="0xF" /> 2274 <limitation name="recInstance" value="0" /> 2275 <limitation name="recType" value="0x1388" /> 2276 </type> 2277 <type name="rgTypeRec" type="SlideProgTagsSubContainerOrAtom" 2278 array="true" size="rh.recLen" /> 2279 </struct> 2280 <struct name="SlideProgTagsSubContainerOrAtom"> 2281 <choice name="anon"> 2282 <type type="ProgStringTagContainer" /> 2283 <type type="SlideProgBinaryTagContainer" /> 2284 </choice> 2285 </struct> 2286 <struct name="SlideProgBinaryTagContainer"> 2287 <type name="rh" type="RecordHeader"> 2288 <limitation name="recVer" value="0xF" /> 2289 <limitation name="recInstance" value="0" /> 2290 <limitation name="recType" value="0x138A" /> 2291 </type> 2292 <type name="rec" type="SlideProgBinaryTagSubContainerOrAtom" /> 2293 </struct> 2294 <struct name="SlideProgBinaryTagSubContainerOrAtom"> 2295 <choice name="anon"> 2296 <type type="PP9SlideBinaryTagExtension" /> 2297 <!-- 2298 PP12 must come first because it fail if it is a PP10, but PP10 does 2299 not fail if it is PP12. 2300 --> 2301 <type type="PP12SlideBinaryTagExtension" /> 2302 <type type="PP10SlideBinaryTagExtension" /> 2303 <type type="UnknownBinaryTag" /> 2304 </choice> 2305 </struct> 2306 <struct name="PP9SlideBinaryTagExtension"> 2307 <type name="rh" type="RecordHeader"> 2308 <limitation name="recVer" value="0" /> 2309 <limitation name="recInstance" value="0" /> 2310 <limitation name="recType" value="0xFBA" /> 2311 <limitation name="recLen" value="0xE" /> 2312 </type> 2313 <uint16 name="tagName" count="7"> 2314 <!-- <limitation value='"___PPT9"' /> --> 2315 </uint16> 2316 <type name="rhData" type="RecordHeader"> 2317 <limitation name="recVer" value="0" /> 2318 <limitation name="recInstance" value="0" /> 2319 <limitation name="recType" value="0x138B" /> 2320 </type> 2321 <type name="rgTextMasterStyleAtom" type="TextMasterStyle9Atom" 2322 array="true" /> 2323 </struct> 2324 <struct name="PP10SlideBinaryTagExtension"> 2325 <type name="rh" type="RecordHeader"> 2326 <limitation name="recVer" value="0" /> 2327 <limitation name="recInstance" value="0" /> 2328 <limitation name="recType" value="0xFBA" /> 2329 <limitation name="recLen" value="0x10" /> 2330 </type> 2331 <uint16 name="tagName" count="8"> 2332 <!-- <limitation value='"___PPT10"' />--> 2333 </uint16> 2334 <type name="rhData" type="RecordHeader"> 2335 <limitation name="recVer" value="0" /> 2336 <limitation name="recInstance" value="0" /> 2337 <limitation name="recType" value="0x138B" /> 2338 </type> 2339 <type name="rgTextMasterStyleAtom" type="TextMasterStyle10Atom" 2340 array="true" /> 2341 <type name="rgComment10Container" type="Comment10Container" 2342 array="true" /> 2343 <type name="linkedSlideAtom" type="LinkedSlide10Atom" optional="true" /> 2344 <type name="rgLinkedShape10Atom" type="LinkedShape10Atom" array="true" /> 2345 <type name="slideFlagsAtom" type="SlideFlags10Atom" optional="true" /> 2346 <type name="slideTimeAtom" type="SlideTime10Atom" optional="true" /> 2347 <!-- MS-PPT spec. violation - Structures with a member with 2348 rectype 0x101d occur in strange places. --> 2349 <type name="unknown" type="UnknownSlideContainerChild" optional="true" /> 2350 <type name="hashCodeAtom" type="HashCode10Atom" optional="true" /> 2351 <type name="extTimeNodeContainer" type="ExtTimeNodeContainer" 2352 optional="true" /> 2353 <type name="buildListContainer" type="BuildListContainer" 2354 optional="true" /> 2355 </struct> 2356 <struct name="Comment10Container"> 2357 <type name="rh" type="RecordHeader"> 2358 <limitation name="recVer" value="0xF" /> 2359 <limitation name="recInstance" value="0" /> 2360 <limitation name="recType" value="0x2EE0" /> 2361 </type> 2362 <uint8 name="todo" count="rh.recLen" /> 2363 </struct> 2364 <struct name="Comment10Atom"> 2365 <type name="rh" type="RecordHeader"> 2366 <limitation name="recVer" value="0" /> 2367 <limitation name="recInstance" value="0" /> 2368 <limitation name="recType" value="0x2EE1" /> 2369 <limitation name="recLen" value="0x1C" /> 2370 </type> 2371 <uint8 name="todo" count="rh.recLen" /> 2372 </struct> 2373 <struct name="LinkedSlide10Atom"> 2374 <type name="rh" type="RecordHeader"> 2375 <limitation name="recVer" value="0" /> 2376 <limitation name="recInstance" value="0" /> 2377 <limitation name="recType" value="0x2EE7" /> 2378 <limitation name="recLen" value="8" /> 2379 </type> 2380 <uint32 name="linkedSlideIdRef" /> 2381 <int32 name="clinkedShapes" /> 2382 </struct> 2383 <struct name="LinkedShape10Atom"> 2384 <type name="rh" type="RecordHeader"> 2385 <limitation name="recVer" value="0" /> 2386 <limitation name="recInstance" value="0" /> 2387 <limitation name="recType" value="0x2EE6" /> 2388 <limitation name="recLen" value="8" /> 2389 </type> 2390 <uint32 name="shapeIdRef" /> 2391 <uint32 name="linkedShapeIdRef" /> 2392 </struct> 2393 <struct name="SlideFlags10Atom"> 2394 <type name="rh" type="RecordHeader"> 2395 <limitation name="recVer" value="0" /> 2396 <limitation name="recInstance" value="0" /> 2397 <limitation name="recType" value="0x2EEA" /> 2398 <limitation name="recLen" value="4" /> 2399 </type> 2400 <bit name="fPreserveMaster" /> 2401 <bit name="fOverrideMasterAnimatino" /> 2402 <uint14 name="unuseda" /> 2403 <uint16 name="unusedb" /> 2404 </struct> 2405 <struct name="SlideTime10Atom"> 2406 <type name="rh" type="RecordHeader"> 2407 <limitation name="recVer" value="0" /> 2408 <limitation name="recInstance" value="0" /> 2409 <limitation name="recType" value="0x2EEB" /> 2410 <limitation name="recLen" value="8" /> 2411 </type> 2412 <type name="fileTime" type="FILETIME" /> 2413 </struct> 2414 <struct name="HashCode10Atom"> 2415 <type name="rh" type="RecordHeader"> 2416 <limitation name="recVer" value="0" /> 2417 <limitation name="recInstance" value="0" /> 2418 <limitation name="recType" value="0x2B00" /> 2419 <limitation name="recLen" value="4" /> 2420 </type> 2421 <uint32 name="hash" /> 2422 </struct> 2423 <struct name="ExtTimeNodeContainer"> 2424 <type name="rh" type="RecordHeader"> 2425 <limitation name="recVer" value="0xF" /> 2426 <limitation name="recInstance" value="1" /> 2427 <limitation name="recType" value="0xF144" /> 2428 </type> 2429 <uint8 name="todo" count="rh.recLen" /> 2430 </struct> 2431 <struct name="BuildListContainer"> 2432 <type name="rh" type="RecordHeader"> 2433 <limitation name="recVer" value="0xF" /> 2434 <limitation name="recInstance" value="0" /> 2435 <limitation name="recType" value="0x2B02" /> 2436 </type> 2437 <uint8 name="todo" count="rh.recLen" /> 2438 </struct> 2439 <struct name="PP12SlideBinaryTagExtension"> 2440 <type name="rh" type="RecordHeader"> 2441 <limitation name="recVer" value="0" /> 2442 <limitation name="recInstance" value="0" /> 2443 <limitation name="recType" value="0xFBA" /> 2444 <limitation name="recLen" value="0x10" /> 2445 </type> 2446 <uint16 name="tagName" count="8"> 2447 <!-- <limitation value='"___PPT12"' />--> 2448 </uint16> 2449 <type name="rhData" type="RecordHeader"> 2450 <limitation name="recVer" value="0" /> 2451 <limitation name="recInstance" value="0" /> 2452 <limitation name="recType" value="0x138B" /> 2453 </type> 2454 <type name="roundTripHeaderFooterDefaultsAtom" type="RoundTripHeaderFooterDefaults12Atom" 2455 condition="rhData.recLen > 8" /> 2456 </struct> 2457 <struct name="RoundTripHeaderFooterDefaults12Atom"> 2458 <type name="rh" type="RecordHeader"> 2459 <limitation name="recVer" value="0" /> 2460 <limitation name="recInstance" value="0" /> 2461 <limitation name="recType" value="0x0424" /> 2462 <limitation name="recLen" value="1" /> 2463 </type> 2464 <bit name="fIncludeDate" /> 2465 <bit name="fIncludeFooter" /> 2466 <bit name="fIncludeHeader" /> 2467 <bit name="fIncludeSlideNumber" /> 2468 <uint4 name="reserved" /> 2469 </struct> 2470 <struct name="ProgStringTagContainer"> 2471 <type name="rh" type="RecordHeader"> 2472 <limitation name="recVer" value="0xF" /> 2473 <limitation name="recInstance" value="0" /> 2474 <limitation name="recType" value="0x1389" /> 2475 </type> 2476 <type name="tagNameAtom" type="TagNameAtom" /> 2477 <type name="tagValueAtom" type="TagValueAtom" optional="true" /> 2478 </struct> 2479 <struct name="TagNameAtom"> 2480 <type name="rh" type="RecordHeader"> 2481 <limitation name="recVer" value="0" /> 2482 <limitation name="recInstance" value="0" /> 2483 <limitation name="recType" value="0xFBA" /> 2484 <limitation name="recLen" expression="%2 == 0 " /> 2485 </type> 2486 <uint16 name="tagName" count="rh.recLen/2" /> 2487 </struct> 2488 <struct name="TagValueAtom"> 2489 <type name="rh" type="RecordHeader"> 2490 <limitation name="recVer" value="0" /> 2491 <limitation name="recInstance" value="1" /> 2492 <limitation name="recType" value="0xFBA" /> 2493 </type> 2494 <uint16 name="tagValue" count="rh.recLen/2" /> 2495 </struct> 2496 <struct name="RoundTripMainMasterRecord"> 2497 <type name="rh" type="RecordHeader"> 2498 <limitation name="recType" 2499 value="0x41C|0x40E|0x040F|0x41E|0x0423|0x2B0D|0x2B0B|0x041D|0x2B0C|0x101D" /> 2500 </type> 2501 <uint8 name="todo" count="rh.recLen" /> 2502 </struct> 2503 <struct name="TemplateNameAtom"> 2504 <type name="rh" type="RecordHeader"> 2505 <limitation name="recVer" value="0" /> 2506 <limitation name="recInstance" value="2" /> 2507 <limitation name="recType" value="0x0FBA" /> 2508 <limitation name="recLen" expression="%2==0" /> 2509 </type> 2510 <uint16 name="templateName" count="rh.recLen/2" /> 2511 </struct> 2512 <struct name="SlideContainer"> 2513 <type name="rh" type="RecordHeader"> 2514 <limitation name="recVer" value="0xF" /> 2515 <limitation name="recInstance" value="0x0" /> 2516 <limitation name="recType" value="0x03EE" /> 2517 </type> 2518 <type name="slideAtom" type="SlideAtom" /> 2519 <type name="slideShowSlideInfoAtom" type="SlideShowSlideInfoAtom" 2520 optional="true" /> 2521 <type name="perSlideHFContainer" type="PerSlideHeadersFootersContainer" 2522 optional="true" /> 2523 <type name="rtSlideSyncInfo12" type="RoundTripSlideSyncInfo12Container" 2524 optional="true" /> 2525 <type name="drawing" type="DrawingContainer" /> 2526 <type name="slideSchemeColorSchemeAtom" type="SlideSchemeColorSchemeAtom" /> 2527 <type name="slideNameAtom" type="SlideNameAtom" optional="true" /> 2528 <type name="slideProgTagsContainer" type="SlideProgTagsContainer" 2529 optional="true" /> 2530 <!-- 2531 perhaps this undocumented type is part fo the RoundTripSlideRecord 2532 collection 2533 --> 2534 <type name="unknown" type="UnknownSlideContainerChild" optional="true" /> 2535 <type name="rgRoundTripSlide" type="RoundTripSlideRecord" array="true" /> 2536 <!-- 2537 perhaps this undocumented type is part fo the RoundTripSlideRecord 2538 collection 2539 --> 2540 <type name="unknown2" type="UnknownSlideContainerChild" optional="true" /> 2541 </struct> 2542 <struct name="RoundTripSlideSyncInfo12Container"> 2543 <type name="rh" type="RecordHeader"> 2544 <limitation name="recVer" value="0xF" /> 2545 <limitation name="recInstance" value="0" /> 2546 <limitation name="recType" value="0x3714" /> 2547 </type> 2548 <uint8 name="todo" count="rh.recLen" /> 2549 </struct> 2550 <struct name="NotesContainer"> 2551 <type name="rh" type="RecordHeader"> 2552 <limitation name="recVer" value="0xF" /> 2553 <limitation name="recInstance" value="0" /> 2554 <limitation name="recType" value="0x03F0" /> 2555 </type> 2556 <type name="notesAtom" type="NotesAtom" /> 2557 <!-- MS-PPT spec. violation - perSlideHFContainer presence NOT documented. --> 2558 <type name="perSlideHFContainer" type="PerSlideHeadersFootersContainer" optional="true" /> 2559 <type name="drawing" type="DrawingContainer" /> 2560 <type name="slideSchemeColorSchemeAtom" type="SlideSchemeColorSchemeAtom" /> 2561 <type name="slideNameAtom" type="SlideNameAtom" optional="true" /> 2562 <type name="slideProgTagsContainer" type="SlideProgTagsContainer" optional="true" /> 2563 <!-- MS-PPT spec. violation - perSlideHFContainer presence NOT documented. --> 2564 <type name="perSlideHFContainer2" type="PerSlideHeadersFootersContainer" optional="true" /> 2565 <type name="rgNotesRoundTripAtom" type="NotesRoundTripAtom" array="true" /> 2566 </struct> 2567 <struct name="NotesAtom"> 2568 <type name="rh" type="RecordHeader"> 2569 <limitation name="recVer" value="1" /> 2570 <limitation name="recInstance" value="0" /> 2571 <limitation name="recType" value="0x3F1" /> 2572 <limitation name="recLen" value="0x8" /> 2573 </type> 2574 <uint32 name="slideIdRef" /> 2575 <type name="slideFlags" type="SlideFlags" /> 2576 <uint16 name="unused" /> 2577 </struct> 2578 <struct name="SlideFlags"> 2579 <bit name="fMasterObjects" /> 2580 <bit name="fMasterScheme" /> 2581 <bit name="fMasterBackground" /> 2582 <uint5 name="unused1" /> 2583 <uint8 name="unused2" /> 2584 </struct> 2585 <struct name="NotesRoundTripAtom"> 2586 <type name="rh" type="RecordHeader"> 2587 <limitation name="recVer" value="0" /> 2588 <limitation name="recInstance" value="0" /> 2589 <limitation name="recType" value="0x40E|0x40F|0x427" /> 2590 </type> 2591 <uint8 name="todo" count="rh.recLen" /> 2592 </struct> 2593 <struct name="HandoutContainer"> 2594 <type name="rh" type="RecordHeader"> 2595 <limitation name="recVer" value="0xF" /> 2596 <limitation name="recInstance" value="0" /> 2597 <limitation name="recType" value="0x0FC9" /> 2598 </type> 2599 <uint8 name="todo" count="rh.recLen" /> 2600 </struct> 2601 <struct name="ExControlStg"> 2602 <type name="rh" type="RecordHeader"> 2603 <limitation name="recVer" value="0" /> 2604 <limitation name="recInstance" value="0|1" /> 2605 <limitation name="recType" value="0x1011" /> 2606 </type> 2607 <uint8 name="todo" count="rh.recLen" /> 2608 </struct> 2609 <struct name="ExOleObjStg"> 2610 <type name="rh" type="RecordHeader"> 2611 <limitation name="recVer" value="0" /> 2612 <limitation name="recInstance" value="0" /> 2613 <limitation name="recType" value="0x1011" /> 2614 </type> 2615 <uint8 name="todo" count="rh.recLen" /> 2616 </struct> 2617 <struct name="UserEditAtom"> 2618 <type name="rh" type="RecordHeader"> 2619 <limitation name="recVer" value="0" /> 2620 <limitation name="recInstance" value="0" /> 2621 <limitation name="recType" value="0x0FF5" /> 2622 <limitation name="recLen" value="0x1C|0x20" /> 2623 </type> 2624 <uint32 name="lastSlideIdRef" /> 2625 <uint16 name="version" /> 2626 <uint8 name="minorVersion"> 2627 <limitation value="0" /> 2628 </uint8> 2629 <uint8 name="majorVersion"> 2630 <limitation value="3" /> 2631 </uint8> 2632 <uint32 name="offsetLastEdit"> 2633 <!-- TODO: check with offset of this edit --> 2634 </uint32> 2635 <uint32 name="offsetPersistDirectory"> 2636 <!-- <limitation expression=">offsetLastEdit" /> --> 2637 <!-- 2638 TODO: check with offset of this edit 2639 --> 2640 </uint32> 2641 <uint32 name="docPersistIdRef"> 2642 <limitation value="1" /> 2643 </uint32> 2644 <uint32 name="persistIdSeed" /> 2645 <uint16 name="lastView"> 2646 <limitation expression="<=18" /> 2647 </uint16> 2648 <uint16 name="unused" /> 2649 <uint32 name="encryptSessionPersistIdRef" condition="rh.recLen==32" /> 2650 <type name="zeroPadding" type="ZeroByte" array="true" /> 2651 </struct> 2652 <struct name="VbaProjectStg"> 2653 <type name="rh" type="RecordHeader"> 2654 <limitation name="recVer" value="0" /> 2655 <limitation name="recInstance" value="0|1" /> 2656 <limitation name="recType" value="0x1011" /> 2657 </type> 2658 <uint8 name="todo" count="rh.recLen" /> 2659 </struct> 2660 <struct name="SlideAtom"> 2661 <type name="rh" type="RecordHeader"> 2662 <limitation name="recVer" value="0x2" /> 2663 <limitation name="recInstance" value="0x0" /> 2664 <limitation name="recType" value="0x03EF" /> 2665 <limitation name="recLen" value="0x18" /> 2666 </type> 2667 <uint32 name="geom" /> 2668 <uint8 name="rgPlaceholderTypes" count="8" /> 2669 <uint32 name="masterIdRef" /> 2670 <uint32 name="notesIdRef" /> 2671 <type name="slideFlags" type="SlideFlags" /> 2672 <uint16 name="unused" /> 2673 </struct> 2674 <struct name="SlideShowSlideInfoAtom"> 2675 <type name="rh" type="RecordHeader"> 2676 <limitation name="recVer" value="0" /> 2677 <limitation name="recInstance" value="0" /> 2678 <limitation name="recType" value="0x03F9" /> 2679 <limitation name="recLen" value="0x10" /> 2680 </type> 2681 <uint32 name="slidetime" /> 2682 <uint32 name="slideIdRef" /> 2683 <uint8 name="effectDirection" /> 2684 <uint8 name="effectType" /> 2685 <bit name="fManualAdvance" /> 2686 <bit name="reserved" /> 2687 <bit name="fHidden" /> 2688 <bit name="reserved2" /> 2689 <bit name="fSound" /> 2690 <bit name="reserved3" /> 2691 <bit name="fLoopSound" /> 2692 <bit name="reserved4" /> 2693 <bit name="fStopSound" /> 2694 <bit name="freserved5" /> 2695 <bit name="fAutoAdvance" /> 2696 <bit name="reserved6" /> 2697 <bit name="fCursorVisible" /> 2698 <uint3 name="reserved7" /> 2699 <uint8 name="speed" /> 2700 <uint8 name="unused" count="3" /> 2701 </struct> 2702 <struct name="SlideShowDocInfoAtom"> 2703 <type name="rh" type="RecordHeader"> 2704 <limitation name="recVer" value="1" /> 2705 <limitation name="recInstance" value="0" /> 2706 <limitation name="recType" value="0x0401" /> 2707 <limitation name="recLen" value="0x50" /> 2708 </type> 2709 <type name="penColor" type="ColorIndexStruct" /> 2710 <int32 name="restartTime" /> 2711 <int16 name="startSlide"> 2712 <limitation expression=">=0" /> 2713 </int16> 2714 <int16 name="endSlide"> 2715 <limitation expression=">=0" /> 2716 </int16> 2717 <uint8 name="namedShow" count="64" /> 2718 <bit name="fAutoAdvance" /> 2719 <bit name="fWillSkipBuilds" /> 2720 <bit name="fUseSlideRange" /> 2721 <bit name="fDocUseNamedShow" /> 2722 <bit name="fShowBrowseMode" /> 2723 <bit name="fKioskMode" /> 2724 <bit name="fWillSkipNarration" /> 2725 <bit name="fLoopContinuously" /> 2726 <bit name="fHideScrollBar" /> 2727 <uint7 name="reserved"> 2728 <!-- 2729 This value should be zero, but it is not always zero in practice. 2730 --> 2731 </uint7> 2732 <uint16 name="unused" /> 2733 </struct> 2734 <struct name="DrawingGroupContainer"> 2735 <type name="rh" type="RecordHeader"> 2736 <limitation name="recVer" value="0xF" /> 2737 <limitation name="recInstance" value="0" /> 2738 <limitation name="recType" value="0x040B" /> 2739 </type> 2740 <type name="OfficeArtDgg" type="OfficeArtDggContainer" /> 2741 </struct> 2742 <struct name="DrawingContainer"> 2743 <type name="rh" type="RecordHeader"> 2744 <limitation name="recVer" value="0xF" /> 2745 <limitation name="recInstance" value="0" /> 2746 <limitation name="recType" value="0x040C" /> 2747 </type> 2748 <type name="OfficeArtDg" type="OfficeArtDgContainer" /> 2749 </struct> 2750 <struct name="SlideSchemeColorSchemeAtom"> 2751 <type name="rh" type="RecordHeader"> 2752 <limitation name="recVer" value="0" /> 2753 <limitation name="recInstance" value="1" /> 2754 <limitation name="recType" value="0x07F0" /> 2755 <limitation name="recLen" value="0x20" /> 2756 </type> 2757 <type name="rgSchemeColor" type="ColorStruct" count="8" /> 2758 </struct> 2759 <struct name="RoundTripSlideRecord"> 2760 <type name="rh" type="RecordHeader"> 2761 <!-- value 0x2b0c is deprecated, but can occur --> 2762 <limitation name="recType" 2763 value="0x40E|0x40F|0x41D|0x3714|0x2B0D|0x2B0B|0x2B0C|0x422" /> 2764 <!-- 2765 0x40E|0x40F|0x41C|0x41D|0x41E|0x41F|0x420|0x422|0x423|0x425|0x426|0x427|0x428" 2766 --> 2767 </type> 2768 <uint8 name="todo" count="rh.recLen" /> 2769 </struct> 2770 <struct name="NamedShowsContainer"> 2771 <type name="rh" type="RecordHeader"> 2772 <limitation name="recVer" value="0xF" /> 2773 <limitation name="recInstance" value="0" /> 2774 <limitation name="recType" value="0x410" /> 2775 </type> 2776 <uint8 name="todo" count="rh.recLen" /> 2777 </struct> 2778 <struct name="SummaryContainer"> 2779 <type name="rh" type="RecordHeader"> 2780 <limitation name="recVer" value="0xF" /> 2781 <limitation name="recInstance" value="0" /> 2782 <limitation name="recType" value="0x402" /> 2783 </type> 2784 <uint8 name="todo" count="rh.recLen" /> 2785 </struct> 2786 <struct name="DocRoutingSlipAtom"> 2787 <type name="rh" type="RecordHeader"> 2788 <limitation name="recVer" value="0" /> 2789 <limitation name="recInstance" value="0" /> 2790 <limitation name="recType" value="0x406" /> 2791 </type> 2792 <uint8 name="todo" count="rh.recLen" /> 2793 </struct> 2794 <struct name="PrintOptionsAtom"> 2795 <type name="rh" type="RecordHeader"> 2796 <limitation name="recVer" value="0" /> 2797 <limitation name="recInstance" value="0" /> 2798 <limitation name="recType" value="0x1770" /> 2799 <limitation name="recLen" value="5" /> 2800 </type> 2801 <uint8 name="todo" count="rh.recLen" /> 2802 </struct> 2803 <struct name="RoundTripCustomTableStyles12Atom"> 2804 <type name="rh" type="RecordHeader"> 2805 <!-- value 0xF is not documented --> 2806 <limitation name="recVer" value="0|0xF" /> 2807 <limitation name="recInstance" value="0" /> 2808 <limitation name="recType" value="0x428" /> 2809 </type> 2810 <uint8 name="todo" count="rh.recLen" /> 2811 </struct> 2812 <struct name="RoundTripCompositeMasterId12Atom"> 2813 <type name="rh" type="RecordHeader"> 2814 <limitation name="recVer" value="0" /> 2815 <limitation name="recInstance" value="0" /> 2816 <limitation name="recType" value="0x41D" /> 2817 <limitation name="recLen" value="4" /> 2818 </type> 2819 <uint32 name="compositeMasterId" /> 2820 </struct> 2821 <struct name="ColorStruct"> 2822 <uint8 name="red" /> 2823 <uint8 name="green" /> 2824 <uint8 name="blue" /> 2825 <uint8 name="unused" /> 2826 </struct> 2827 <struct name="ExObjListContainer"> 2828 <type name="rh" type="RecordHeader"> 2829 <limitation name="recVer" value="0xF" /> 2830 <limitation name="recInstance" value="0x0" /> 2831 <limitation name="recType" value="0x0409" /> 2832 <limitation name="recLen" expression=">=12" /> 2833 </type> 2834 <type name="exObjListAtom" type="ExObjListAtom" /> 2835 <type name="rgChildRec" type="ExObjListSubContainer" array="true" 2836 size="rh.recLen-12" /> 2837 </struct> 2838 <struct name="ExObjListAtom"> 2839 <type name="rh" type="RecordHeader"> 2840 <limitation name="recVer" value="0x0" /> 2841 <limitation name="recInstance" value="0x0" /> 2842 <limitation name="recType" value="0x040A" /> 2843 <limitation name="recLen" value="4" /> 2844 </type> 2845 <int32 name="exObjIdSeed"> 2846 <limitation expression=">=1" /> 2847 <!-- 2848 TODO:exObjIdSeed (4 bytes): A signed integer that specifies a seed 2849 for creating a new ExObjId or ExHyperlinkId value. It MUST be 2850 greater than or equal to the largest ExObjId value in the file as 2851 specified by the ExMediaAtom record or ExOleObjAtom record and MUST 2852 be greater than or equal to the largest ExHyperlinkId value in the 2853 file as specified by the ExHyperlinkAtom record. It MUST be greater 2854 than or equal to 0x00000001. 2855 --> 2856 </int32> 2857 </struct> 2858 <struct name="ExObjListSubContainer"> 2859 <choice name="anon"> 2860 <type type="ExAviMovieContainer" /> 2861 <type type="ExCDAudioContainer" /> 2862 <type type="ExControlContainer" /> 2863 <type type="ExHyperlinkContainer" /> 2864 <type type="ExMCIMovieContainer" /> 2865 <type type="ExMIDIAudioContainer" /> 2866 <type type="ExOleEmbedContainer" /> 2867 <type type="ExOleLinkContainer" /> 2868 <type type="ExWAVAudioEmbeddedContainer" /> 2869 <type type="ExWAVAudioLinkContainer" /> 2870 <type type="UnknownExObjListSubContainerChild" /> 2871 </choice> 2872 </struct> 2873 <struct name="ExAviMovieContainer"> 2874 <type name="rh" type="OfficeArtRecordHeader"> 2875 <limitation name="recVer" value="0xF" /> 2876 <limitation name="recInstance" value="0" /> 2877 <limitation name="recType" value="0x1006" /> 2878 </type> 2879 <uint8 name="todo" count="rh.recLen" /> 2880 </struct> 2881 <struct name="ExCDAudioContainer"> 2882 <type name="rh" type="OfficeArtRecordHeader"> 2883 <limitation name="recVer" value="0xF" /> 2884 <limitation name="recInstance" value="0" /> 2885 <limitation name="recType" value="0x100E" /> 2886 </type> 2887 <uint8 name="todo" count="rh.recLen" /> 2888 </struct> 2889 <struct name="ExControlContainer"> 2890 <type name="rh" type="OfficeArtRecordHeader"> 2891 <limitation name="recVer" value="0xF" /> 2892 <limitation name="recInstance" value="0" /> 2893 <limitation name="recType" value="0xFEE" /> 2894 </type> 2895 <type name="exControlAtom" type="ExControlAtom" /> 2896 <type name="exOleObjAtom" type="ExOleObjAtom" /> 2897 <type name="menuNameAtom" type="MenuNameAtom" optional="true" /> 2898 <type name="progIdAtom" type="ProgIDAtom" optional="true" /> 2899 <type name="clipboardNameAtom" type="ClipboardNameAtom" optional="true" /> 2900 <type name="metafile" type="MetafileBlob" optional="true" /> 2901 </struct> 2902 <struct name="ExControlAtom"> 2903 <type name="rh" type="OfficeArtRecordHeader"> 2904 <limitation name="recVer" value="0" /> 2905 <limitation name="recInstance" value="0" /> 2906 <limitation name="recType" value="0xFFB" /> 2907 <limitation name="recLen" value="4" /> 2908 </type> 2909 <uint32 name="slideIdRef" /> 2910 </struct> 2911 <struct name="ExHyperlinkContainer"> 2912 <type name="rh" type="OfficeArtRecordHeader"> 2913 <limitation name="recVer" value="0xF" /> 2914 <limitation name="recInstance" value="0" /> 2915 <limitation name="recType" value="0xFD7" /> 2916 </type> 2917 <type name="exHyperlinkAtom" type="ExHyperlinkAtom" /> 2918 <type name="friendlyNameAtom" type="FriendlyNameAtom" optional="true" /> 2919 <type name="targetAtom" type="TargetAtom" optional="true" /> 2920 <type name="locationAtom" type="LocationAtom" optional="true" /> 2921 </struct> 2922 <struct name="ExHyperlinkAtom"> 2923 <type name="rh" type="OfficeArtRecordHeader"> 2924 <limitation name="recVer" value="0" /> 2925 <limitation name="recInstance" value="0" /> 2926 <limitation name="recType" value="0xFD3" /> 2927 <limitation name="recLen" value="4" /> 2928 </type> 2929 <uint32 name="exHyperLinkId" /> 2930 </struct> 2931 <struct name="FriendlyNameAtom"> 2932 <type name="rh" type="OfficeArtRecordHeader"> 2933 <limitation name="recVer" value="0" /> 2934 <limitation name="recInstance" value="0" /> 2935 <limitation name="recType" value="0xFBA" /> 2936 <limitation name="recLen" expression="%2==0" /> 2937 </type> 2938 <uint16 name="friendlyName" count="rh.recLen/2" /> 2939 </struct> 2940 <struct name="TargetAtom"> 2941 <type name="rh" type="OfficeArtRecordHeader"> 2942 <limitation name="recVer" value="0" /> 2943 <limitation name="recInstance" value="1" /> 2944 <limitation name="recType" value="0xFBA" /> 2945 <limitation name="recLen" expression="%2==0" /> 2946 </type> 2947 <uint16 name="target" count="rh.recLen/2" /> 2948 </struct> 2949 <struct name="LocationAtom"> 2950 <type name="rh" type="OfficeArtRecordHeader"> 2951 <limitation name="recVer" value="0" /> 2952 <limitation name="recInstance" value="3" /> 2953 <limitation name="recType" value="0xFBA" /> 2954 <limitation name="recLen" expression="%2==0" /> 2955 </type> 2956 <uint16 name="location" count="rh.recLen/2" /> 2957 </struct> 2958 <struct name="ExMCIMovieContainer"> 2959 <type name="rh" type="OfficeArtRecordHeader"> 2960 <limitation name="recVer" value="0xF" /> 2961 <limitation name="recInstance" value="0" /> 2962 <limitation name="recType" value="0x1007" /> 2963 </type> 2964 <uint8 name="todo" count="rh.recLen" /> 2965 </struct> 2966 <struct name="ExMIDIAudioContainer"> 2967 <type name="rh" type="OfficeArtRecordHeader"> 2968 <limitation name="recVer" value="0xF" /> 2969 <limitation name="recInstance" value="0" /> 2970 <limitation name="recType" value="0x100D" /> 2971 </type> 2972 <uint8 name="todo" count="rh.recLen" /> 2973 </struct> 2974 <struct name="ExWAVAudioEmbeddedContainer"> 2975 <type name="rh" type="OfficeArtRecordHeader"> 2976 <limitation name="recVer" value="0xF" /> 2977 <limitation name="recInstance" value="0" /> 2978 <limitation name="recType" value="0x100F" /> 2979 </type> 2980 <uint8 name="todo" count="rh.recLen" /> 2981 </struct> 2982 <struct name="ExWAVAudioLinkContainer"> 2983 <type name="rh" type="OfficeArtRecordHeader"> 2984 <limitation name="recVer" value="0xF" /> 2985 <limitation name="recInstance" value="0" /> 2986 <limitation name="recType" value="0x1010" /> 2987 </type> 2988 <uint8 name="todo" count="rh.recLen" /> 2989 </struct> 2990 <struct name="UnknownExObjListSubContainerChild"> 2991 <type name="rh" type="OfficeArtRecordHeader"> 2992 <limitation name="recVer" value="0xF" /> 2993 <limitation name="recInstance" value="0" /> 2994 <limitation name="recType" value="0xFEA" /> 2995 </type> 2996 <uint8 name="todo" count="rh.recLen" /> 2997 </struct> 2998 <struct name="ExOleLinkContainer"> 2999 <type name="rh" type="RecordHeader"> 3000 <limitation name="recVer" value="0xF" /> 3001 <limitation name="recInstance" value="0x0" /> 3002 <limitation name="recType" value="0x0FCE" /> 3003 </type> 3004 <type name="exOleLinkAtom" type="ExOleLinkAtom" /> 3005 <type name="exOleObjAtom" type="ExOleObjAtom" /> 3006 <type name="menuNameAtom" type="MenuNameAtom" optional="true" /> 3007 <type name="progIdAtom" type="ProgIDAtom" optional="true" /> 3008 <type name="clipboardNameAtom" type="ClipboardNameAtom" optional="true" /> 3009 <type name="metafile" type="MetafileBlob" optional="true" /> 3010 </struct> 3011 <struct name="ExOleEmbedContainer"> 3012 <type name="rh" type="RecordHeader"> 3013 <limitation name="recVer" value="0xF" /> 3014 <limitation name="recInstance" value="0x0" /> 3015 <limitation name="recType" value="0x0FCC" /> 3016 </type> 3017 <type name="exOleEmbedAtom" type="ExOleEmbedAtom" /> 3018 <type name="exOleObjAtom" type="ExOleObjAtom" /> 3019 <type name="menuNameAtom" type="MenuNameAtom" optional="true" /> 3020 <type name="progIdAtom" type="ProgIDAtom" optional="true" /> 3021 <type name="clipboardNameAtom" type="ClipboardNameAtom" optional="true" /> 3022 <type name="metafile" type="MetafileBlob" optional="true" /> 3023 </struct> 3024 <struct name="ExOleLinkAtom"> 3025 <type name="rh" type="RecordHeader"> 3026 <limitation name="recVer" value="0x0" /> 3027 <limitation name="recInstance" value="0x0" /> 3028 <limitation name="recType" value="0x0FD1" /> 3029 <limitation name="recLen" value="0xC" /> 3030 </type> 3031 <uint32 name="slideIdRef"> 3032 <!-- 3033 A 4-byte unsigned integer that specifies a reference to a 3034 presentation slide. It MUST be 0x00000000 or equal to the value of 3035 the slideId field of a SlidePersistAtom record. The value 0x00000000 3036 specifies a null reference. 3037 --> 3038 </uint32> 3039 <uint32 name="oleUpdateMode" /> 3040 <uint32 name="unused" /> 3041 </struct> 3042 <struct name="ExOleObjAtom"> 3043 <type name="rh" type="RecordHeader"> 3044 <limitation name="recVer" value="0x1" /> 3045 <limitation name="recInstance" value="0x0" /> 3046 <limitation name="recType" value="0x0FC3" /> 3047 <limitation name="recLen" value="0x18" /> 3048 </type> 3049 <uint32 name="drawAspect" /> 3050 <uint32 name="type" /> 3051 <uint32 name="exObjId" /> 3052 <uint32 name="subType" /> 3053 <uint32 name="persistIdRef" /> 3054 <uint32 name="unused" /> 3055 </struct> 3056 <struct name="MenuNameAtom"> 3057 <type name="rh" type="RecordHeader"> 3058 <limitation name="recVer" value="0x0" /> 3059 <limitation name="recInstance" value="0x1" /> 3060 <limitation name="recType" value="0x0FBA" /> 3061 <limitation name="recLen" expression="%2 == 0 " /> 3062 </type> 3063 <uint8 name="menuName" count="rh.recLen" /> 3064 </struct> 3065 <struct name="ProgIDAtom"> 3066 <type name="rh" type="RecordHeader"> 3067 <limitation name="recVer" value="0x0" /> 3068 <limitation name="recInstance" value="0x2" /> 3069 <limitation name="recType" value="0x0FBA" /> 3070 <limitation name="recLen" expression="%2 == 0 " /> 3071 </type> 3072 <uint8 name="progId" count="rh.recLen" /> 3073 </struct> 3074 <struct name="ClipboardNameAtom"> 3075 <type name="rh" type="RecordHeader"> 3076 <limitation name="recVer" value="0x0" /> 3077 <limitation name="recInstance" value="0x3" /> 3078 <limitation name="recType" value="0x0FBA" /> 3079 <limitation name="recLen" expression="%2 == 0 " /> 3080 </type> 3081 <uint8 name="clipboardName" count="rh.recLen" /> 3082 </struct> 3083 <struct name="MetafileBlob"> 3084 <type name="rh" type="RecordHeader"> 3085 <limitation name="recVer" value="0x0" /> 3086 <limitation name="recInstance" value="0x0" /> 3087 <limitation name="recType" value="0x0FC1" /> 3088 <limitation name="recLen" expression=">16" /> 3089 </type> 3090 <int16 name="mm" /> 3091 <int16 name="xExt" /> 3092 <int16 name="yExt" /> 3093 <uint8 name="data" count="rh.recLen-6" /> 3094 </struct> 3095 3096 <!-- NOTE: The OfficeArtDggContainer provides default values => all 3097 containers except the header should be optional, which violates 3098 the MS-ODRAW spec. --> 3099 <struct name="OfficeArtDggContainer"> 3100 <type name="rh" type="OfficeArtRecordHeader"> 3101 <limitation name="recVer" value="0xF" /> 3102 <limitation name="recInstance" value="0x0" /> 3103 <limitation name="recType" value="0x0F000" /> 3104 </type> 3105 <type name="drawingGroup" type="OfficeArtFDGGBlock" /> 3106 <type name="blipStore" type="OfficeArtBStoreContainer" optional="true" /> 3107 <type name="drawingPrimaryOptions" type="OfficeArtFOPT" optional="true" /> 3108 <type name="drawingTertiaryOptions" type="OfficeArtTertiaryFOPT" optional="true" /> 3109 <type name="colorMRU" type="OfficeArtColorMRUContainer" optional="true" /> 3110 <type name="splitColors" type="OfficeArtSplitMenuColorContainer" optional="true" /> 3111 <!-- 3112 Sometimes the order is messed up in openoffice generated documents 3113 This second blipSore takes that into account, but is NOT according to 3114 the specification. 3115 --> 3116 <type name="blipStore2" type="OfficeArtBStoreContainer" optional="true" /> 3117 <!-- MS-ODRAW spec. violation. --> 3118 <type name="unknown" type="OfficeArtTertiaryFOPT" optional="true" /> 3119 </struct> 3120 <struct name="OfficeArtDgContainer"> 3121 <type name="rh" type="OfficeArtRecordHeader"> 3122 <limitation name="recVer" value="0xF" /> 3123 <limitation name="recInstance" value="0x0" /> 3124 <limitation name="recType" value="0xF002" /> 3125 </type> 3126 <type name="drawingData" type="OfficeArtFDG" optional="true" /> 3127 <type name="regroupItems" type="OfficeArtFRITContainer" optional="true" /> 3128 <type name="groupShape" type="OfficeArtSpgrContainer" optional="true" /> 3129 <type name="shape" type="OfficeArtSpContainer" optional="true" /> 3130 <type name="deletedShapes" type="OfficeArtSpgrContainerFileBlock" array="true" /> 3131 <type name="solvers" type="OfficeArtSolverContainer" optional="true" /> 3132 </struct> 3133 <struct name="OfficeArtFDGGBlock"> 3134 <type name="rh" type="OfficeArtRecordHeader"> 3135 <limitation name="recVer" value="0x0" /> 3136 <limitation name="recInstance" value="0x0" /> 3137 <limitation name="recType" value="0x0F006" /> 3138 </type> 3139 <type name="head" type="OfficeArtFDGG"> 3140 <!-- <limitation expression="cidcl==rh.recLen/8.0-2" /> FIX!--> 3141 </type> 3142 <type name="Rgidcl" type="OfficeArtIDCL" count="head.cidcl-1" /> 3143 </struct> 3144 <struct name="OfficeArtFDGG"> 3145 <uint32 name="spidMax"> 3146 <limitation expression="<67098623" /> 3147 </uint32> 3148 <uint32 name="cidcl"> 3149 <limitation expression="<268435455" /> 3150 </uint32> 3151 <uint32 name="cspSaved" /> 3152 <uint32 name="cdgSaved" /> 3153 </struct> 3154 <struct name="OfficeArtFDG"> 3155 <type name="rh" type="OfficeArtRecordHeader"> 3156 <limitation name="recVer" value="0x0" /> 3157 <limitation name="recInstance" expression="<=4094" /> 3158 <limitation name="recType" value="0x0F008" /> 3159 <limitation name="recLen" value="8" /> 3160 </type> 3161 <uint32 name="csp" /> 3162 <uint32 name="spidCur" /> 3163 </struct> 3164 <struct name="OfficeArtFRITContainer"> 3165 <type name="rh" type="OfficeArtRecordHeader"> 3166 <limitation name="recVer" value="0" /> 3167 <limitation name="recType" value="0xF118" /> 3168 <limitation expression="recLen==4*recInstance" /> 3169 </type> 3170 <type name="rgfrit" type="OfficeArtFRIT" count="rh.recInstance" /> 3171 </struct> 3172 <struct name="OfficeArtFRIT"> 3173 <uint16 name="fridNew" /> 3174 <uint16 name="fridOld" /> 3175 </struct> 3176 <struct name="OfficeArtBStoreContainer"> 3177 <type name="rh" type="OfficeArtRecordHeader"> 3178 <limitation name="recVer" value="0xF" /> 3179 <limitation name="recType" value="0x0F001" /> 3180 </type> 3181 <!-- 3182 OOo can set number of instances to a wrong value, so use rh.recLen 3183 --> 3184 <type name="rgfb" type="OfficeArtBStoreContainerFileBlock" array="true" 3185 size="rh.recLen" /> 3186 </struct> 3187 <struct name="OfficeArtSpgrContainer"> 3188 <type name="rh" type="OfficeArtRecordHeader"> 3189 <limitation name="recVer" value="0xF" /> 3190 <limitation name="recInstance" value="0" /> 3191 <limitation name="recType" value="0x0F003" /> 3192 </type> 3193 <type name="rgfb" type="OfficeArtSpgrContainerFileBlock" array="true" 3194 size="rh.recLen" /> 3195 </struct> 3196 <struct name="OfficeArtSpgrContainerFileBlock"> 3197 <choice name="anon"> 3198 <type type="OfficeArtSpContainer" /> 3199 <type type="OfficeArtSpgrContainer" /> 3200 <type type="OfficeArtFSP" /> 3201 <type type="OfficeArtFSPGR" /> 3202 <type type="OfficeArtClientAnchor" /> 3203 <type type="OfficeArtClientData" /> 3204 </choice> 3205 </struct> 3206 <!-- MS-ODRAW spec. violation - child containers NOT documented as optional --> 3207 <struct name="OfficeArtSpContainer"> 3208 <type name="rh" type="OfficeArtRecordHeader"> 3209 <limitation name="recVer" value="0xF" /> 3210 <limitation name="recInstance" value="0" /> 3211 <limitation name="recType" value="0x0F004" /> 3212 </type> 3213 <type name="shapeGroup" type="OfficeArtFSPGR" optional="true" /> 3214 <type name="shapeProp" type="OfficeArtFSP" /> 3215 <type name="deletedshape" type="OfficeArtFPSPL" optional="true" /> 3216 <type name="shapePrimaryOptions" type="OfficeArtFOPT" optional="true" /> 3217 <type name="shapeSecondaryOptions1" type="OfficeArtSecondaryFOPT" optional="true" /> 3218 <type name="shapeTertiaryOptions1" type="OfficeArtTertiaryFOPT" optional="true" /> 3219 <type name="childAnchor" type="OfficeArtChildAnchor" optional="true" /> 3220 <type name="clientAnchor" type="OfficeArtClientAnchor" optional="true" /> 3221 <type name="clientData" type="OfficeArtClientData" optional="true" /> 3222 <type name="clientTextbox" type="OfficeArtClientTextBox" optional="true" /> 3223 <!-- MS-ODRAW spec. violation - (MS Office2003/GoogleDocs specific). --> 3224 <type name="shapePrimaryOptions2" type="OfficeArtFOPT" optional="true" /> 3225 <!-- This field MUST NOT exist if shapeSecondaryOptions1 exists. --> 3226 <type name="shapeSecondaryOptions2" type="OfficeArtSecondaryFOPT" optional="true" /> 3227 <!-- This field MUST NOT exist if shapeTertiaryOptions1 exists. --> 3228 <type name="shapeTertiaryOptions2" type="OfficeArtTertiaryFOPT" optional="true" /> 3229 <!-- MS-ODRAW spec. violation - unknown container (MSOffice2003 3230 specific). It has the same length as RTFDateTimeMCAtom. --> 3231 <type name="unknown" type="UnknownTextContainerChild" optional="true" /> 3232 </struct> 3233 <struct name="OfficeArtInlineSpContainer"> 3234 <type name="shape" type="OfficeArtSpContainer" /> 3235 <type name="rgfb" type="OfficeArtBStoreContainerFileBlock" array="true" /> 3236 </struct> 3237 <struct name="OfficeArtSolverContainer"> 3238 <type name="rh" type="OfficeArtRecordHeader"> 3239 <limitation name="recVer" value="0xF" /> 3240 <limitation name="recType" value="0xF005" /> 3241 </type> 3242 <type name="rgfb" type="OfficeArtSolverContainerFileBlock" array="true" /> 3243 </struct> 3244 <struct name="OfficeArtSolverContainerFileBlock"> 3245 <choice name="anon"> 3246 <type type="OfficeArtFConnectorRule" /> 3247 <type type="OfficeArtFArcRule" /> 3248 <type type="OfficeArtFCalloutRule" /> 3249 </choice> 3250 </struct> 3251 <struct name="OfficeArtFConnectorRule"> 3252 <type name="rh" type="OfficeArtRecordHeader"> 3253 <limitation name="recVer" value="1" /> 3254 <limitation name="recInstance" value="0" /> 3255 <limitation name="recType" value="0xF012" /> 3256 <limitation name="recLen" value="0x18" /> 3257 </type> 3258 <uint32 name="ruid" /> 3259 <uint32 name="spidA" /> 3260 <uint32 name="spidB" /> 3261 <uint32 name="spidC" /> 3262 <uint32 name="cptiA" /> 3263 <uint32 name="cptiB" /> 3264 </struct> 3265 <struct name="OfficeArtFArcRule"> 3266 <type name="rh" type="OfficeArtRecordHeader"> 3267 <limitation name="recVer" value="0" /> 3268 <limitation name="recInstance" value="0" /> 3269 <limitation name="recType" value="0xF014" /> 3270 <limitation name="recLen" value="8" /> 3271 </type> 3272 <uint32 name="ruid" /> 3273 <uint32 name="spid" /> 3274 </struct> 3275 <struct name="OfficeArtFCalloutRule"> 3276 <type name="rh" type="OfficeArtRecordHeader"> 3277 <limitation name="recVer" value="0" /> 3278 <limitation name="recInstance" value="0" /> 3279 <limitation name="recType" value="0xF017" /> 3280 <limitation name="recLen" value="8" /> 3281 </type> 3282 <uint32 name="ruid" /> 3283 <uint32 name="spid" /> 3284 </struct> 3285 <struct name="OfficeArtFSPGR"> 3286 <type name="rh" type="OfficeArtRecordHeader"> 3287 <limitation name="recVer" value="0x1" /> 3288 <limitation name="recInstance" value="0" /> 3289 <limitation name="recType" value="0x0F009" /> 3290 <limitation name="recLen" value="0x10" /> 3291 </type> 3292 <int32 name="xLeft" /> 3293 <int32 name="yTop" /> 3294 <int32 name="xRight" /> 3295 <int32 name="yBottom" /> 3296 </struct> 3297 <struct name="OfficeArtFSP"> 3298 <type name="rh" type="OfficeArtRecordHeader"> 3299 <limitation name="recVer" value="0x2" /> 3300 <limitation name="recInstance" expression="<= 202" /> 3301 <limitation name="recType" value="0x0F00A" /> 3302 <limitation name="recLen" value="8" /> 3303 </type> 3304 <uint32 name="spid" /> 3305 <bit name="fGroup" /> 3306 <bit name="fChild" /> 3307 <bit name="fPatriarch" /> 3308 <bit name="fDeleted" /> 3309 <bit name="fOleShape" /> 3310 <bit name="fHaveMaster" /> 3311 <bit name="fFlipH" /> 3312 <bit name="fFlipV" /> 3313 <bit name="fConnector" /> 3314 <bit name="fHaveAnchor" /> 3315 <bit name="fBackground" /> 3316 <bit name="fHaveSpt" /> 3317 <uint20 name="unused1" /> 3318 </struct> 3319 <struct name="OfficeArtFOPT"> 3320 <type name="rh" type="OfficeArtRecordHeader"> 3321 <limitation name="recVer" value="0x3" /> 3322 <limitation name="recType" value="0x0F00B" /> 3323 </type> 3324 <type name="fopt" type="OfficeArtFOPTEChoice" count="rh.recInstance" /> 3325 <uint8 name="complexData" count="rh.recLen-6*rh.recInstance" /> 3326 </struct> 3327 <struct name="OfficeArtSecondaryFOPT"> 3328 <type name="rh" type="OfficeArtRecordHeader"> 3329 <limitation name="recVer" value="3" /> 3330 <limitation name="recType" value="0xF121" /> 3331 </type> 3332 <type name="fopt" type="OfficeArtFOPTEChoice" count="rh.recInstance" /> 3333 <uint8 name="complexData" count="rh.recLen-6*rh.recInstance" /> 3334 </struct> 3335 <struct name="OfficeArtTertiaryFOPT"> 3336 <type name="rh" type="OfficeArtRecordHeader"> 3337 <limitation name="recVer" value="3" /> 3338 <limitation name="recType" value="0xF122" /> 3339 </type> 3340 <type name="fopt" type="OfficeArtFOPTEChoice" count="rh.recInstance" /> 3341 <uint8 name="complexData" count="rh.recLen-6*rh.recInstance" /> 3342 </struct> 3343 <!-- This type is invented to make OPTE specific parsing possible --> 3344 <struct name="OfficeArtFOPTEChoice"> 3345 <choice name="anon"> 3346 <type type="Rotation" /> 3347 <type type="ProtectionBooleanProperties" /> 3348 <type type="ITxid" /> 3349 <type type="DxTextLeft" /> 3350 <type type="DyTextTop" /> 3351 <type type="DxTextRight" /> 3352 <type type="DyTextBottom" /> 3353 <type type="WrapText" /> 3354 <type type="AnchorText" /> 3355 <type type="TxflTextFlow" /> 3356 <type type="CdirFont" /> 3357 <type type="HspNext" /> 3358 <type type="Txdir" /> 3359 <type type="TextBooleanProperties" /> 3360 <type type="CropFromTop" /> 3361 <type type="CropFromBottom" /> 3362 <type type="CropFromLeft" /> 3363 <type type="CropFromRight" /> 3364 <type type="Pib" /> 3365 <type type="PibName" /> 3366 <type type="PibFlags" /> 3367 <type type="PictureTransparent" /> 3368 <type type="PictureContrast" /> 3369 <type type="PictureBrightness" /> 3370 <type type="BlipBooleanProperties" /> 3371 <type type="GeoLeft" /> 3372 <type type="GeoTop" /> 3373 <type type="GeoRight" /> 3374 <type type="GeoBottom" /> 3375 <type type="ShapePath" /> 3376 <type type="PVertices" /> 3377 <type type="PSegmentInfo" /> 3378 <type type="AdjustValue" /> 3379 <type type="Adjust2Value" /> 3380 <type type="Adjust3Value" /> 3381 <type type="Adjust4Value" /> 3382 <type type="Adjust5Value" /> 3383 <type type="Adjust6Value" /> 3384 <type type="Adjust7Value" /> 3385 <type type="Adjust8Value" /> 3386 <type type="GeometryBooleanProperties" /> 3387 <type type="FillType" /> 3388 <type type="FillColor" /> 3389 <type type="FillOpacity" /> 3390 <type type="FillBackColor" /> 3391 <type type="FillBackOpacity" /> 3392 <type type="FillCrMod" /> 3393 <type type="FillBlip" /> 3394 <type type="FillBlipName" /> 3395 <type type="FillBlipFlags" /> 3396 <type type="FillWidth" /> 3397 <type type="FillHeight" /> 3398 <type type="FillAngle" /> 3399 <type type="FillFocus" /> 3400 <type type="FillToLeft" /> 3401 <type type="FillToTop" /> 3402 <type type="FillToRight" /> 3403 <type type="FillToBottom" /> 3404 <type type="FillRectLeft" /> 3405 <type type="FillRectTop" /> 3406 <type type="FillRectRight" /> 3407 <type type="FillRectBottom" /> 3408 <type type="FillDztype" /> 3409 <type type="FillShadePreset" /> 3410 <type type="FillShadeColors" /> 3411 <type type="FillOriginX" /> 3412 <type type="FillOriginY" /> 3413 <type type="FillShapeOriginX" /> 3414 <type type="FillShapeOriginY" /> 3415 <type type="FillColorExt" /> 3416 <type type="FillBackColorExt" /> 3417 <type type="FillStyleBooleanProperties" /> 3418 <type type="LineColor" /> 3419 <type type="LineOpacity" /> 3420 <type type="LineBackColor" /> 3421 <type type="LineFillBlip" /> 3422 <type type="LineWidth" /> 3423 <type type="LineStyle" /> 3424 <type type="LineDashing" /> 3425 <type type="LineStartArrowhead" /> 3426 <type type="LineEndArrowhead" /> 3427 <type type="LineStartArrowWidth" /> 3428 <type type="LineStartArrowLength" /> 3429 <type type="LineEndArrowWidth" /> 3430 <type type="LineEndArrowLength" /> 3431 <type type="LineJoinStyle" /> 3432 <type type="LineEndCapStyle" /> 3433 <type type="LineStyleBooleanProperties" /> 3434 <type type="ShadowType" /> 3435 <type type="ShadowColor" /> 3436 <type type="ShadowOpacity" /> 3437 <type type="ShadowOffsetX" /> 3438 <type type="ShadowOffsetY" /> 3439 <type type="ShadowStyleBooleanProperties" /> 3440 <type type="HspMaster" /> 3441 <type type="Cxstyle" /> 3442 <type type="BWMode" /> 3443 <type type="ShapeBooleanProperties" /> 3444 <type type="DxyCalloutGap" /> 3445 <type type="Spcoa" /> 3446 <type type="Spcod" /> 3447 <type type="DxyCalloutDropSpecified" /> 3448 <type type="DxyCalloutLengthSpecified" /> 3449 <type type="CalloutBooleanProperties" /> 3450 <type type="PWrapPolygonVertices" /> 3451 <type type="DxWrapDistLeft" /> 3452 <type type="DyWrapDistTop" /> 3453 <type type="DxWrapDistRight" /> 3454 <type type="DyWrapDistBottom" /> 3455 <type type="LidRegroup" /> 3456 <type type="PosH" /> 3457 <type type="PosRelH" /> 3458 <type type="PosV" /> 3459 <type type="PosRelV" /> 3460 <type type="PctHR" /> 3461 <type type="AlignHR" /> 3462 <type type="DxHeightHR" /> 3463 <type type="DxWidthHR" /> 3464 <type type="BorderTopColor" /> 3465 <type type="BorderLeftColor" /> 3466 <type type="BorderBottomColor" /> 3467 <type type="BorderRightColor" /> 3468 <type type="GroupShapeBooleanProperties" /> 3469 <type type="WzFillId" /> 3470 <type type="DiagramBooleanProperties" /> 3471 <type type="OfficeArtFOPTE" /> 3472 </choice> 3473 </struct> 3474 <struct name="MSOPATHINFO"> 3475 <uint3 name="type" /> 3476 <uint13 name="segments" /> 3477 </struct> 3478 <struct name="FixedPoint"> 3479 <!-- 3480 strangely the fraction part seems to come first this conflicts with 3481 what the spec suggests 3482 --> 3483 <uint16 name="fractional" /> 3484 <int16 name="integral" /> 3485 </struct> 3486 <!-- Properties: BEGIN --> 3487 <!-- Transform Property Set --> 3488 <struct name="Rotation"> 3489 <type name="opid" type="OfficeArtFOPTEOPID"> 3490 <limitation name="opid" value="0x0004" /> 3491 <limitation name="fBid" value="false" /> 3492 <limitation name="fComplex" value="false" /> 3493 </type> 3494 <type name="rotation" type="FixedPoint" /> 3495 </struct> 3496 <!-- Protection --> 3497 <struct name="ProtectionBooleanProperties"> 3498 <type name="opid" type="OfficeArtFOPTEOPID"> 3499 <limitation name="opid" value="0x007F" /> 3500 <limitation name="fBid" value="false" /> 3501 <limitation name="fComplex" value="false" /> 3502 </type> 3503 <bit name="fLockAgainstGrouping" /> 3504 <bit name="fLockAdjustHandles" /> 3505 <bit name="fLockText" /> 3506 <bit name="fLockVertices" /> 3507 <bit name="fLockCropping" /> 3508 <bit name="fLockAgainstSelect" /> 3509 <bit name="fLockPosition" /> 3510 <bit name="fLockAspectRatio" /> 3511 <bit name="fLockRotation" /> 3512 <bit name="fLockAgainstUngrouping" /> 3513 <uint6 name="unused6" /> 3514 <bit name="fUsefLockAgainstGrouping" /> 3515 <bit name="fUseLockAdjustHandles" /> 3516 <bit name="fUseLockText" /> 3517 <bit name="fUsefLockVertices" /> 3518 <bit name="fUsefLockCropping" /> 3519 <bit name="fUsefLockAgainstSelect" /> 3520 <bit name="fUsefLockPosition" /> 3521 <bit name="fUsefLockAspectRatio" /> 3522 <bit name="fUsefLockRotation" /> 3523 <bit name="fUsefLockAgainstUngrouping" /> 3524 <uint6 name="unused2" /> 3525 </struct> 3526 <!-- Text Property Set --> 3527 <struct name="ITxid"> 3528 <type name="opid" type="OfficeArtFOPTEOPID"> 3529 <limitation name="opid" value="0x0080" /> 3530 <limitation name="fBid" value="false" /> 3531 <limitation name="fComplex" value="false" /> 3532 </type> 3533 <int32 name="iTxid" /> 3534 </struct> 3535 <struct name="DxTextLeft"> 3536 <type name="opid" type="OfficeArtFOPTEOPID"> 3537 <limitation name="opid" value="0x0081" /> 3538 <limitation name="fBid" value="false" /> 3539 <limitation name="fComplex" value="false" /> 3540 </type> 3541 <int32 name="dxTextLeft" /> 3542 </struct> 3543 <struct name="DyTextTop"> 3544 <type name="opid" type="OfficeArtFOPTEOPID"> 3545 <limitation name="opid" value="0x0082" /> 3546 <limitation name="fBid" value="false" /> 3547 <limitation name="fComplex" value="false" /> 3548 </type> 3549 <int32 name="dyTextTop" /> 3550 </struct> 3551 <struct name="DxTextRight"> 3552 <type name="opid" type="OfficeArtFOPTEOPID"> 3553 <limitation name="opid" value="0x0083" /> 3554 <limitation name="fBid" value="false" /> 3555 <limitation name="fComplex" value="false" /> 3556 </type> 3557 <int32 name="dxTextRight" /> 3558 </struct> 3559 <struct name="DyTextBottom"> 3560 <type name="opid" type="OfficeArtFOPTEOPID"> 3561 <limitation name="opid" value="0x0084" /> 3562 <limitation name="fBid" value="false" /> 3563 <limitation name="fComplex" value="false" /> 3564 </type> 3565 <int32 name="dyTextBottom" /> 3566 </struct> 3567 <struct name="WrapText"> 3568 <type name="opid" type="OfficeArtFOPTEOPID"> 3569 <limitation name="opid" value="0x0085" /> 3570 <limitation name="fBid" value="false" /> 3571 <limitation name="fComplex" value="false" /> 3572 </type> 3573 <uint32 name="wrapText"> 3574 <limitation expression="<5" /> 3575 </uint32> 3576 </struct> 3577 <struct name="AnchorText"> 3578 <type name="opid" type="OfficeArtFOPTEOPID"> 3579 <limitation name="opid" value="0x0087" /> 3580 <limitation name="fBid" value="false" /> 3581 <limitation name="fComplex" value="false" /> 3582 </type> 3583 <uint32 name="anchorText"> 3584 <limitation expression="<=9" /> 3585 </uint32> 3586 </struct> 3587 <struct name="TxflTextFlow"> 3588 <type name="opid" type="OfficeArtFOPTEOPID"> 3589 <limitation name="opid" value="0x0088" /> 3590 <limitation name="fBid" value="false" /> 3591 <limitation name="fComplex" value="false" /> 3592 </type> 3593 <uint32 name="txflTextFlow"> 3594 <limitation expression="<=5" /> 3595 </uint32> 3596 </struct> 3597 <struct name="CdirFont"> 3598 <type name="opid" type="OfficeArtFOPTEOPID"> 3599 <limitation name="opid" value="0x0089" /> 3600 <limitation name="fBid" value="false" /> 3601 <limitation name="fComplex" value="false" /> 3602 </type> 3603 <uint32 name="cdirFont"> 3604 <limitation expression="<=3" /> 3605 </uint32> 3606 </struct> 3607 <struct name="HspNext"> 3608 <type name="opid" type="OfficeArtFOPTEOPID"> 3609 <limitation name="opid" value="0x008A" /> 3610 <limitation name="fBid" value="false" /> 3611 <limitation name="fComplex" value="false" /> 3612 </type> 3613 <uint32 name="hspNext" /> 3614 </struct> 3615 <struct name="Txdir"> 3616 <type name="opid" type="OfficeArtFOPTEOPID"> 3617 <limitation name="opid" value="0x008B" /> 3618 <limitation name="fBid" value="false" /> 3619 <limitation name="fComplex" value="false" /> 3620 </type> 3621 <uint32 name="txdir"> 3622 <limitation expression="<=2" /> 3623 </uint32> 3624 </struct> 3625 <struct name="TextBooleanProperties"> 3626 <type name="opid" type="OfficeArtFOPTEOPID"> 3627 <limitation name="opid" value="0x00BF" /> 3628 <limitation name="fBid" value="false" /> 3629 <limitation name="fComplex" value="false" /> 3630 </type> 3631 <bit name="unused1" /> 3632 <bit name="fFitShapeToText" /> 3633 <bit name="unused2" /> 3634 <bit name="fAutoTextMargin" /> 3635 <bit name="fSelectText" /> 3636 <uint3 name="unused3a" /> 3637 <uint8 name="unused3b" /> 3638 <bit name="unused4" /> 3639 <bit name="fUsefFitShapeToText" /> 3640 <bit name="unused5" /> 3641 <bit name="fUsefAutoTextMargin" /> 3642 <bit name="fUsefSelectText" /> 3643 <uint3 name="unused6a" /> 3644 <uint8 name="unused6b" /> 3645 </struct> 3646 <!-- Blip Property Set --> 3647 <struct name="CropFromTop"> 3648 <type name="opid" type="OfficeArtFOPTEOPID"> 3649 <limitation name="opid" value="0x0100" /> 3650 <limitation name="fBid" value="false" /> 3651 <limitation name="fComplex" value="false" /> 3652 </type> 3653 <type name="cropFromTop" type="FixedPoint" /> 3654 </struct> 3655 <struct name="CropFromBottom"> 3656 <type name="opid" type="OfficeArtFOPTEOPID"> 3657 <limitation name="opid" value="0x0101" /> 3658 <limitation name="fBid" value="false" /> 3659 <limitation name="fComplex" value="false" /> 3660 </type> 3661 <type name="cropFromBottom" type="FixedPoint" /> 3662 </struct> 3663 <struct name="CropFromLeft"> 3664 <type name="opid" type="OfficeArtFOPTEOPID"> 3665 <limitation name="opid" value="0x0102" /> 3666 <limitation name="fBid" value="false" /> 3667 <limitation name="fComplex" value="false" /> 3668 </type> 3669 <type name="cropFromLeft" type="FixedPoint" /> 3670 </struct> 3671 <struct name="CropFromRight"> 3672 <type name="opid" type="OfficeArtFOPTEOPID"> 3673 <limitation name="opid" value="0x0103" /> 3674 <limitation name="fBid" value="false" /> 3675 <limitation name="fComplex" value="false" /> 3676 </type> 3677 <type name="cropFromRight" type="FixedPoint" /> 3678 </struct> 3679 <struct name="Pib"> 3680 <type name="opid" type="OfficeArtFOPTEOPID"> 3681 <limitation name="opid" value="0x0104" /> 3682 </type> 3683 <uint32 name="pib" /> 3684 </struct> 3685 <struct name="PibName"> 3686 <type name="opid" type="OfficeArtFOPTEOPID"> 3687 <limitation name="opid" value="0x0105" /> 3688 </type> 3689 <uint32 name="pibName" /> 3690 </struct> 3691 <struct name="PibFlags"> 3692 <type name="opid" type="OfficeArtFOPTEOPID"> 3693 <limitation name="opid" value="0x0106" /> 3694 <limitation name="fBid" value="false" /> 3695 <limitation name="fComplex" value="false" /> 3696 </type> 3697 <uint32 name="pibFlags" /> 3698 </struct> 3699 <struct name="PictureTransparent"> 3700 <type name="opid" type="OfficeArtFOPTEOPID"> 3701 <limitation name="opid" value="0x0107" /> 3702 <limitation name="fBid" value="false" /> 3703 <limitation name="fComplex" value="false" /> 3704 </type> 3705 <type name="pictureTransparent" type="OfficeArtCOLORREF" /> 3706 </struct> 3707 <struct name="PictureContrast"> 3708 <type name="opid" type="OfficeArtFOPTEOPID"> 3709 <limitation name="opid" value="0x0108" /> 3710 <limitation name="fBid" value="false" /> 3711 <limitation name="fComplex" value="false" /> 3712 </type> 3713 <int32 name="pictureContrast" /> 3714 </struct> 3715 <struct name="PictureBrightness"> 3716 <type name="opid" type="OfficeArtFOPTEOPID"> 3717 <limitation name="opid" value="0x0109" /> 3718 <limitation name="fBid" value="false" /> 3719 <limitation name="fComplex" value="false" /> 3720 </type> 3721 <int32 name="pictureBrightness" /> 3722 </struct> 3723 <struct name="BlipBooleanProperties"> 3724 <type name="opid" type="OfficeArtFOPTEOPID"> 3725 <limitation name="opid" value="0x013F" /> 3726 <limitation name="fBid" value="false" /> 3727 <limitation name="fComplex" value="false" /> 3728 </type> 3729 <bit name="fPictureActive" /> 3730 <bit name="fPictureBiLevel" /> 3731 <bit name="fPictureGray" /> 3732 <bit name="fNoHitTestPicture" /> 3733 <bit name="fLooping" /> 3734 <bit name="fRewind" /> 3735 <bit name="fPicturePreserveGrays" /> 3736 <bit name="unused1a" /> 3737 <uint8 name="unused1b" /> 3738 <bit name="fUsefPictureActive" /> 3739 <bit name="fUsefPictureBiLevel" /> 3740 <bit name="fUsefPictureGray" /> 3741 <bit name="fUsefNoHitTestPicture" /> 3742 <bit name="fUsefLooping" /> 3743 <bit name="fUsefRewind" /> 3744 <bit name="fUsefPicturePreserveGrays" /> 3745 <bit name="unused2a" /> 3746 <uint8 name="unused2b" /> 3747 </struct> 3748 <!-- Geometry Property Set --> 3749 <struct name="GeoLeft"> 3750 <type name="opid" type="OfficeArtFOPTEOPID"> 3751 <limitation name="opid" value="0x0140" /> 3752 <limitation name="fBid" value="false" /> 3753 <limitation name="fComplex" value="false" /> 3754 </type> 3755 <int32 name="geoLeft" /> 3756 </struct> 3757 <struct name="GeoTop"> 3758 <type name="opid" type="OfficeArtFOPTEOPID"> 3759 <limitation name="opid" value="0x0141" /> 3760 <limitation name="fBid" value="false" /> 3761 <limitation name="fComplex" value="false" /> 3762 </type> 3763 <int32 name="geoTop" /> 3764 </struct> 3765 <struct name="GeoRight"> 3766 <type name="opid" type="OfficeArtFOPTEOPID"> 3767 <limitation name="opid" value="0x0142" /> 3768 <limitation name="fBid" value="false" /> 3769 <limitation name="fComplex" value="false" /> 3770 </type> 3771 <int32 name="geoRight" /> 3772 </struct> 3773 <struct name="GeoBottom"> 3774 <type name="opid" type="OfficeArtFOPTEOPID"> 3775 <limitation name="opid" value="0x0143" /> 3776 <limitation name="fBid" value="false" /> 3777 <limitation name="fComplex" value="false" /> 3778 </type> 3779 <int32 name="geoBottom" /> 3780 </struct> 3781 <struct name="ShapePath"> 3782 <type name="opid" type="OfficeArtFOPTEOPID"> 3783 <limitation name="opid" value="0x0144" /> 3784 <limitation name="fBid" value="false" /> 3785 <limitation name="fComplex" value="false" /> 3786 </type> 3787 <uint32 name="shapePath"> 3788 <limitation expression="<=4" /> 3789 </uint32> 3790 </struct> 3791 <struct name="PVertices"> 3792 <type name="opid" type="OfficeArtFOPTEOPID"> 3793 <limitation name="opid" value="0x0145" /> 3794 </type> 3795 <uint32 name="pVertices" /> 3796 </struct> 3797 <struct name="PVertices_complex"> 3798 <uint16 name="nElems" /> 3799 <uint16 name="nElemsAlloc" /> 3800 <uint16 name="cbElem" /> 3801 <uint8 name="data" count="(cbElem==0xFFF0)?(4 * nElems):(cbElem * nElems)" /> 3802 </struct> 3803 <struct name="PSegmentInfo"> 3804 <type name="opid" type="OfficeArtFOPTEOPID"> 3805 <limitation name="opid" value="0x0146" /> 3806 </type> 3807 <uint32 name="pSegmentInfo" /> 3808 </struct> 3809 <struct name="PSegmentInfo_complex"> 3810 <uint16 name="nElems" /> 3811 <uint16 name="nElemsAlloc" /> 3812 <uint16 name="cbElem" /> 3813 <uint8 name="data" count="(cbElem==0xFFF0)?(4 * nElems):(cbElem * nElems)" /> 3814 </struct> 3815 <struct name="AdjustValue"> 3816 <type name="opid" type="OfficeArtFOPTEOPID"> 3817 <limitation name="opid" value="0x0147" /> 3818 <limitation name="fBid" value="false" /> 3819 <limitation name="fComplex" value="false" /> 3820 </type> 3821 <int32 name="adjustvalue" /> 3822 </struct> 3823 <struct name="Adjust2Value"> 3824 <type name="opid" type="OfficeArtFOPTEOPID"> 3825 <limitation name="opid" value="0x0148" /> 3826 <limitation name="fBid" value="false" /> 3827 <limitation name="fComplex" value="false" /> 3828 </type> 3829 <int32 name="adjust2value" /> 3830 </struct> 3831 <struct name="Adjust3Value"> 3832 <type name="opid" type="OfficeArtFOPTEOPID"> 3833 <limitation name="opid" value="0x0149" /> 3834 <limitation name="fBid" value="false" /> 3835 <limitation name="fComplex" value="false" /> 3836 </type> 3837 <int32 name="adjust3value" /> 3838 </struct> 3839 <struct name="Adjust4Value"> 3840 <type name="opid" type="OfficeArtFOPTEOPID"> 3841 <limitation name="opid" value="0x014A" /> 3842 <limitation name="fBid" value="false" /> 3843 <limitation name="fComplex" value="false" /> 3844 </type> 3845 <int32 name="adjust4value" /> 3846 </struct> 3847 <struct name="Adjust5Value"> 3848 <type name="opid" type="OfficeArtFOPTEOPID"> 3849 <limitation name="opid" value="0x014B" /> 3850 <limitation name="fBid" value="false" /> 3851 <limitation name="fComplex" value="false" /> 3852 </type> 3853 <int32 name="adjust5value" /> 3854 </struct> 3855 <struct name="Adjust6Value"> 3856 <type name="opid" type="OfficeArtFOPTEOPID"> 3857 <limitation name="opid" value="0x014C" /> 3858 <limitation name="fBid" value="false" /> 3859 <limitation name="fComplex" value="false" /> 3860 </type> 3861 <int32 name="adjust6value" /> 3862 </struct> 3863 <struct name="Adjust7Value"> 3864 <type name="opid" type="OfficeArtFOPTEOPID"> 3865 <limitation name="opid" value="0x014D" /> 3866 <limitation name="fBid" value="false" /> 3867 <limitation name="fComplex" value="false" /> 3868 </type> 3869 <int32 name="adjust7value" /> 3870 </struct> 3871 <struct name="Adjust8Value"> 3872 <type name="opid" type="OfficeArtFOPTEOPID"> 3873 <limitation name="opid" value="0x014E" /> 3874 <limitation name="fBid" value="false" /> 3875 <limitation name="fComplex" value="false" /> 3876 </type> 3877 <int32 name="adjust8value" /> 3878 </struct> 3879 <struct name="GeometryBooleanProperties"> 3880 <type name="opid" type="OfficeArtFOPTEOPID"> 3881 <limitation name="opid" value="0x017F" /> 3882 <limitation name="fBid" value="false" /> 3883 <limitation name="fComplex" value="false" /> 3884 </type> 3885 <bit name="fFillOk" /> 3886 <bit name="fFillShadeShapeOK" /> 3887 <bit name="fGtextOK" /> 3888 <bit name="fLineOK" /> 3889 <bit name="f3DOK" /> 3890 <bit name="fShadowOK" /> 3891 <bit name="unuseda" /> 3892 <bit name="unusedb" /> 3893 <uint8 name="unused2" /> 3894 <bit name="fUsefFillOK" /> 3895 <bit name="fUsefFillShadeShapeOK" /> 3896 <bit name="fUsefGtextOK" /> 3897 <bit name="fUsefLineOK" /> 3898 <bit name="fUsef3DOK" /> 3899 <bit name="fUsefShadowOK" /> 3900 <bit name="unused3a" /> 3901 <bit name="unused3b" /> 3902 <uint8 name="unused4" /> 3903 </struct> 3904 <!-- Fill Style Property Set --> 3905 <struct name="FillType"> 3906 <type name="opid" type="OfficeArtFOPTEOPID"> 3907 <limitation name="opid" value="0x0180" /> 3908 <limitation name="fBid" value="false" /> 3909 <limitation name="fComplex" value="false" /> 3910 </type> 3911 <uint32 name="fillType"> 3912 <limitation expression="<=9" /> 3913 </uint32> 3914 </struct> 3915 <struct name="FillColor"> 3916 <type name="opid" type="OfficeArtFOPTEOPID"> 3917 <limitation name="opid" value="0x0181" /> 3918 <limitation name="fBid" value="false" /> 3919 <limitation name="fComplex" value="false" /> 3920 </type> 3921 <type name="fillColor" type="OfficeArtCOLORREF" /> 3922 </struct> 3923 <struct name="FillOpacity"> 3924 <type name="opid" type="OfficeArtFOPTEOPID"> 3925 <limitation name="opid" value="0x0182" /> 3926 <limitation name="fBid" value="false" /> 3927 <limitation name="fComplex" value="false" /> 3928 </type> 3929 <type name="fillOpacity" type="FixedPoint" /> 3930 </struct> 3931 <struct name="FillBackColor"> 3932 <type name="opid" type="OfficeArtFOPTEOPID"> 3933 <limitation name="opid" value="0x0183" /> 3934 <limitation name="fBid" value="false" /> 3935 <limitation name="fComplex" value="false" /> 3936 </type> 3937 <type name="fillBackColor" type="OfficeArtCOLORREF" /> 3938 </struct> 3939 <struct name="FillBackOpacity"> 3940 <type name="opid" type="OfficeArtFOPTEOPID"> 3941 <limitation name="opid" value="0x0184" /> 3942 <limitation name="fBid" value="false" /> 3943 <limitation name="fComplex" value="false" /> 3944 </type> 3945 <type name="fillBackOpacity" type="FixedPoint" /> 3946 </struct> 3947 <struct name="FillCrMod"> 3948 <type name="opid" type="OfficeArtFOPTEOPID"> 3949 <limitation name="opid" value="0x0185" /> 3950 <limitation name="fBid" value="false" /> 3951 <limitation name="fComplex" value="false" /> 3952 </type> 3953 <type name="fillCrMod" type="OfficeArtCOLORREF" /> 3954 </struct> 3955 <struct name="FillBlip"> 3956 <type name="opid" type="OfficeArtFOPTEOPID"> 3957 <limitation name="opid" value="0x0186" /> 3958 </type> 3959 <uint32 name="fillBlip" /> 3960 </struct> 3961 <struct name="FillBlipName"> 3962 <type name="opid" type="OfficeArtFOPTEOPID"> 3963 <limitation name="opid" value="0x0187" /> 3964 </type> 3965 <uint32 name="fillBlipName" /> 3966 </struct> 3967 <struct name="FillBlipFlags"> 3968 <type name="opid" type="OfficeArtFOPTEOPID"> 3969 <limitation name="opid" value="0x0188" /> 3970 <limitation name="fBid" value="false" /> 3971 <limitation name="fComplex" value="false" /> 3972 </type> 3973 <uint32 name="fillBlipFlags" /> 3974 </struct> 3975 <struct name="FillWidth"> 3976 <type name="opid" type="OfficeArtFOPTEOPID"> 3977 <limitation name="opid" value="0x0189" /> 3978 <limitation name="fBid" value="false" /> 3979 <limitation name="fComplex" value="false" /> 3980 </type> 3981 <int32 name="fillWidth" /> 3982 </struct> 3983 <struct name="FillHeight"> 3984 <type name="opid" type="OfficeArtFOPTEOPID"> 3985 <limitation name="opid" value="0x018A" /> 3986 <limitation name="fBid" value="false" /> 3987 <limitation name="fComplex" value="false" /> 3988 </type> 3989 <int32 name="fillHeight" /> 3990 </struct> 3991 <struct name="FillAngle"> 3992 <type name="opid" type="OfficeArtFOPTEOPID"> 3993 <limitation name="opid" value="0x018B" /> 3994 <limitation name="fBid" value="false" /> 3995 <limitation name="fComplex" value="false" /> 3996 </type> 3997 <type name="fillAngle" type="FixedPoint" /> 3998 </struct> 3999 <struct name="FillFocus"> 4000 <type name="opid" type="OfficeArtFOPTEOPID"> 4001 <limitation name="opid" value="0x018C" /> 4002 <limitation name="fBid" value="false" /> 4003 <limitation name="fComplex" value="false" /> 4004 </type> 4005 <int32 name="fillFocus" /> 4006 </struct> 4007 <struct name="FillToLeft"> 4008 <type name="opid" type="OfficeArtFOPTEOPID"> 4009 <limitation name="opid" value="0x018D" /> 4010 <limitation name="fBid" value="false" /> 4011 <limitation name="fComplex" value="false" /> 4012 </type> 4013 <type name="fillToLeft" type="FixedPoint" /> 4014 </struct> 4015 <struct name="FillToTop"> 4016 <type name="opid" type="OfficeArtFOPTEOPID"> 4017 <limitation name="opid" value="0x018E" /> 4018 <limitation name="fBid" value="false" /> 4019 <limitation name="fComplex" value="false" /> 4020 </type> 4021 <type name="fillToTop" type="FixedPoint" /> 4022 </struct> 4023 <struct name="FillToRight"> 4024 <type name="opid" type="OfficeArtFOPTEOPID"> 4025 <limitation name="opid" value="0x018F" /> 4026 <limitation name="fBid" value="false" /> 4027 <limitation name="fComplex" value="false" /> 4028 </type> 4029 <type name="fillToRight" type="FixedPoint" /> 4030 </struct> 4031 <struct name="FillToBottom"> 4032 <type name="opid" type="OfficeArtFOPTEOPID"> 4033 <limitation name="opid" value="0x0190" /> 4034 <limitation name="fBid" value="false" /> 4035 <limitation name="fComplex" value="false" /> 4036 </type> 4037 <type name="fillToBottom" type="FixedPoint" /> 4038 </struct> 4039 <struct name="FillRectLeft"> 4040 <type name="opid" type="OfficeArtFOPTEOPID"> 4041 <limitation name="opid" value="0x0191" /> 4042 <limitation name="fBid" value="false" /> 4043 <limitation name="fComplex" value="false" /> 4044 </type> 4045 <int32 name="fillRectLeft" /> 4046 </struct> 4047 <struct name="FillRectTop"> 4048 <type name="opid" type="OfficeArtFOPTEOPID"> 4049 <limitation name="opid" value="0x0192" /> 4050 <limitation name="fBid" value="false" /> 4051 <limitation name="fComplex" value="false" /> 4052 </type> 4053 <int32 name="fillRectTop" /> 4054 </struct> 4055 <struct name="FillRectRight"> 4056 <type name="opid" type="OfficeArtFOPTEOPID"> 4057 <limitation name="opid" value="0x0193" /> 4058 <limitation name="fBid" value="false" /> 4059 <limitation name="fComplex" value="false" /> 4060 </type> 4061 <int32 name="fillRectRight" /> 4062 </struct> 4063 <struct name="FillRectBottom"> 4064 <type name="opid" type="OfficeArtFOPTEOPID"> 4065 <limitation name="opid" value="0x0194" /> 4066 <limitation name="fBid" value="false" /> 4067 <limitation name="fComplex" value="false" /> 4068 </type> 4069 <int32 name="fillRectBottom" /> 4070 </struct> 4071 <struct name="FillDztype"> 4072 <type name="opid" type="OfficeArtFOPTEOPID"> 4073 <limitation name="opid" value="0x0195" /> 4074 <limitation name="fBid" value="false" /> 4075 <limitation name="fComplex" value="false" /> 4076 </type> 4077 <int32 name="fillDztype" /> 4078 </struct> 4079 <struct name="FillShadePreset"> 4080 <type name="opid" type="OfficeArtFOPTEOPID"> 4081 <limitation name="opid" value="0x0196" /> 4082 <limitation name="fBid" value="false" /> 4083 <limitation name="fComplex" value="false" /> 4084 </type> 4085 <int32 name="fillShadePreset" /> 4086 </struct> 4087 <struct name="FillShadeColors"> 4088 <type name="opid" type="OfficeArtFOPTEOPID"> 4089 <limitation name="opid" value="0x0197" /> 4090 </type> 4091 <uint32 name="fillShadeColors" /> 4092 </struct> 4093 <struct name="FillShadeColors_complex"> 4094 <uint16 name="nElems" /> 4095 <uint16 name="nElemsAlloc" /> 4096 <uint16 name="cbElem" /> 4097 <uint8 name="data" count="(cbElem==0xFFF0)?(4 * nElems):(cbElem * nElems)" /> 4098 </struct> 4099 <struct name="FillOriginX"> 4100 <type name="opid" type="OfficeArtFOPTEOPID"> 4101 <limitation name="opid" value="0x0198" /> 4102 <limitation name="fBid" value="false" /> 4103 <limitation name="fComplex" value="false" /> 4104 </type> 4105 <type name="fillOriginX" type="FixedPoint" /> 4106 </struct> 4107 <struct name="FillOriginY"> 4108 <type name="opid" type="OfficeArtFOPTEOPID"> 4109 <limitation name="opid" value="0x0199" /> 4110 <limitation name="fBid" value="false" /> 4111 <limitation name="fComplex" value="false" /> 4112 </type> 4113 <type name="fillOriginY" type="FixedPoint" /> 4114 </struct> 4115 <struct name="FillShapeOriginX"> 4116 <type name="opid" type="OfficeArtFOPTEOPID"> 4117 <limitation name="opid" value="0x019A" /> 4118 <limitation name="fBid" value="false" /> 4119 <limitation name="fComplex" value="false" /> 4120 </type> 4121 <type name="fillShapeOriginX" type="FixedPoint" /> 4122 </struct> 4123 <struct name="FillShapeOriginY"> 4124 <type name="opid" type="OfficeArtFOPTEOPID"> 4125 <limitation name="opid" value="0x019B" /> 4126 <limitation name="fBid" value="false" /> 4127 <limitation name="fComplex" value="false" /> 4128 </type> 4129 <type name="fillShapeOriginY" type="FixedPoint" /> 4130 </struct> 4131 <!-- 4132 <struct name="FillShadeType"> 4133 <type name="opid" type="OfficeArtFOPTEOPID"> 4134 <limitation name="opid" value="0x019C" /> 4135 <limitation name="fBid" value="false" /> 4136 <limitation name="fComplex" value="false" /> 4137 </type> 4138 <type name="fillShadeType" type="MSOSHADETYPE" /> 4139 </struct> 4140 --> 4141 <struct name="FillColorExt"> 4142 <type name="opid" type="OfficeArtFOPTEOPID"> 4143 <limitation name="opid" value="0x019E" /> 4144 <limitation name="fBid" value="false" /> 4145 <limitation name="fComplex" value="false" /> 4146 </type> 4147 <type name="fillColorExt" type="OfficeArtCOLORREF" /> 4148 </struct> 4149 <!-- 4150 <struct name="FillColorExtMod"> 4151 <type name="opid" type="OfficeArtFOPTEOPID"> 4152 <limitation name="opid" value="0x01A0" /> 4153 <limitation name="fBid" value="false" /> 4154 <limitation name="fComplex" value="false" /> 4155 </type> 4156 <type name="fillColorExtMod" type="MSOTINTSHADE" /> 4157 </struct> 4158 --> 4159 <struct name="FillBackColorExt"> 4160 <type name="opid" type="OfficeArtFOPTEOPID"> 4161 <limitation name="opid" value="0x01A2" /> 4162 <limitation name="fBid" value="false" /> 4163 <limitation name="fComplex" value="false" /> 4164 </type> 4165 <type name="fillBackColorExt" type="OfficeArtCOLORREF" /> 4166 </struct> 4167 <!-- 4168 <struct name="FillBackColorExtMod"> 4169 <type name="opid" type="OfficeArtFOPTEOPID"> 4170 <limitation name="opid" value="0x01A5" /> 4171 <limitation name="fBid" value="false" /> 4172 <limitation name="fComplex" value="false" /> 4173 </type> 4174 <type name="fillBackColorExtMod" type="MSOTINTSHADE" /> 4175 </struct> 4176 --> 4177 <struct name="FillStyleBooleanProperties"> 4178 <type name="opid" type="OfficeArtFOPTEOPID"> 4179 <limitation name="opid" value="0x01BF" /> 4180 <limitation name="fBid" value="false" /> 4181 <limitation name="fComplex" value="false" /> 4182 </type> 4183 <bit name="fNoFillHitTest" /> 4184 <bit name="fillUseRect" /> 4185 <bit name="fillShape" /> 4186 <bit name="fHitTestFill" /> 4187 <bit name="fFilled" /> 4188 <bit name="fUseShapeAnchor" /> 4189 <bit name="fRecolorFillAsPicture" /> 4190 <bit name="unused1a" /> 4191 <uint8 name="unused1b" /> 4192 <bit name="fUseNoFillHitTest" /> 4193 <bit name="fUseFillUseRect" /> 4194 <bit name="fUseFillShape" /> 4195 <bit name="fUseHitTestFill" /> 4196 <bit name="fUseFilled" /> 4197 <bit name="fUseUseShapeAnchor" /> 4198 <bit name="fUsefRecolorFillAsPicture" /> 4199 <bit name="unused2a" /> 4200 <uint8 name="unused2b" /> 4201 </struct> 4202 <!-- 4203 <struct name="MSOSHADETYPE"> 4204 <bit name="msoshadeNone" /> 4205 <bit name="msoshadeGamma" /> 4206 <bit name="msoshadeSigma" /> 4207 <bit name="msoshadeBand" /> 4208 <bit name="msoshadeOneColor" /> 4209 <uint13 name="unused1a" /> 4210 <uint13 name="unused1b" /> 4211 <bit name="unused1c" /> 4212 </struct> 4213 --> 4214 <!-- 4215 <struct name="MSOTINTSHADE"> 4216 <choice name="anon"> 4217 <type type="MSOCOLORMODUNDEFINED" /> 4218 <type type="MSOSHADE" /> 4219 <type type="MSOTINT" /> 4220 </choice> 4221 </struct> 4222 --> 4223 <!-- Line Style Property Set --> 4224 <struct name="LineColor"> 4225 <type name="opid" type="OfficeArtFOPTEOPID"> 4226 <limitation name="opid" value="0x01C0" /> 4227 <limitation name="fBid" value="false" /> 4228 <limitation name="fComplex" value="false" /> 4229 </type> 4230 <type name="lineColor" type="OfficeArtCOLORREF" /> 4231 </struct> 4232 <struct name="LineOpacity"> 4233 <type name="opid" type="OfficeArtFOPTEOPID"> 4234 <limitation name="opid" value="0x01C1" /> 4235 <limitation name="fBid" value="false" /> 4236 <limitation name="fComplex" value="false" /> 4237 </type> 4238 <int32 name="lineOpacity"> 4239 <limitation expression=">=0" /> 4240 <limitation expression="<=65536" /> 4241 </int32> 4242 </struct> 4243 <struct name="LineBackColor"> 4244 <type name="opid" type="OfficeArtFOPTEOPID"> 4245 <limitation name="opid" value="0x01C2" /> 4246 </type> 4247 <type name="lineBackColor" type="OfficeArtCOLORREF" /> 4248 </struct> 4249 <struct name="LineFillBlip"> 4250 <type name="opid" type="OfficeArtFOPTEOPID"> 4251 <limitation name="opid" value="0x01C5" /> 4252 </type> 4253 <uint32 name="lineFillBlip" /> 4254 </struct> 4255 <struct name="LineWidth"> 4256 <type name="opid" type="OfficeArtFOPTEOPID"> 4257 <limitation name="opid" value="0x01CB" /> 4258 <limitation name="fBid" value="false" /> 4259 <limitation name="fComplex" value="false" /> 4260 </type> 4261 <!-- 4262 default = 0x2535 english metric units. 1587.5 EMUs is 1 Master Units 4263 --> 4264 <uint32 name="lineWidth" /> 4265 </struct> 4266 <struct name="LineStyle"> 4267 <type name="opid" type="OfficeArtFOPTEOPID"> 4268 <limitation name="opid" value="0x01CD" /> 4269 <limitation name="fBid" value="false" /> 4270 <limitation name="fComplex" value="false" /> 4271 </type> 4272 <uint32 name="lineStyle" /> 4273 </struct> 4274 <struct name="LineDashing"> 4275 <type name="opid" type="OfficeArtFOPTEOPID"> 4276 <limitation name="opid" value="0x01CE" /> 4277 <limitation name="fBid" value="false" /> 4278 <limitation name="fComplex" value="false" /> 4279 </type> 4280 <uint32 name="lineDashing" /> 4281 </struct> 4282 <struct name="LineStartArrowhead"> 4283 <type name="opid" type="OfficeArtFOPTEOPID"> 4284 <limitation name="opid" value="0x01D0" /> 4285 <limitation name="fBid" value="false" /> 4286 <limitation name="fComplex" value="false" /> 4287 </type> 4288 <uint32 name="lineStartArrowhead"> 4289 <limitation expression="<=8" /> 4290 </uint32> 4291 </struct> 4292 <struct name="LineEndArrowhead"> 4293 <type name="opid" type="OfficeArtFOPTEOPID"> 4294 <limitation name="opid" value="0x01D1" /> 4295 <limitation name="fBid" value="false" /> 4296 <limitation name="fComplex" value="false" /> 4297 </type> 4298 <uint32 name="lineEndArrowhead"> 4299 <limitation expression="<=8" /> 4300 </uint32> 4301 </struct> 4302 <struct name="LineStartArrowWidth"> 4303 <type name="opid" type="OfficeArtFOPTEOPID"> 4304 <limitation name="opid" value="0x01D2" /> 4305 <limitation name="fBid" value="false" /> 4306 <limitation name="fComplex" value="false" /> 4307 </type> 4308 <uint32 name="lineStartArrowWidth" /> 4309 </struct> 4310 <struct name="LineStartArrowLength"> 4311 <type name="opid" type="OfficeArtFOPTEOPID"> 4312 <limitation name="opid" value="0x01D3" /> 4313 <limitation name="fBid" value="false" /> 4314 <limitation name="fComplex" value="false" /> 4315 </type> 4316 <uint32 name="lineStartArrowLength" /> 4317 </struct> 4318 <struct name="LineEndArrowWidth"> 4319 <type name="opid" type="OfficeArtFOPTEOPID"> 4320 <limitation name="opid" value="0x01D4" /> 4321 <limitation name="fBid" value="false" /> 4322 <limitation name="fComplex" value="false" /> 4323 </type> 4324 <uint32 name="lineEndArrowWidth" /> 4325 </struct> 4326 <struct name="LineEndArrowLength"> 4327 <type name="opid" type="OfficeArtFOPTEOPID"> 4328 <limitation name="opid" value="0x01D5" /> 4329 <limitation name="fBid" value="false" /> 4330 <limitation name="fComplex" value="false" /> 4331 </type> 4332 <uint32 name="lineEndArrowLength" /> 4333 </struct> 4334 <struct name="LineJoinStyle"> 4335 <type name="opid" type="OfficeArtFOPTEOPID"> 4336 <limitation name="opid" value="0x01D6" /> 4337 <limitation name="fBid" value="false" /> 4338 <limitation name="fComplex" value="false" /> 4339 </type> 4340 <uint32 name="lineJoinStyle"> 4341 <limitation expression="<=2" /> 4342 </uint32> 4343 </struct> 4344 <struct name="LineEndCapStyle"> 4345 <type name="opid" type="OfficeArtFOPTEOPID"> 4346 <limitation name="opid" value="0x01D7" /> 4347 <limitation name="fBid" value="false" /> 4348 <limitation name="fComplex" value="false" /> 4349 </type> 4350 <uint32 name="lineEndCapStyle"> 4351 <limitation expression="<=3" /> 4352 </uint32> 4353 </struct> 4354 <struct name="LineStyleBooleanProperties"> 4355 <type name="opid" type="OfficeArtFOPTEOPID"> 4356 <limitation name="opid" value="0x01FF" /> 4357 <limitation name="fBid" value="false" /> 4358 <limitation name="fComplex" value="false" /> 4359 </type> 4360 <bit name="fNoLineDrawDash" /> 4361 <bit name="fLineFillShape" /> 4362 <bit name="fHitTestLine" /> 4363 <bit name="fLine" /> 4364 <bit name="fArrowHeadsOK" /> 4365 <bit name="fInsetPenOK" /> 4366 <bit name="fInsetPen" /> 4367 <bit name="reserved1" /> 4368 <bit name="reserved2" /> 4369 <bit name="fLineOpaqueBackColor" /> 4370 <uint6 name="unused1" /> 4371 <bit name="fUseNoLineDrawDash" /> 4372 <bit name="fUseLineFillShape" /> 4373 <bit name="fUseHitTestLine" /> 4374 <bit name="fUsefLine" /> 4375 <bit name="fUsefArrowHeadsOK" /> 4376 <bit name="fUseInsetPenOK" /> 4377 <bit name="fUseInsetPen" /> 4378 <bit name="unused2" /> 4379 <bit name="unused3" /> 4380 <bit name="fUsefLineOpaqueBackColor" /> 4381 <uint6 name="unused4" /> 4382 </struct> 4383 <!-- Shadow Style Property Set --> 4384 <struct name="ShadowType"> 4385 <type name="opid" type="OfficeArtFOPTEOPID"> 4386 <limitation name="opid" value="0x0200" /> 4387 <limitation name="fBid" value="false" /> 4388 <limitation name="fComplex" value="false" /> 4389 </type> 4390 <uint32 name="shadowType" /> 4391 </struct> 4392 <struct name="ShadowColor"> 4393 <type name="opid" type="OfficeArtFOPTEOPID"> 4394 <limitation name="opid" value="0x0201" /> 4395 <limitation name="fBid" value="false" /> 4396 <limitation name="fComplex" value="false" /> 4397 </type> 4398 <type name="shadowColor" type="OfficeArtCOLORREF" /> 4399 </struct> 4400 <struct name="ShadowOpacity"> 4401 <type name="opid" type="OfficeArtFOPTEOPID"> 4402 <limitation name="opid" value="0x0204" /> 4403 <limitation name="fBid" value="false" /> 4404 <limitation name="fComplex" value="false" /> 4405 </type> 4406 <type name="shadowOpacity" type="FixedPoint" /> 4407 </struct> 4408 <struct name="ShadowOffsetX"> 4409 <type name="opid" type="OfficeArtFOPTEOPID"> 4410 <limitation name="opid" value="0x0205" /> 4411 <limitation name="fBid" value="false" /> 4412 <limitation name="fComplex" value="false" /> 4413 </type> 4414 <int32 name="shadowOffsetX" /> 4415 </struct> 4416 <struct name="ShadowOffsetY"> 4417 <type name="opid" type="OfficeArtFOPTEOPID"> 4418 <limitation name="opid" value="0x0206" /> 4419 <limitation name="fBid" value="false" /> 4420 <limitation name="fComplex" value="false" /> 4421 </type> 4422 <int32 name="shadowOffsetY" /> 4423 </struct> 4424 <struct name="ShadowStyleBooleanProperties"> 4425 <type name="opid" type="OfficeArtFOPTEOPID"> 4426 <limitation name="opid" value="0x023F" /> 4427 <limitation name="fBid" value="false" /> 4428 <limitation name="fComplex" value="false" /> 4429 </type> 4430 <bit name="fShadowObscured" /> 4431 <bit name="fShadow" /> 4432 <uint14 name="unused1" /> 4433 <bit name="fUsefShadowObscured" /> 4434 <bit name="fUsefShadow" /> 4435 <uint14 name="unused2" /> 4436 </struct> 4437 <!-- Shape Property Set --> 4438 <struct name="HspMaster"> 4439 <type name="opid" type="OfficeArtFOPTEOPID"> 4440 <limitation name="opid" value="0x0301" /> 4441 <limitation name="fBid" value="false" /> 4442 <limitation name="fComplex" value="false" /> 4443 </type> 4444 <uint32 name="hspMaster" /> 4445 </struct> 4446 <struct name="Cxstyle"> 4447 <type name="opid" type="OfficeArtFOPTEOPID"> 4448 <limitation name="opid" value="0x0303" /> 4449 <limitation name="fBid" value="false" /> 4450 <limitation name="fComplex" value="false" /> 4451 </type> 4452 <uint32 name="cxstyle"> 4453 <limitation expression="<=4" /> 4454 </uint32> 4455 </struct> 4456 <struct name="BWMode"> 4457 <type name="opid" type="OfficeArtFOPTEOPID"> 4458 <limitation name="opid" value="0x0304" /> 4459 <limitation name="fBid" value="false" /> 4460 <limitation name="fComplex" value="false" /> 4461 </type> 4462 <uint32 name="bWMode"> 4463 <limitation expression="<=10" /> 4464 </uint32> 4465 </struct> 4466 <struct name="ShapeBooleanProperties"> 4467 <type name="opid" type="OfficeArtFOPTEOPID"> 4468 <limitation name="opid" value="0x033F" /> 4469 <limitation name="fBid" value="false" /> 4470 <limitation name="fComplex" value="false" /> 4471 </type> 4472 <bit name="fBackground" /> 4473 <bit name="reserved1" /> 4474 <bit name="fInitiator" /> 4475 <bit name="fLockShapeType" /> 4476 <bit name="fPreferRelativeResize" /> 4477 <bit name="fOleIcon" /> 4478 <bit name="fFlipVOverride" /> 4479 <bit name="fFlipHOverride" /> 4480 <bit name="fPolicyBarcode" /> 4481 <bit name="fPolicyLabel" /> 4482 <bit name="unused1" /> 4483 <bit name="unused2" /> 4484 <uint4 name="unused3" /> 4485 <bit name="fUsefBackground" /> 4486 <bit name="unused4" /> 4487 <bit name="fUsefInitiator" /> 4488 <bit name="fUsefLockShapeType" /> 4489 <bit name="fusePreferrelativeResize" /> 4490 <bit name="fUsefOleIcon" /> 4491 <bit name="fUsefFlipVOverride" /> 4492 <bit name="fUsefFlipHOverride" /> 4493 <bit name="fUsefPolicyBarcode" /> 4494 <bit name="fUsefPolicyLabel" /> 4495 <bit name="unused5" /> 4496 <bit name="unused6" /> 4497 <uint4 name="unused7" /> 4498 </struct> 4499 <!-- Callout Property Set --> 4500 <struct name="DxyCalloutGap"> 4501 <type name="opid" type="OfficeArtFOPTEOPID"> 4502 <limitation name="opid" value="0x0341" /> 4503 <limitation name="fBid" value="false" /> 4504 <limitation name="fComplex" value="false" /> 4505 </type> 4506 <uint32 name="dxyCalloutGap" /> 4507 </struct> 4508 <struct name="Spcoa"> 4509 <type name="opid" type="OfficeArtFOPTEOPID"> 4510 <limitation name="opid" value="0x0342" /> 4511 <limitation name="fBid" value="false" /> 4512 <limitation name="fComplex" value="false" /> 4513 </type> 4514 <uint32 name="spcoa" /> 4515 </struct> 4516 <struct name="Spcod"> 4517 <type name="opid" type="OfficeArtFOPTEOPID"> 4518 <limitation name="opid" value="0x0343" /> 4519 <limitation name="fBid" value="false" /> 4520 <limitation name="fComplex" value="false" /> 4521 </type> 4522 <uint32 name="spcod" /> 4523 </struct> 4524 <struct name="DxyCalloutDropSpecified"> 4525 <type name="opid" type="OfficeArtFOPTEOPID"> 4526 <limitation name="opid" value="0x0344" /> 4527 <limitation name="fBid" value="false" /> 4528 <limitation name="fComplex" value="false" /> 4529 </type> 4530 <uint32 name="dxyCalloutDropSpecified" /> 4531 </struct> 4532 <struct name="DxyCalloutLengthSpecified"> 4533 <type name="opid" type="OfficeArtFOPTEOPID"> 4534 <limitation name="opid" value="0x0345" /> 4535 <limitation name="fBid" value="false" /> 4536 <limitation name="fComplex" value="false" /> 4537 </type> 4538 <uint32 name="dxyCalloutLengthSpecified" /> 4539 </struct> 4540 <struct name="CalloutBooleanProperties"> 4541 <type name="opid" type="OfficeArtFOPTEOPID"> 4542 <limitation name="opid" value="0x037F" /> 4543 <limitation name="fBid" value="false" /> 4544 <limitation name="fComplex" value="false" /> 4545 </type> 4546 <bit name="fCalloutLengthSpecified" /> 4547 <bit name="fCalloutDropAuto" /> 4548 <bit name="fCalloutMinusY" /> 4549 <bit name="fCalloutMinusX" /> 4550 <bit name="fCalloutTextBorder" /> 4551 <bit name="fCalloutAccentBar" /> 4552 <bit name="fCallout" /> 4553 <bit name="unused1a" /> 4554 <uint8 name="unused1b" /> 4555 <bit name="fUsefCalloutLengthSpecified" /> 4556 <bit name="fUsefCalloutDropAuto" /> 4557 <bit name="fUsefCalloutMinusY" /> 4558 <bit name="fUsefCalloutMinusX" /> 4559 <bit name="fUsefCalloutTextBorder" /> 4560 <bit name="fUsefCalloutAccentBar" /> 4561 <bit name="fUsefCallout" /> 4562 <bit name="unused2a" /> 4563 <uint8 name="unused2b" /> 4564 </struct> 4565 <!-- Group Shape Property Set --> 4566 <struct name="PWrapPolygonVertices"> 4567 <type name="opid" type="OfficeArtFOPTEOPID"> 4568 <limitation name="opid" value="0x0383" /> 4569 </type> 4570 <uint32 name="pWrapPolygonVertices" /> 4571 </struct> 4572 <struct name="PWrapPolygonVertices_complex"> 4573 <uint16 name="nElems" /> 4574 <uint16 name="nElemsAlloc" /> 4575 <uint16 name="cbElem" /> 4576 <uint8 name="data" count="(cbElem==0xFFF0)?(4 * nElems):(cbElem * nElems)" /> 4577 </struct> 4578 <struct name="DxWrapDistLeft"> 4579 <type name="opid" type="OfficeArtFOPTEOPID"> 4580 <limitation name="opid" value="0x0384" /> 4581 <limitation name="fBid" value="false" /> 4582 <limitation name="fComplex" value="false" /> 4583 </type> 4584 <int32 name="dxWrapDistLeft" /> 4585 </struct> 4586 <struct name="DyWrapDistTop"> 4587 <type name="opid" type="OfficeArtFOPTEOPID"> 4588 <limitation name="opid" value="0x0385" /> 4589 <limitation name="fBid" value="false" /> 4590 <limitation name="fComplex" value="false" /> 4591 </type> 4592 <int32 name="dyWrapDistTop" /> 4593 </struct> 4594 <struct name="DxWrapDistRight"> 4595 <type name="opid" type="OfficeArtFOPTEOPID"> 4596 <limitation name="opid" value="0x0386" /> 4597 <limitation name="fBid" value="false" /> 4598 <limitation name="fComplex" value="false" /> 4599 </type> 4600 <int32 name="dxWrapDistRight" /> 4601 </struct> 4602 <struct name="DyWrapDistBottom"> 4603 <type name="opid" type="OfficeArtFOPTEOPID"> 4604 <limitation name="opid" value="0x0387" /> 4605 <limitation name="fBid" value="false" /> 4606 <limitation name="fComplex" value="false" /> 4607 </type> 4608 <int32 name="dyWrapDistBottom" /> 4609 </struct> 4610 <struct name="LidRegroup"> 4611 <type name="opid" type="OfficeArtFOPTEOPID"> 4612 <limitation name="opid" value="0x0388" /> 4613 <limitation name="fBid" value="false" /> 4614 <limitation name="fComplex" value="false" /> 4615 </type> 4616 <uint32 name="lidRegroup" /> 4617 </struct> 4618 <struct name="PosH"> 4619 <type name="opid" type="OfficeArtFOPTEOPID"> 4620 <limitation name="opid" value="0x038F" /> 4621 <limitation name="fBid" value="false" /> 4622 <limitation name="fComplex" value="false" /> 4623 </type> 4624 <uint32 name="posH" /> 4625 </struct> 4626 <struct name="PosRelH"> 4627 <type name="opid" type="OfficeArtFOPTEOPID"> 4628 <limitation name="opid" value="0x0390" /> 4629 <limitation name="fBid" value="false" /> 4630 <limitation name="fComplex" value="false" /> 4631 </type> 4632 <uint32 name="posRelH" /> 4633 </struct> 4634 <struct name="PosV"> 4635 <type name="opid" type="OfficeArtFOPTEOPID"> 4636 <limitation name="opid" value="0x0391" /> 4637 <limitation name="fBid" value="false" /> 4638 <limitation name="fComplex" value="false" /> 4639 </type> 4640 <uint32 name="posV" /> 4641 </struct> 4642 <struct name="PosRelV"> 4643 <type name="opid" type="OfficeArtFOPTEOPID"> 4644 <limitation name="opid" value="0x0392" /> 4645 <limitation name="fBid" value="false" /> 4646 <limitation name="fComplex" value="false" /> 4647 </type> 4648 <uint32 name="posRelV" /> 4649 </struct> 4650 <struct name="PctHR"> 4651 <type name="opid" type="OfficeArtFOPTEOPID"> 4652 <limitation name="opid" value="0x0393" /> 4653 <limitation name="fBid" value="false" /> 4654 <limitation name="fComplex" value="false" /> 4655 </type> 4656 <uint32 name="pctHR" /> 4657 </struct> 4658 <struct name="AlignHR"> 4659 <type name="opid" type="OfficeArtFOPTEOPID"> 4660 <limitation name="opid" value="0x0394" /> 4661 <limitation name="fBid" value="false" /> 4662 <limitation name="fComplex" value="false" /> 4663 </type> 4664 <uint32 name="alignHR" /> 4665 </struct> 4666 <struct name="DxHeightHR"> 4667 <type name="opid" type="OfficeArtFOPTEOPID"> 4668 <limitation name="opid" value="0x0395" /> 4669 <limitation name="fBid" value="false" /> 4670 <limitation name="fComplex" value="false" /> 4671 </type> 4672 <int32 name="dxHeightHR" /> 4673 </struct> 4674 <struct name="DxWidthHR"> 4675 <type name="opid" type="OfficeArtFOPTEOPID"> 4676 <limitation name="opid" value="0x0396" /> 4677 <limitation name="fBid" value="false" /> 4678 <limitation name="fComplex" value="false" /> 4679 </type> 4680 <int32 name="dxWidthHR" /> 4681 </struct> 4682 <struct name="BorderTopColor"> 4683 <type name="opid" type="OfficeArtFOPTEOPID"> 4684 <limitation name="opid" value="0x039b" /> 4685 <limitation name="fBid" value="false" /> 4686 <limitation name="fComplex" value="false" /> 4687 </type> 4688 <type name="borderTopColor" type="OfficeArtCOLORREF" /> 4689 </struct> 4690 <struct name="BorderLeftColor"> 4691 <type name="opid" type="OfficeArtFOPTEOPID"> 4692 <limitation name="opid" value="0x039c" /> 4693 <limitation name="fBid" value="false" /> 4694 <limitation name="fComplex" value="false" /> 4695 </type> 4696 <type name="borderLeftColor" type="OfficeArtCOLORREF" /> 4697 </struct> 4698 <struct name="BorderBottomColor"> 4699 <type name="opid" type="OfficeArtFOPTEOPID"> 4700 <limitation name="opid" value="0x039d" /> 4701 <limitation name="fBid" value="false" /> 4702 <limitation name="fComplex" value="false" /> 4703 </type> 4704 <type name="borderBottomColor" type="OfficeArtCOLORREF" /> 4705 </struct> 4706 <struct name="BorderRightColor"> 4707 <type name="opid" type="OfficeArtFOPTEOPID"> 4708 <limitation name="opid" value="0x039e" /> 4709 <limitation name="fBid" value="false" /> 4710 <limitation name="fComplex" value="false" /> 4711 </type> 4712 <type name="borderRightColor" type="OfficeArtCOLORREF" /> 4713 </struct> 4714 <struct name="GroupShapeBooleanProperties"> 4715 <type name="opid" type="OfficeArtFOPTEOPID"> 4716 <limitation name="opid" value="0x03bf" /> 4717 <limitation name="fBid" value="false" /> 4718 <limitation name="fComplex" value="false" /> 4719 </type> 4720 <bit name="fPrint" /> 4721 <bit name="fHidden" /> 4722 <bit name="fOneD" /> 4723 <bit name="fIsButton" /> 4724 <bit name="fOnDblClickNotify" /> 4725 <bit name="fBehindDocument" /> 4726 <bit name="fEditedWrap" /> 4727 <bit name="fScriptAnchor" /> 4728 <bit name="fReallyHidden" /> 4729 <bit name="fAllowOverlap" /> 4730 <bit name="fUserDrawn" /> 4731 <bit name="fHorizRule" /> 4732 <bit name="fNoshadeHR" /> 4733 <bit name="fStandardHR" /> 4734 <bit name="fIsBullet" /> 4735 <bit name="fLayoutInCell" /> 4736 <bit name="fUsefPrint" /> 4737 <bit name="fUsefHidden" /> 4738 <bit name="fUsefOneD" /> 4739 <bit name="fUsefIsButton" /> 4740 <bit name="fUsefOnDblClickNotify" /> 4741 <bit name="fUsefBehindDocument" /> 4742 <bit name="fUsefEditedWrap" /> 4743 <bit name="fUsefScriptAnchor" /> 4744 <bit name="fUsefReallyHidden" /> 4745 <bit name="fUsefAllowOverlap" /> 4746 <bit name="fUsefUserDrawn" /> 4747 <bit name="fUsefHorizRule" /> 4748 <bit name="fUsefNoshadeHR" /> 4749 <bit name="fUsefStandardHR" /> 4750 <bit name="fUsefIsBullet" /> 4751 <bit name="fUsefLayoutInCell" /> 4752 </struct> 4753 <!-- Unknown HTML Property Set --> 4754 <struct name="WzFillId"> 4755 <type name="opid" type="OfficeArtFOPTEOPID"> 4756 <limitation name="opid" value="0x0403" /> 4757 </type> 4758 <int32 name="wzFillId" /> 4759 </struct> 4760 <!-- Diagram Property Set --> 4761 <struct name="DiagramBooleanProperties"> 4762 <type name="opid" type="OfficeArtFOPTEOPID"> 4763 <limitation name="opid" value="0x053F" /> 4764 <limitation name="fBid" value="false" /> 4765 <limitation name="fComplex" value="false" /> 4766 </type> 4767 <bit name="fPseudoInline" /> 4768 <bit name="fDoLayout" /> 4769 <bit name="fReverse" /> 4770 <bit name="fDoFormat" /> 4771 <bit name="unused1" /> 4772 <bit name="unused2" /> 4773 <uint2 name="unused3a" /> 4774 <uint8 name="unused3b" /> 4775 <bit name="fUsefPseudoInline" /> 4776 <bit name="fUsefDoLayout" /> 4777 <bit name="fUsefReverse" /> 4778 <bit name="fUsefDoFormat" /> 4779 <bit name="unused4" /> 4780 <bit name="unused5" /> 4781 <uint2 name="unused6a" /> 4782 <uint8 name="unused6b" /> 4783 </struct> 4784 <!-- Properties: END --> 4785 <struct name="OfficeArtCOLORREF"> 4786 <uint8 name="red" /> 4787 <uint8 name="green" /> 4788 <uint8 name="blue" /> 4789 <bit name="fPaletteIndex" /> 4790 <bit name="fPaletteRGB" /> 4791 <bit name="fSystemRGB" /> 4792 <bit name="fSchemeIndex" /> 4793 <bit name="fSysIndex" /> 4794 <bit name="unused1" /> 4795 <bit name="unused2" /> 4796 <bit name="unused3" /> 4797 </struct> 4798 <struct name="OfficeArtChildAnchor"> 4799 <type name="rh" type="OfficeArtRecordHeader"> 4800 <limitation name="recVer" value="0" /> 4801 <limitation name="recInstance" value="0" /> 4802 <limitation name="recType" value="0xF00F" /> 4803 <limitation name="recLen" value="0x10" /> 4804 </type> 4805 <int32 name="xLeft" /> 4806 <int32 name="yTop" /> 4807 <int32 name="xRight" /> 4808 <int32 name="yBottom" /> 4809 </struct> 4810 <struct name="OfficeArtClientAnchor"> 4811 <choice name="anon"> 4812 <type type="PptOfficeArtClientAnchor" /> 4813 <type type="DocOfficeArtClientAnchor" /> 4814 <type type="XlsOfficeArtClientAnchor" /> 4815 </choice> 4816 </struct> 4817 <struct name="PptOfficeArtClientAnchor"> 4818 <type name="rh" type="OfficeArtRecordHeader"> 4819 <limitation name="recVer" value="0" /> 4820 <limitation name="recInstance" value="0" /> 4821 <limitation name="recType" value="0xF010" /> 4822 <limitation name="recLen" value="0x8|0x10" /> 4823 </type> 4824 <type name="rect1" type="SmallRectStruct" condition="rh.recLen==0x8" /> 4825 <type name="rect2" type="RectStruct" condition="rh.recLen==0x10" /> 4826 </struct> 4827 <struct name="DocOfficeArtClientAnchor"> 4828 <type name="rh" type="OfficeArtRecordHeader"> 4829 <limitation name="recVer" value="0" /> 4830 <limitation name="recInstance" value="0" /> 4831 <limitation name="recType" value="0xF010" /> 4832 <limitation name="recLen" value="0x4" /> 4833 </type> 4834 <int32 name="clientAnchor" /> 4835 </struct> 4836 4837 <!-- 4838 OfficeArtClientAnchorHF, OfficeArtClientAnchorSheet, 4839 OfficeArtClientAnchorChart 4840 --> 4841 <struct name="XlsOfficeArtClientAnchor"> 4842 <type name="rh" type="OfficeArtRecordHeader"> 4843 <limitation name="recVer" value="0" /> 4844 <limitation name="recInstance" value="0" /> 4845 <limitation name="recType" value="0xF010" /> 4846 <limitation name="recLen" value="0x8|0x12" /> 4847 </type> 4848 <bit name="fMove" /> 4849 <bit name="fSize" /> 4850 <uint14 name="unused" /> 4851 <int32 name="width" condition="rh.recLen==0x8" /> 4852 <int32 name="height" condition="rh.recLen==0x8" /> 4853 <uint16 name="colL" condition="rh.recLen==0x12" /> 4854 <int16 name="dxL" condition="rh.recLen==0x12" /> 4855 <uint16 name="rwT" condition="rh.recLen==0x12" /> 4856 <int16 name="dyT" condition="rh.recLen==0x12" /> 4857 <uint16 name="colR" condition="rh.recLen==0x12" /> 4858 <int16 name="dxR" condition="rh.recLen==0x12" /> 4859 <uint16 name="rwB" condition="rh.recLen==0x12" /> 4860 <int16 name="dyB" condition="rh.recLen==0x12" /> 4861 </struct> 4862 4863 <struct name="OfficeArtFPSPL"> 4864 <type name="rh" type="OfficeArtRecordHeader"> 4865 <limitation name="recVer" value="0" /> 4866 <limitation name="recInstance" value="0" /> 4867 <limitation name="recType" value="0xF11D" /> 4868 <limitation name="recLen" value="4" /> 4869 </type> 4870 <uint30 name="spid" /> 4871 <bit name="reserved1" /> 4872 <bit name="fLast" /> 4873 </struct> 4874 <struct name="RectStruct"> 4875 <int32 name="top" /> 4876 <int32 name="left" /> 4877 <int32 name="right" /> 4878 <int32 name="bottom" /> 4879 </struct> 4880 <struct name="SmallRectStruct"> 4881 <int16 name="top" /> 4882 <int16 name="left" /> 4883 <int16 name="right" /> 4884 <int16 name="bottom" /> 4885 </struct> 4886 <struct name="OfficeArtClientData"> 4887 <choice name="anon"> 4888 <type type="DocOfficeArtClientData" /> 4889 <type type="PptOfficeArtClientData" /> 4890 <type type="XlsOfficeArtClientData" /> 4891 </choice> 4892 </struct> 4893 <struct name="PptOfficeArtClientData"> 4894 <type name="rh" type="OfficeArtRecordHeader"> 4895 <limitation name="recVer" value="0xF" /> 4896 <limitation name="recInstance" value="0" /> 4897 <limitation name="recType" value="0xF011" /> 4898 </type> 4899 <type name="shapeFlagsAtom" type="ShapeFlagsAtom" optional="true" /> 4900 <type name="shapeFlags10Atom" type="ShapeFlags10Atom" optional="true" /> 4901 <type name="exObjRefAtom" type="ExObjRefAtom" optional="true" /> 4902 <type name="animationInfo" type="AnimationInfoContainer" 4903 optional="true" /> 4904 <type name="mouseClickInteractiveInfo" type="MouseClickInteractiveInfoContainer" 4905 optional="true" /> 4906 <type name="mouseOverInteractiveInfo" type="MouseOverInteractiveInfoContainer" 4907 optional="true" /> 4908 <!-- MS-PPT spec. violation - sometimes this array occurs here --> 4909 <type name="rgShapeClientRoundtripData0" type="ShapeClientRoundtripDataSubcontainerOrAtom" 4910 array="true" /> 4911 <type name="placeholderAtom" type="PlaceholderAtom" optional="true" /> 4912 <type name="recolorInfoAtom" type="RecolorInfoAtom" optional="true" /> 4913 <type name="unknown1" type="UnknownOfficeArtClientDataChild" 4914 optional="true" /> 4915 <type name="rgShapeClientRoundtripData" type="ShapeClientRoundtripDataSubcontainerOrAtom" 4916 array="true" /> 4917 <type name="unknown2" type="UnknownOfficeArtClientDataChild" 4918 optional="true" /> 4919 </struct> 4920 <struct name="DocOfficeArtClientData"> 4921 <type name="rh" type="OfficeArtRecordHeader"> 4922 <limitation name="recVer" value="0" /> 4923 <limitation name="recInstance" value="0" /> 4924 <limitation name="recType" value="0xF011" /> 4925 <limitation name="recLen" value="4" /> 4926 </type> 4927 <uint32 name="clientData" /> 4928 </struct> 4929 <struct name="XlsOfficeArtClientData"> 4930 <type name="rh" type="OfficeArtRecordHeader"> 4931 <limitation name="recVer" value="0" /> 4932 <limitation name="recInstance" value="0" /> 4933 <limitation name="recType" value="0xF011" /> 4934 <limitation name="recLen" value="0" /> 4935 </type> 4936 </struct> 4937 <struct name="ShapeFlagsAtom"> 4938 <type name="rh" type="OfficeArtRecordHeader"> 4939 <limitation name="recVer" value="0" /> 4940 <limitation name="recInstance" value="0" /> 4941 <limitation name="recType" value="0xBDB" /> 4942 <limitation name="recLen" value="1" /> 4943 </type> 4944 <uint8 name="todo" count="rh.recLen" /> 4945 </struct> 4946 <struct name="ShapeFlags10Atom"> 4947 <type name="rh" type="OfficeArtRecordHeader"> 4948 <limitation name="recVer" value="0" /> 4949 <limitation name="recInstance" value="0" /> 4950 <limitation name="recType" value="0xBDC" /> 4951 <limitation name="recLen" value="1" /> 4952 </type> 4953 <uint8 name="todo" count="rh.recLen" /> 4954 </struct> 4955 <struct name="ExObjRefAtom"> 4956 <type name="rh" type="OfficeArtRecordHeader"> 4957 <limitation name="recVer" value="0" /> 4958 <limitation name="recInstance" value="0" /> 4959 <limitation name="recType" value="0xBC1" /> 4960 <limitation name="recLen" value="4" /> 4961 </type> 4962 <uint32 name="exObjIdRef" /> 4963 </struct> 4964 <struct name="AnimationInfoContainer"> 4965 <type name="rh" type="OfficeArtRecordHeader"> 4966 <limitation name="recVer" value="0xF" /> 4967 <limitation name="recInstance" value="0" /> 4968 <limitation name="recType" value="0x1014" /> 4969 </type> 4970 <type name="animationAtom" type="AnimationInfoAtom" /> 4971 <type name="animationSound" type="SoundContainer" optional="true" /> 4972 </struct> 4973 <struct name="AnimationInfoAtom"> 4974 <type name="rh" type="OfficeArtRecordHeader"> 4975 <limitation name="recVer" value="0x1" /> 4976 <limitation name="recInstance" value="0" /> 4977 <limitation name="recType" value="0xFF1" /> 4978 <limitation name="recLen" value="0x1C" /> 4979 </type> 4980 <uint8 name="todo" count="0x1C" /> 4981 </struct> 4982 <struct name="SoundContainer"> 4983 <type name="rh" type="OfficeArtRecordHeader"> 4984 <limitation name="recVer" value="0xF" /> 4985 <limitation name="recInstance" value="0" /> 4986 <limitation name="recType" value="0x7E6" /> 4987 </type> 4988 <uint8 name="todo" count="rh.recLen" /> 4989 </struct> 4990 <struct name="MouseClickInteractiveInfoContainer"> 4991 <type name="rh" type="RecordHeader"> 4992 <limitation name="recVer" value="0xF" /> 4993 <limitation name="recInstance" value="0" /> 4994 <limitation name="recType" value="0xFF2" /> 4995 </type> 4996 <type name="interactiveInfoAtom" type="InteractiveInfoAtom" /> 4997 <type name="macroNameAtom" type="MacroNameAtom" condition="rh.recLen>24" /> 4998 </struct> 4999 <struct name="MouseOverInteractiveInfoContainer"> 5000 <type name="rh" type="RecordHeader"> 5001 <limitation name="recVer" value="0xF" /> 5002 <limitation name="recInstance" value="1" /> 5003 <limitation name="recType" value="0xFF2" /> 5004 </type> 5005 <type name="interactiveInfoAtom" type="InteractiveInfoAtom" /> 5006 <type name="macroNameAtom" type="MacroNameAtom" condition="rh.recLen>24" /> 5007 </struct> 5008 <struct name="InteractiveInfoAtom"> 5009 <type name="rh" type="RecordHeader"> 5010 <limitation name="recVer" value="0" /> 5011 <limitation name="recInstance" value="0" /> 5012 <!-- value should be 0xFF3, but value 0xFF2 has been observed too --> 5013 <limitation name="recType" value="0xFF2|0xFF3" /> 5014 <limitation name="recLen" value="0x10" /> 5015 </type> 5016 <uint32 name="soundIdRef" /> 5017 <uint32 name="exHyperlinkIdRef" /> 5018 <uint8 name="action"> 5019 <limitation expression="<8" /> 5020 </uint8> 5021 <uint8 name="oleVerb"> 5022 <limitation expression="<3" /> 5023 </uint8> 5024 <uint8 name="jump"> 5025 <limitation expression="<7" /> 5026 </uint8> 5027 <bit name="fAnimated" /> 5028 <bit name="fStopSound" /> 5029 <bit name="fCustomSoundReturn" /> 5030 <bit name="fVisited" /> 5031 <uint4 name="reserved" /> 5032 <uint8 name="hyperlinkType" /> 5033 <uint8 name="unused" count="3" /> 5034 </struct> 5035 <struct name="MacroNameAtom"> 5036 <type name="rh" type="RecordHeader"> 5037 <limitation name="recVer" value="0" /> 5038 <limitation name="recInstance" value="2" /> 5039 <limitation name="recType" value="0xFBA" /> 5040 <limitation name="recLen" expression="%2==0" /> 5041 </type> 5042 <uint8 name="macroName" count="rh.recLen" /> 5043 </struct> 5044 <struct name="PlaceholderAtom"> 5045 <type name="rh" type="OfficeArtRecordHeader"> 5046 <limitation name="recVer" value="0" /> 5047 <limitation name="recInstance" value="0" /> 5048 <limitation name="recType" value="0xBC3" /> 5049 <limitation name="recLen" value="8" /> 5050 </type> 5051 <int32 name="position" /> 5052 <uint8 name="placementId" /> 5053 <uint8 name="size" /> 5054 <uint16 name="unused" /> 5055 </struct> 5056 <struct name="RecolorInfoAtom"> 5057 <type name="rh" type="OfficeArtRecordHeader"> 5058 <limitation name="recVer" value="0" /> 5059 <limitation name="recInstance" value="0" /> 5060 <limitation name="recType" value="0xFE7" /> 5061 </type> 5062 <uint8 name="todo" count="rh.recLen" /> 5063 </struct> 5064 <struct name="OutlineTextRefAtom"> 5065 <type name="rh" type="OfficeArtRecordHeader"> 5066 <limitation name="recVer" value="0" /> 5067 <limitation name="recInstance" value="0" /> 5068 <limitation name="recType" value="0xF9E" /> 5069 <limitation name="recLen" value="4" /> 5070 </type> 5071 <int32 name="index"> 5072 <limitation expression=">=0" /> 5073 </int32> 5074 </struct> 5075 <struct name="ShapeClientRoundtripDataSubcontainerOrAtom"> 5076 <!-- 5077 <type name="rh" type="OfficeArtRecordHeader"> <limitation 5078 name="recType" value="0x1388|0xBDD|0x41F|0x420|0x426" /> </type> 5079 <uint8 name="todo" count="rh.recLen" /> 5080 --> 5081 <choice name="anon"> 5082 <type type="ShapeProgsTagContainer" /> 5083 <type type="RoundTripNewPlaceHolderId12Atom" /> 5084 <type type="RoundTripShapeId12Atom" /> 5085 <type type="RoundTripHFPlaceholder12Atom" /> 5086 <type type="RoundTripShapeCheckSumForCustomLayouts12Atom" /> 5087 </choice> 5088 </struct> 5089 <struct name="ShapeProgsTagContainer"> 5090 <type name="rh" type="OfficeArtRecordHeader"> 5091 <limitation name="recVer" value="0xF" /> 5092 <limitation name="recInstance" value="0|1|2" /> 5093 <limitation name="recType" value="0x1388" /> 5094 </type> 5095 <type name="rgChildRec" type="ShapeProgTagsSubContainerOrAtom" 5096 array="true" /> 5097 </struct> 5098 <struct name="ShapeProgTagsSubContainerOrAtom"> 5099 <choice name="anon"> 5100 <type type="ProgStringTagContainer" /> 5101 <type type="ShapeProgBinaryTagContainer" /> 5102 </choice> 5103 </struct> 5104 <struct name="ShapeProgBinaryTagContainer"> 5105 <type name="rh" type="OfficeArtRecordHeader"> 5106 <limitation name="recVer" value="0xF" /> 5107 <limitation name="recInstance" value="0" /> 5108 <limitation name="recType" value="0x138A" /> 5109 </type> 5110 <type name="rec" type="ShapeProgBinaryTagSubContainerOrAtom" /> 5111 </struct> 5112 <struct name="ShapeProgBinaryTagSubContainerOrAtom"> 5113 <choice name="anon"> 5114 <type type="PP9ShapeBinaryTagExtension" /> 5115 <type type="PP10ShapeBinaryTagExtension" /> 5116 <type type="PP11ShapeBinaryTagExtension" /> 5117 <type type="UnknownBinaryTag" /> 5118 </choice> 5119 </struct> 5120 <struct name="PP9ShapeBinaryTagExtension"> 5121 <type name="rh" type="OfficeArtRecordHeader"> 5122 <limitation name="recVer" value="0" /> 5123 <limitation name="recInstance" value="0" /> 5124 <limitation name="recType" value="0xFBA" /> 5125 <limitation name="recLen" value="0xE" /> 5126 </type> 5127 <uint16 name="tagName" count="7"> 5128 <!-- <limitation value='"___PPT9"' /> --> 5129 </uint16> 5130 <type name="rhData" type="RecordHeader"> 5131 <limitation name="recVer" value="0" /> 5132 <limitation name="recInstance" value="0" /> 5133 <limitation name="recType" value="0x138B" /> 5134 </type> 5135 <type name="styleTextProp9Atom" type="StyleTextProp9Atom" /> 5136 </struct> 5137 <struct name="PP10ShapeBinaryTagExtension"> 5138 <type name="rh" type="OfficeArtRecordHeader"> 5139 <limitation name="recVer" value="0" /> 5140 <limitation name="recInstance" value="0" /> 5141 <limitation name="recType" value="0xFBA" /> 5142 <limitation name="recLen" value="0x10" /> 5143 </type> 5144 <uint16 name="tagName" count="8"> 5145 <!-- <limitation value='"___PPT10"' /> --> 5146 </uint16> 5147 <type name="rhData" type="RecordHeader"> 5148 <limitation name="recVer" value="0" /> 5149 <limitation name="recInstance" value="0" /> 5150 <limitation name="recType" value="0x138B" /> 5151 </type> 5152 <uint8 name="todo" count="rhData.recLen" /> 5153 </struct> 5154 <struct name="PP11ShapeBinaryTagExtension"> 5155 <type name="rh" type="OfficeArtRecordHeader"> 5156 <limitation name="recVer" value="0" /> 5157 <limitation name="recInstance" value="0" /> 5158 <limitation name="recType" value="0xFBA" /> 5159 <limitation name="recLen" value="0x10" /> 5160 </type> 5161 <uint16 name="tagName" count="8"> 5162 <!-- <limitation value='"___PPT11"' /> --> 5163 </uint16> 5164 <type name="rhData" type="RecordHeader"> 5165 <limitation name="recVer" value="0" /> 5166 <limitation name="recInstance" value="0" /> 5167 <limitation name="recType" value="0x138B" /> 5168 </type> 5169 <uint8 name="todo" count="rhData.recLen" /> 5170 </struct> 5171 <struct name="RoundTripNewPlaceHolderId12Atom"> 5172 <type name="rh" type="OfficeArtRecordHeader"> 5173 <limitation name="recVer" value="0" /> 5174 <limitation name="recInstance" value="0" /> 5175 <limitation name="recType" value="0xBDD" /> 5176 <limitation name="recLen" value="1" /> 5177 </type> 5178 <uint8 name="newPlaceHolderId" /> 5179 </struct> 5180 <struct name="RoundTripShapeId12Atom"> 5181 <type name="rh" type="OfficeArtRecordHeader"> 5182 <limitation name="recVer" value="0" /> 5183 <limitation name="recInstance" value="0" /> 5184 <limitation name="recType" value="0x41F" /> 5185 <limitation name="recLen" value="4" /> 5186 </type> 5187 <uint32 name="shapeId" /> 5188 </struct> 5189 <struct name="RoundTripHFPlaceholder12Atom"> 5190 <type name="rh" type="OfficeArtRecordHeader"> 5191 <limitation name="recVer" value="0" /> 5192 <limitation name="recInstance" value="0" /> 5193 <limitation name="recType" value="0x420" /> 5194 <limitation name="recLen" value="1" /> 5195 </type> 5196 <uint8 name="placeHolderId" /> 5197 </struct> 5198 <struct name="RoundTripShapeCheckSumForCustomLayouts12Atom"> 5199 <type name="rh" type="OfficeArtRecordHeader"> 5200 <limitation name="recVer" value="0" /> 5201 <limitation name="recInstance" value="0" /> 5202 <limitation name="recType" value="0x426" /> 5203 <!-- documentations says this field should be size 8 --> 5204 <limitation name="recLen" value="8|40" /> 5205 </type> 5206 <uint32 name="shapeCheckSum" /> 5207 <uint32 name="textCheckSum" /> 5208 <uint8 name="unknown" count="rh.recLen-8" /> 5209 </struct> 5210 <struct name="OfficeArtClientTextBox"> 5211 <choice name="anon"> 5212 <type type="XlsOfficeArtClientTextBox" /> 5213 <type type="DocOfficeArtClientTextBox" /> 5214 <type type="PptOfficeArtClientTextBox" /> 5215 </choice> 5216 </struct> 5217 <struct name="XlsOfficeArtClientTextBox"> 5218 <type name="rh" type="OfficeArtRecordHeader"> 5219 <limitation name="recVer" value="0" /> 5220 <limitation name="recInstance" value="0" /> 5221 <limitation name="recType" value="0xF00D" /> 5222 <limitation name="recLen" value="0" /> 5223 </type> 5224 </struct> 5225 <struct name="DocOfficeArtClientTextBox"> 5226 <type name="rh" type="OfficeArtRecordHeader"> 5227 <limitation name="recVer" value="0|0xF" /> 5228 <limitation name="recInstance" value="0" /> 5229 <limitation name="recType" value="0xF00D" /> 5230 <limitation name="recLen" value="0x4" /> 5231 </type> 5232 <uint32 name="clientTextBox" /> 5233 </struct> 5234 <struct name="PptOfficeArtClientTextBox"> 5235 <type name="rh" type="OfficeArtRecordHeader"> 5236 <limitation name="recVer" value="0|0xF" /> 5237 <!-- documentation says value should be 0 --> 5238 <limitation name="recInstance" value="0" /> 5239 <limitation name="recType" value="0xF00D" /> 5240 <limitation name="recLen" expression="!=4" /> 5241 </type> 5242 <type name="rgChildRec" array="true" size="rh.recLen" 5243 type="TextClientDataSubContainerOrAtom" /> 5244 </struct> 5245 <struct name="TextRulerAtom"> 5246 <type name="rh" type="RecordHeader"> 5247 <limitation name="recVer" value="0" /> 5248 <limitation name="recInstance" value="0" /> 5249 <limitation name="recType" value="0xFA6" /> 5250 </type> 5251 <type name="textRuler" type="TextRuler" /> 5252 </struct> 5253 <struct name="OfficeArtIDCL"> 5254 <uint32 name="dgid" /> 5255 <uint32 name="cspidCur" /> 5256 </struct> 5257 <struct name="OfficeArtFOPTE"> 5258 <type name="opid" type="OfficeArtFOPTEOPID" /> 5259 <int32 name="op" /> 5260 </struct> 5261 <struct name="OfficeArtFOPTEOPID"> 5262 <uint14 name="opid" /> 5263 <bit name="fBid" /> 5264 <bit name="fComplex" /> 5265 </struct> 5266 <struct name="OfficeArtColorMRUContainer"> 5267 <type name="rh" type="OfficeArtRecordHeader"> 5268 <limitation name="recVer" value="0x0" /> 5269 <limitation name="recType" value="0xF11A" /> 5270 <limitation expression="recLen==4*recInstance" /> 5271 </type> 5272 <type name="rgmsocr" type="MSOCR" count="rh.recInstance" /> 5273 </struct> 5274 <struct name="MSOCR"> 5275 <uint8 name="red" /> 5276 <uint8 name="green" /> 5277 <uint8 name="blue" /> 5278 <uint3 name="unused1" /> 5279 <bit name="fSchemeIndex" /> 5280 <uint4 name="unused2" /> 5281 <!-- 5282 an addition limitation is needed that says that if fSchemeIndex ==1 5283 then green and blue must be 0 5284 --> 5285 </struct> 5286 <struct name="OfficeArtSplitMenuColorContainer"> 5287 <type name="rh" type="OfficeArtRecordHeader"> 5288 <limitation name="recVer" value="0x0" /> 5289 <limitation name="recInstance" value="0x4" /> 5290 <limitation name="recType" value="0xF11E" /> 5291 <limitation name="recLen" value="0x10" /> 5292 </type> 5293 <type name="smca" type="MSOCR" count="4" /> 5294 </struct> 5295 <struct name="todo"> 5296 <!-- 5297 a placeholder for structures that are not in the document 5298 specification yet 5299 --> 5300 <type name="rh" type="RecordHeader"> 5301 <!-- 5302 disallow structures that are implemented <limitation name="recType" 5303 value="!1000" /> 5304 --> 5305 </type> 5306 <uint8 name="anon" count="rh.recLen" /> 5307 </struct> 5308 <struct name="WordDocument"> 5309 <type name="fib" type="Fib" /> 5310 </struct> 5311 <struct name="Fib"> 5312 <type name="base" type="FibBase" /> 5313 <uint16 name="csw"> 5314 <limitation value="14" /> 5315 </uint16> 5316 <type name="fibRgW" type="FibRgW97" /> 5317 <uint16 name="cslw"> 5318 <limitation value="22" /> 5319 </uint16> 5320 <type name="fibRgLw" type="FibRgLw97" /> 5321 <uint16 name="cbRgFcLcb"> 5322 <limitation value="0x5D|0x6C|0x88|0xA4|0xB7" /> 5323 </uint16> 5324 <type name="fibRgFcLcbBlob" type="FibRgFcLcb97" /> 5325 <type name="fibRgFcLcbBlob2" type="FibRgFcLcb2000" condition="cbRgFcLcb>=0x6C" /> 5326 <type name="fibRgFcLcbBlob3" type="FibRgFcLcb2002" condition="cbRgFcLcb>=0x88" /> 5327 <uint16 name="cswNew"> 5328 <limitation value="0|2|5" /> 5329 </uint16> 5330 <uint8 name="fibRgCswNew" count="2*cswNew" /> 5331 <!-- <type name="fibRgCswNew" type="fibRgCswNew" />--> 5332 <uint8 name="trail" count="fibRgLw.cbMac-156-8*cbRgFcLcb-2*cswNew" /> 5333 </struct> 5334 <!-- 5335 The FibBase structure is the fixed-size portion of the Fib. Let's 5336 support Word6, Word7 and Word8 files. FibBase of any newer file 5337 is compatible with Word8. 5338 --> 5339 <struct name="FibBase"> 5340 <uint16 name="wIdent" /> 5341 <!-- NOTE: Word6 and Word7 use other magic number. The 5342 expected value was Word8 specific. --> 5343 <!-- <limitation value="0xA5EC" /> --> 5344 <!-- </uint16> --> 5345 <uint16 name="nFib"> 5346 <limitation value="0x65|0x67|0x68|0xC0|0xC1|0xC2|0x101|0x10B|0x10C|0x112" /> 5347 </uint16> 5348 <uint16 name="unused" /> 5349 <uint16 name="lid" /> 5350 <uint16 name="pnNext" /> 5351 <bit name="fDot" /> 5352 <bit name="fGlsy" /> 5353 <bit name="fComplex" /> 5354 <bit name="fHasPic" /> 5355 <uint4 name="cQuickSaves" /> 5356 <bit name="fEncrypted" /> 5357 <bit name="fWhichTblStm" /> 5358 <bit name="fReadOnlyRecommended" /> 5359 <bit name="fWriteReservation" /> 5360 <bit name="fExtChar" /> 5361 <bit name="fLoadOverride" /> 5362 <bit name="fFarEast" /> 5363 <bit name="fObfuscated" /> 5364 <uint16 name="nFibBack" /> 5365 <!-- NOTE: In case of Word6 it's ZERO. The expected values 5366 were Word8 specific. --> 5367 <!-- <limitation value="0xBF|0xC1" /> --> 5368 <!-- </uint16> --> 5369 <uint32 name="IKey" /> 5370 <uint8 name="envr" /> 5371 <!-- NOTE: Some Word8 files have different values. --> 5372 <!-- <limitation value="0" /> --> 5373 <!-- </uint8> --> 5374 <bit name="fMac" /> 5375 <!-- NOTE: Some Word8 files have different values. --> 5376 <!-- <limitation value="false" /> --> 5377 <!-- </bit> --> 5378 <bit name="fEmptySpecial" /> 5379 <bit name="fLoadOverridePage" /> 5380 <bit name="reserved1" /> 5381 <bit name="reserved2" /> 5382 <uint3 name="fSpare0" /> 5383 <uint16 name="reserved3" /> 5384 <!-- NOTE: Some Word8 files have different values. --> 5385 <!-- <limitation value="0" /> --> 5386 <!-- </uint16> --> 5387 <uint16 name="reserved4" /> 5388 <!-- NOTE: Some Word8 files have different values. --> 5389 <!-- <limitation value="0" /> --> 5390 <!-- </uint16> --> 5391 <uint32 name="reserved5" /> 5392 <uint32 name="reserved6" /> 5393 </struct> 5394 <struct name="FibRgW97"> 5395 <uint16 name="reserved1" /> 5396 <uint16 name="reserved2" /> 5397 <uint16 name="reserved3" /> 5398 <uint16 name="reserved4" /> 5399 <uint16 name="reserved5" /> 5400 <uint16 name="reserved6" /> 5401 <uint16 name="reserved7" /> 5402 <uint16 name="reserved8" /> 5403 <uint16 name="reserved9" /> 5404 <uint16 name="reserved10" /> 5405 <uint16 name="reserved11" /> 5406 <uint16 name="reserved12" /> 5407 <uint16 name="reserved13" /> 5408 <uint16 name="lidFE" /> 5409 </struct> 5410 <struct name="FibRgLw97"> 5411 <uint32 name="cbMac" /> 5412 <uint32 name="reserved1" /> 5413 <uint32 name="reserved2" /> 5414 <int32 name="ccpText"> 5415 <limitation expression=">=0" /> 5416 </int32> 5417 <int32 name="ccpFtn"> 5418 <limitation expression=">=0" /> 5419 </int32> 5420 <int32 name="ccpHdd"> 5421 <limitation expression=">=0" /> 5422 </int32> 5423 <uint32 name="reserved3"> 5424 <limitation value="0" /> 5425 </uint32> 5426 <int32 name="ccpAtn"> 5427 <limitation expression=">=0" /> 5428 </int32> 5429 <int32 name="ccpEdn"> 5430 <limitation expression=">=0" /> 5431 </int32> 5432 <int32 name="ccpTxbx"> 5433 <limitation expression=">=0" /> 5434 </int32> 5435 <int32 name="ccpHdrTxbx"> 5436 <limitation expression=">=0" /> 5437 </int32> 5438 <uint32 name="reserved4" /> 5439 <uint32 name="reserved5" /> 5440 <uint32 name="reserved6" /> 5441 <uint32 name="reserved7" /> 5442 <uint32 name="reserved8" /> 5443 <uint32 name="reserved9" /> 5444 <uint32 name="reserved10" /> 5445 <uint32 name="reserved11" /> 5446 <uint32 name="reserved12" /> 5447 <uint32 name="reserved13"> 5448 <limitation value="0" /> 5449 </uint32> 5450 <uint32 name="reserved14"> 5451 <limitation value="0" /> 5452 </uint32> 5453 </struct> 5454 <struct name="FibRgFcLcb97"> 5455 <uint32 name="fcStshfOrig" /> 5456 <uint32 name="lcbStshfOrig" /> 5457 <uint32 name="fcStshf" /> 5458 <uint32 name="lcbStshf" /> 5459 <uint32 name="fcPlcffndRef" /> 5460 <uint32 name="lcbPlcffndRef" /> 5461 <uint32 name="fcPlcffndTxt" /> 5462 <uint32 name="lcbPlcffndTxt" /> 5463 <uint32 name="fcPlcfandRef" /> 5464 <uint32 name="lcbPlcfandRef" /> 5465 <uint32 name="fcPlcfandTxt" /> 5466 <uint32 name="lcbPlcfandTxt" /> 5467 <uint32 name="fcPlcfSed" /> 5468 <uint32 name="lcbPlcfSed" /> 5469 <uint32 name="fcPlcPad" /> 5470 <uint32 name="lcbPlcPad" /> 5471 <uint32 name="fcPlcfPhe" /> 5472 <uint32 name="lcbPlcfPhe" /> 5473 <uint32 name="fcSttbfGlsy" /> 5474 <uint32 name="lcbSttbfGlsy" /> 5475 <uint32 name="fcPlcfGlsy" /> 5476 <uint32 name="lcbPlcfGlsy" /> 5477 <uint32 name="fcPlcfHdd" /> 5478 <uint32 name="lcbPlcfHdd" /> 5479 <uint32 name="fcPlcfBteChpx" /> 5480 <uint32 name="lcbPlcfBteChpx" /> 5481 <uint32 name="fcPlcfBtePapx" /> 5482 <uint32 name="lcbPlcfBtePapx" /> 5483 <uint32 name="fcPlcfSea" /> 5484 <uint32 name="lcbPlcfSea" /> 5485 <uint32 name="fcSttbfFfn" /> 5486 <uint32 name="lcbSttbfFfn" /> 5487 <uint32 name="fcPlcfFldMom" /> 5488 <uint32 name="lcbPlcfFldMom" /> 5489 <uint32 name="fcPlcfFldHdr" /> 5490 <uint32 name="lcbPlcfFldHdr" /> 5491 <uint32 name="fcPlcfFldFtn" /> 5492 <uint32 name="lcbPlcfFldFtn" /> 5493 <uint32 name="fcPlcfFldAtn" /> 5494 <uint32 name="lcbPlcfFldAtn" /> 5495 <uint32 name="fcPlcfFldMcr" /> 5496 <uint32 name="lcbPlcfFldMcr" /> 5497 <uint32 name="fcSttbfBkmk" /> 5498 <uint32 name="lcbSttbfBkmk" /> 5499 <uint32 name="fcPlcfBkf" /> 5500 <uint32 name="lcbPlcfBkf" /> 5501 <uint32 name="fcPlcfBkl" /> 5502 <uint32 name="lcbPlcfBkl" /> 5503 <uint32 name="fcCmds" /> 5504 <uint32 name="lcbCmds" /> 5505 <uint32 name="fcUnused1" /> 5506 <uint32 name="lcbUnused1" /> 5507 <uint32 name="fcSttbfMcr" /> 5508 <uint32 name="lcbSttbfMcr" /> 5509 <uint32 name="fcPrDrvr" /> 5510 <uint32 name="lcbPrDrvr" /> 5511 <uint32 name="fcPrEnvPort" /> 5512 <uint32 name="lcbPrEnvPort" /> 5513 <uint32 name="fcPrEnvLand" /> 5514 <uint32 name="lcbPrEnvLand" /> 5515 <uint32 name="fcWss" /> 5516 <uint32 name="lcbWss" /> 5517 <uint32 name="fcDop" /> 5518 <uint32 name="lcbDop" /> 5519 <uint32 name="fcSttbfAssoc" /> 5520 <uint32 name="lcbSttbfAssoc" /> 5521 <uint32 name="fcClx" /> 5522 <uint32 name="lcbClx" /> 5523 <uint32 name="fcPlcfPgdFtn" /> 5524 <uint32 name="lcbPlcfPgdFtn" /> 5525 <uint32 name="fcAutosaveSource" /> 5526 <uint32 name="lcbAutosaveSource" /> 5527 <uint32 name="fcGrpXstAtnOwners" /> 5528 <uint32 name="lcbGrpXstAtnOwners" /> 5529 <uint32 name="fcSttbfAtnBkmk" /> 5530 <uint32 name="lcbSttbfAtnBkmk" /> 5531 <uint32 name="fcUnused2" /> 5532 <uint32 name="lcbUnused2" /> 5533 <uint32 name="fcUnused3" /> 5534 <uint32 name="lcbUnused3" /> 5535 <uint32 name="fcPlcSpaMom" /> 5536 <uint32 name="lcbPlcSpaMom" /> 5537 <uint32 name="fcPlcSpaHdr" /> 5538 <uint32 name="lcbPlcSpaHdr" /> 5539 <uint32 name="fcPlcfAtnBkf" /> 5540 <uint32 name="lcbPlcfAtnBkf" /> 5541 <uint32 name="fcPlcfAtnBkl" /> 5542 <uint32 name="lcbPlcfAtnBkl" /> 5543 <uint32 name="fcPms" /> 5544 <uint32 name="lcbPms" /> 5545 <uint32 name="fcFormFldSttbs" /> 5546 <uint32 name="lcbFormFldSttbs" /> 5547 <uint32 name="fcPlcfendRef" /> 5548 <uint32 name="lcbPlcfendRef" /> 5549 <uint32 name="fcPlcfendTxt" /> 5550 <uint32 name="lcbPlcfendTxt" /> 5551 <uint32 name="fcPlcfFldEdn" /> 5552 <uint32 name="lcbPlcfFldEdn" /> 5553 <uint32 name="fcUnused4" /> 5554 <uint32 name="lcbUnused4" /> 5555 <uint32 name="fcDggInfo" /> 5556 <uint32 name="lcbDggInfo" /> 5557 <uint32 name="fcSttbfRMark" /> 5558 <uint32 name="lcbSttbfRMark" /> 5559 <uint32 name="fcSttbfCaption" /> 5560 <uint32 name="lcbSttbfCaption" /> 5561 <uint32 name="fcSttbfAutoCaption" /> 5562 <uint32 name="lcbSttbfAutoCaption" /> 5563 <uint32 name="fcPlcfWkb" /> 5564 <uint32 name="lcbPlcfWkb" /> 5565 <uint32 name="fcPlcfSpl" /> 5566 <uint32 name="lcbPlcfSpl" /> 5567 <uint32 name="fcPlcftxbxTxt" /> 5568 <uint32 name="lcbPlcftxbxTxt" /> 5569 <uint32 name="fcPlcfFldTxbx" /> 5570 <uint32 name="lcbPlcfFldTxbx" /> 5571 <uint32 name="fcPlcfHdrtxbxTxt" /> 5572 <uint32 name="lcbPlcfHdrtxbxTxt" /> 5573 <uint32 name="fcPlcffldHdrTxbx" /> 5574 <uint32 name="lcbPlcffldHdrTxbx" /> 5575 <uint32 name="fcStwUser" /> 5576 <uint32 name="lcbStwUser" /> 5577 <uint32 name="fcSttbTtmbd" /> 5578 <uint32 name="lcbSttbTtmbd" /> 5579 <uint32 name="fcCookieData" /> 5580 <uint32 name="lcbCookieData" /> 5581 <uint32 name="fcPgdMotherOldOld" /> 5582 <uint32 name="lcbPgdMotherOldOld" /> 5583 <uint32 name="fcBkdMotherOldOld" /> 5584 <uint32 name="lcbBkdMotherOldOld" /> 5585 <uint32 name="fcPgdFtnOldOld" /> 5586 <uint32 name="lcbPgdFtnOldOld" /> 5587 <uint32 name="fcBkdFtnOldOld" /> 5588 <uint32 name="lcbBkdFtnOldOld" /> 5589 <uint32 name="fcPgdEdnOldOld" /> 5590 <uint32 name="lcbPgdEdnOldOld" /> 5591 <uint32 name="fcBkdEdnOldOld" /> 5592 <uint32 name="lcbBkdEdnOldOld" /> 5593 <uint32 name="fcSttbfIntlFld" /> 5594 <uint32 name="lcbSttbfIntlFld" /> 5595 <uint32 name="fcRouteSlip" /> 5596 <uint32 name="lcbRouteSlip" /> 5597 <uint32 name="fcSttbSavedBy" /> 5598 <uint32 name="lcbSttbSavedBy" /> 5599 <uint32 name="fcSttbFnm" /> 5600 <uint32 name="lcbSttbFnm" /> 5601 <uint32 name="fcPlfLst" /> 5602 <uint32 name="lcbPlfLst" /> 5603 <uint32 name="fcPlfLfo" /> 5604 <uint32 name="lcbPlfLfo" /> 5605 <uint32 name="fcPlcfTxbxBkd" /> 5606 <uint32 name="lcbPlcfTxbxBkd" /> 5607 <uint32 name="fcPlcfTxbxHdrBkd" /> 5608 <uint32 name="lcbPlcfTxbxHdrBkd" /> 5609 <uint32 name="fcDocUndoWord9" /> 5610 <uint32 name="lcbDocUndoWord9" /> 5611 <uint32 name="fcRgbUse" /> 5612 <uint32 name="lcbRgbUse" /> 5613 <uint32 name="fcUsp" /> 5614 <uint32 name="lcbUsp" /> 5615 <uint32 name="fcUskf" /> 5616 <uint32 name="lcbUskf" /> 5617 <uint32 name="fcPlcupcRgbUse" /> 5618 <uint32 name="lcbPlcupcRgbUse" /> 5619 <uint32 name="fcPlcupcUsp" /> 5620 <uint32 name="lcbPlcupcUsp" /> 5621 <uint32 name="fcSttbGlsyStyle" /> 5622 <uint32 name="lcbSttbGlsyStyle" /> 5623 <uint32 name="fcPlgosl" /> 5624 <uint32 name="lcbPlgosl" /> 5625 <uint32 name="fcPlcocx" /> 5626 <uint32 name="lcbPlcocx" /> 5627 <uint32 name="fcPlcfBteLvc" /> 5628 <uint32 name="lcbPlcfBteLvc" /> 5629 <uint32 name="dwLowDateTime" /> 5630 <uint32 name="dwHighDateTime" /> 5631 <uint32 name="fcPlcfLvcPre10" /> 5632 <uint32 name="lcbPlcfLvcPre10" /> 5633 <uint32 name="fcPlcfAsumy" /> 5634 <uint32 name="lcbPlcfAsumy" /> 5635 <uint32 name="fcPlcfGram" /> 5636 <uint32 name="lcbPlcfGram" /> 5637 <uint32 name="fcSttbListNames" /> 5638 <uint32 name="lcbSttbListNames" /> 5639 <uint32 name="fcSttbfUssr" /> 5640 <uint32 name="lcbSttbfUssr" /> 5641 </struct> 5642 <struct name="FibRgFcLcb2000"> 5643 <uint32 name="fcPlcfTch" /> 5644 <uint32 name="lcbPlcfTch" /> 5645 <uint32 name="fcRmdThreading" /> 5646 <uint32 name="lcbRmdThreading" /> 5647 <uint32 name="fcMid" /> 5648 <uint32 name="lcbMid" /> 5649 <uint32 name="fcSttbRgtplc" /> 5650 <uint32 name="lcbSttbRgtplc" /> 5651 <uint32 name="fcMsoEnvelope" /> 5652 <uint32 name="lcbMsoEnvelope" /> 5653 <uint32 name="fcPlcfLad" /> 5654 <uint32 name="lcbPlcfLad" /> 5655 <uint32 name="fcRgDofr" /> 5656 <uint32 name="lcbRgDofr" /> 5657 <uint32 name="fcPlcosl" /> 5658 <uint32 name="lcbPlcosl" /> 5659 <uint32 name="fcPlcfCookieOld" /> 5660 <uint32 name="lcbPlcfCookieOld" /> 5661 <uint32 name="fcPgdMotherOld" /> 5662 <uint32 name="lcbPgdMotherOld" /> 5663 <uint32 name="fcBkdMotherOld" /> 5664 <uint32 name="lcbBkdMotherOld" /> 5665 <uint32 name="fcPgdFtnOld" /> 5666 <uint32 name="lcbPgdFtnOld" /> 5667 <uint32 name="fcBkdFtnOld" /> 5668 <uint32 name="lcbBkdFtnOld" /> 5669 <uint32 name="fcPgdEdnOld" /> 5670 <uint32 name="lcbPgdEdnOld" /> 5671 <uint32 name="fcBkdEdnOld" /> 5672 <uint32 name="lcbBkdEdnOld" /> 5673 </struct> 5674 <struct name="FibRgFcLcb2002"> 5675 <uint32 name="fcUnused1" /> 5676 <uint32 name="lcbUnused1" /> 5677 <uint32 name="fcPlcfPgp" /> 5678 <uint32 name="lcbPlcfPgp" /> 5679 <uint32 name="fcPlcfuim" /> 5680 <uint32 name="lcbPlcfuim" /> 5681 <uint32 name="fcPlfguidUim" /> 5682 <uint32 name="lcbPlfguidUim" /> 5683 <uint32 name="fcAtrdExtra" /> 5684 <uint32 name="lcbAtrdExtra" /> 5685 <uint32 name="fcPlrsid" /> 5686 <uint32 name="lcbPlrsid" /> 5687 <uint32 name="fcSttbfBkmkFactoid" /> 5688 <uint32 name="lcbSttbfBkmkFactoid" /> 5689 <uint32 name="fcPlcfBkfFactoid" /> 5690 <uint32 name="lcbPlcfBkfFactoid" /> 5691 <uint32 name="fcPlcfcookie" /> 5692 <uint32 name="lcbPlcfcookie" /> 5693 <uint32 name="fcPlcfBklFactoid" /> 5694 <uint32 name="lcbPlcfBklFactoid" /> 5695 <uint32 name="fcFactoidData" /> 5696 <uint32 name="lcbFactoidData" /> 5697 <uint32 name="fcDocUndo" /> 5698 <uint32 name="lcbDocUndo" /> 5699 <uint32 name="fcSttbfBkmkFcc" /> 5700 <uint32 name="lcbSttbfBkmkFcc" /> 5701 <uint32 name="fcPlcfBkfFcc" /> 5702 <uint32 name="lcbPlcfBkfFcc" /> 5703 <uint32 name="fcPlcfBklFcc" /> 5704 <uint32 name="lcbPlcfBklFcc" /> 5705 <uint32 name="fcSttbfbkmkBPRepairs" /> 5706 <uint32 name="lcbSttbfbkmkBPRepairs" /> 5707 <uint32 name="fcPlcfbkfBPRepairs" /> 5708 <uint32 name="lcbPlcfbkfBPRepairs" /> 5709 <uint32 name="fcPlcfbklBPRepairs" /> 5710 <uint32 name="lcbPlcfbklBPRepairs" /> 5711 <uint32 name="fcPmsNew" /> 5712 <uint32 name="lcbPmsNew" /> 5713 <uint32 name="fcODSO" /> 5714 <uint32 name="lcbODSO" /> 5715 <uint32 name="fcPlcfpmiOldXP" /> 5716 <uint32 name="lcbPlcfpmiOldXP" /> 5717 <uint32 name="fcPlcfpmiNewXP" /> 5718 <uint32 name="lcbPlcfpmiNewXP" /> 5719 <uint32 name="fcPlcfpmiMixedXP" /> 5720 <uint32 name="lcbPlcfpmiMixedXP" /> 5721 <uint32 name="fcUnused2" /> 5722 <uint32 name="lcbUnused2" /> 5723 <uint32 name="fcPlcffactoid" /> 5724 <uint32 name="lcbPlcffactoid" /> 5725 </struct> 5726 <struct name="Table"> 5727 <type name="stsh" type="STSH" size="468" /> 5728 <type name="plcfSed" type="PlcfSed" size="20" /> 5729 <!-- 5730 size should be gotten from lcbPlcfSed 5731 --> 5732 <type name="plcfHdd" type="Plcfhdd" size="52" /> 5733 <type name="plcfBteChpx" type="PlcBteChpx" size="12" /> 5734 <type name="plcfBtePapx" type="PlcfBtePapx" size="12" /> 5735 <type name="cmds" type="Tcg" size="12" /> 5736 <type name="clx" type="Clx" size="21" /> 5737 <type name="sttbfFfn" type="SttbfFfn" size="246" /> 5738 <uint8 name="dop" count="600" /> 5739 </struct> 5740 <struct name="STSH"> 5741 <type name="lpstshi" type="LPStshi" /> 5742 <type name="rglpstd" type="LPStd" count="20" /> 5743 </struct> 5744 <struct name="LPStshi"> 5745 <uint16 name="cbSthi" /> 5746 <uint8 name="stshi" count="cbSthi" /> 5747 </struct> 5748 <struct name="LPStd"> 5749 <uint16 name="cbStd" /> 5750 <uint8 name="std" count="cbStd" /> 5751 <uint8 name="padding" condition="cbStd%2==1" /> 5752 </struct> 5753 <struct name="PlcfSed"> 5754 <uint32 name="aCP" count="2" /> 5755 <type name="aSed" type="Sed" count="1" /> 5756 </struct> 5757 <struct name="Sed"> 5758 <uint16 name="fn" /> 5759 <int32 name="fcSepx" /> 5760 <uint16 name="fnMpr" /> 5761 <uint32 name="fcMpr" /> 5762 </struct> 5763 <struct name="Plcfhdd"> 5764 <uint32 name="aCP" count="13" /> 5765 </struct> 5766 <struct name="PlcBteChpx"> 5767 <uint32 name="aCP" count="2" /> 5768 <uint32 name="aPnBteChpx" count="1" /> 5769 </struct> 5770 <struct name="PlcfBtePapx"> 5771 <uint32 name="aCP" count="2" /> 5772 <uint32 name="aPnBteChpx" count="1" /> 5773 </struct> 5774 <struct name="Tcg"> 5775 <uint8 name="nTcgVer"> 5776 <limitation value="0" /> 5777 </uint8> 5778 <uint8 name="todo" count="11" /> 5779 </struct> 5780 <struct name="Clx"> 5781 <type name="RgPrc" type="Pcr" array="true" /> 5782 <type name="pcdt" type="Pcdt" /> 5783 </struct> 5784 <struct name="Pcr"> 5785 <uint8 name="clxt"> 5786 <limitation value="1" /> 5787 </uint8> 5788 <type name="prcData" type="PrcData" /> 5789 </struct> 5790 <struct name="PrcData"> 5791 <int16 name="cbGrpprl"> 5792 <limitation expression=">=0" /> 5793 <limitation expression="<=16290" /> 5794 <limitation expression="%2==0" /> 5795 </int16> 5796 <type name="GrpPrl" type="Sprm" count="cbGrpprl/2" /> 5797 </struct> 5798 <struct name="Sprm"> 5799 <uint9 name="ispmd" /> 5800 <bit name="fSpec" /> 5801 <uint3 name="sgc" /> 5802 <uint3 name="spra" /> 5803 </struct> 5804 <struct name="Pcdt"> 5805 <uint8 name="clxt"> 5806 <limitation value="2" /> 5807 </uint8> 5808 <uint32 name="lcb" /> 5809 <type name="PlcPcd" type="Pcd" count="lcb/8" /> 5810 </struct> 5811 <struct name="Pcd"> 5812 <bit name="fNoParaLast" /> 5813 <bit name="fR1" /> 5814 <bit name="fDirtly"> 5815 <limitation value="false" /> 5816 </bit> 5817 <bit name="fR2" /> 5818 <uint12 name="fR3" /> 5819 <type name="fc" type="FCompressed" /> 5820 <type name="prm" type="Prm" /> 5821 </struct> 5822 <struct name="FCompressed"> 5823 <uint30 name="fc" /> 5824 <bit name="fCompressed" /> 5825 <bit name="r1" /> 5826 </struct> 5827 <struct name="Prm"> 5828 <choice name="prm"> 5829 <type type="Prm0" /> 5830 <type type="Prm1" /> 5831 </choice> 5832 </struct> 5833 <struct name="Prm0"> 5834 <bit name="fComplex"> 5835 <limitation value="false" /> 5836 </bit> 5837 <uint7 name="isprm" /> 5838 <uint8 name="val" /> 5839 </struct> 5840 <struct name="Prm1"> 5841 <bit name="fComplex"> 5842 <limitation value="true" /> 5843 </bit> 5844 <uint15 name="igrpprl" /> 5845 </struct> 5846 <struct name="SttbfFfn"> 5847 <uint16 name="cData" /> 5848 <uint16 name="cbExtra"> 5849 <limitation value="0" /> 5850 </uint16> 5851 <type name="data" type="SttbfFfnEntry" count="cData" /> 5852 </struct> 5853 <struct name="SttbfFfnEntry"> 5854 <uint8 name="cchData" /> 5855 <uint8 name="Data" count="cchData" /> 5856 </struct> 5857 <struct name="CodePageString"> 5858 <!-- limitation here is complicated: todo --> 5859 <uint32 name="size"> 5860 <!-- <limitation expression="%2==0" /> --> 5861 </uint32> 5862 <!-- needs padding to a multiple of 4 --> 5863 <uint8 name="characters" count="4*(size/4)+((size%4!=0)?4:0)" /> 5864 </struct> 5865 <struct name="FILETIME"> 5866 <uint32 name="dwLowDateTime" /> 5867 <uint32 name="dwHighDateTime" /> 5868 </struct> 5869 <struct name="ClipboardData"> 5870 <uint32 name="size" /> 5871 <uint32 name="format" /> 5872 <!-- needs padding to a multiple of 4 --> 5873 <uint8 name="data" count="4*(size/4)+((size%4!=0)?4:0)-4" /> 5874 </struct> 5875 <struct name="PropertyIdentifierAndOffset"> 5876 <uint32 name="propertyIdentifier" /> 5877 <uint32 name="offset" /> 5878 </struct> 5879 <struct name="TypedPropertyValue"> 5880 <!-- 5881 size="../PropertySetStream._count()""> 5882 --> 5883 <uint16 name="type" /> 5884 <uint16 name="padding"> 5885 <!-- <limitation value="0" />--> 5886 </uint16> 5887 <uint16 name="vt_I2" condition="type==2" /> 5888 <uint16 name="paddingI2" condition="type==2" /> 5889 <uint32 name="vg_ERROR" condition="type==10" /> 5890 <type name="vt_lpstr" type="CodePageString" condition="type==30" /> 5891 <type name="vg_FILETIME" type="FILETIME" condition="type==64" /> 5892 <type name="vg_CF" type="ClipboardData" condition="type==71" /> 5893 <!-- 5894 <uint8 name="padding" 5895 count="../PropertySetStream[position()=this._arraypos]" /> 5896 --> 5897 </struct> 5898 <struct name="PropertySet"> 5899 <uint32 name="size" /> 5900 <uint32 name="numProperties" /> 5901 <type name="propertyIdentifierAndOffset" type="PropertyIdentifierAndOffset" 5902 count="numProperties" /> 5903 <type name="property" type="TypedPropertyValue" count="numProperties" /> 5904 </struct> 5905 <struct name="PropertySetStream"> 5906 <uint16 name="byteOrder"> 5907 <limitation value="0xFFFE" /> 5908 </uint16> 5909 <uint16 name="version" /> 5910 <uint32 name="systemIdentifier" /> 5911 <uint8 name="clsID" count="16" /> 5912 <uint32 name="numPropertySets"> 5913 <limitation value="1|2" /> 5914 </uint32> 5915 <uint8 name="fmtID0" count="16" /> 5916 <uint32 name="offset0" /> 5917 <uint8 name="fmtID1" count="16" condition="numPropertySets==2" /> 5918 <uint32 name="offset1" condition="numPropertySets==2" /> 5919 <type name="propertySet1" type="PropertySet" /> 5920 <type name="propertySet2" type="PropertySet" condition="numPropertySets==2" /> 5921 <type name="padding" type="Byte" array="true" /> 5922 </struct> 5923 <struct name="SummaryInformationPropertySetStream"> 5924 <type name="propertySet" type="PropertySetStream"> 5925 <limitation name="version" value="0" /> 5926 </type> 5927 </struct> 5928 <struct name="DocumentSummaryInformationPropertySetStream"> 5929 <type name="propertySet" type="PropertySetStream"> 5930 <limitation name="version" value="0" /> 5931 </type> 5932 </struct> 5933 <stream name="PowerPointDocument" key="PowerPoint Document" 5934 type="PowerPointStructs" /> 5935 <stream name="CurrentUser" key="Current User" type="CurrentUserStream" /> 5936 <stream name="Pictures" key="Pictures" type="OfficeArtBStoreDelay" /> 5937 <stream name="WordDocument" key="WordDocument" type="WordDocument" /> 5938 <stream name="1Table" key="1Table" type="Table" /> 5939 <stream name="SummaryInformation" key="SummaryInformation" 5940 type="SummaryInformationPropertySetStream" /> 5941 <stream name="DocumentSummaryInformation" key="DocumentSummaryInformation" 5942 type="DocumentSummaryInformationPropertySetStream" /> 5943 <!-- 5944 two temporary streams to work around the fact that we cannot parse 5945 StyleTextPropAtom 5946 --> 5947 <stream name="textPFRun" key="textPFRun" type="TextPFRun" /> 5948 <stream name="textCFRun" key="textCFRun" type="TextCFRun" /> 5949 </mso>