[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    RE: Parsing office art data from .doc file
From:       Hanzes Matus <matus.hanzes () ixonos ! com>
Date:       2010-02-24 8:22:27
Message-ID: C495228385CC1D409A54846080C9CBA56634C20DC5 () jklmail01 ! ixonos ! local
[Download RAW message or body]

[Attachment #2 (text/plain)]

Hi

> Could you post a diff against the current version? I'm doing a diff
> locally but
> mso.xml has already changed significantly.
> A diff against the version you started from is fine too.

Diff against the version I started from


["mso.diff" (application/octet-stream)]

--- mso_old.xml	2010-02-04 12:32:12.000000000 +0100
+++ mso.xml	2010-02-22 23:08:16.413292140 +0100
@@ -2974,7 +2974,7 @@
 		<type name="drawingGroup" type="OfficeArtFDGGBlock" />
 		<type name="blipStore" type="OfficeArtBStoreContainer" optional="true" />
 		<!--  different from spec -->
-		<type name="drawingPrimaryOptions" type="OfficeArtFOPT" />
+		<type name="drawingPrimaryOptions" type="OfficeArtFOPT" optional="true" />
 		<type name="drawingTertiaryOptions" type="OfficeArtTertiaryFOPT"
 			optional="true" />
 		<!--
@@ -2984,11 +2984,7 @@
 		<!--
 			MS docs do not list drawingTertiaryOptions as optional
 		-->
-		<type name="splitColors" type="OfficeArtSplitMenuColorContainer" />
-		<!--
-			MS docs do not mention this instance of OfficeArtTertiaryFOPT
-		-->
-		<type name="unknown" type="OfficeArtTertiaryFOPT" optional="true" />
+		<type name="splitColors" type="OfficeArtSplitMenuColorContainer" optional="true" />
 	</struct>
 	<struct name="OfficeArtDgContainer">
 		<type name="rh" type="OfficeArtRecordHeader">
@@ -2996,14 +2992,14 @@
 			<limitation name="recInstance" value="0x0" />
 			<limitation name="recType" value="0xF002" />
 		</type>
-		<type name="drawingData" type="OfficeArtFDG" />
+		<type name="drawingData" type="OfficeArtFDG" optional="true" />
 		<!-- MS documentation does not say regroupItems is optional -->
 		<type name="regroupItems" type="OfficeArtFRITContainer" optional="true" />
-		<type name="groupShape" type="OfficeArtSpgrContainer" />
+		<type name="groupShape" type="OfficeArtSpgrContainer" optional="true" />
 		<!-- MS documentation does not say shape is optional -->
 		<type name="shape" type="OfficeArtSpContainer" optional="true" />
 		<type name="deletedShapes" type="OfficeArtSpgrContainerFileBlock"
-			array="true" />
+			array="true" optional="true" />
 		<!--  according to ms spec, solvers is not optional -->
 		<type name="solvers" type="OfficeArtSolverContainer" optional="true" />
 	</struct>
@@ -3217,6 +3213,7 @@
 			<type type="adjust2Value" />
 			<type type="adjust3Value" />
 			<type type="ITxid" />
+			<type type="DiagramBooleanProperties" />
 			<type type="DxTextLeft" />
 			<type type="DyTextTop" />
 			<type type="DxTextRight" />
@@ -3320,6 +3317,35 @@
 		</type>
 		<int32 name="iTxid" />
 	</struct>
+	<struct name="DiagramBooleanProperties">
+		<type name="opid" type="OfficeArtFOPTEOPID">
+			<limitation name="opid" value="0x053F" />
+			<limitation name="fBid" value="false" />
+			<limitation name="fComplex" value="false" />
+		</type>
+		<bit name="fLockAgainstGrouping" />
+		<bit name="fLockAdjustHandles" />
+		<bit name="fLockText" />
+		<bit name="fLockVertices" />
+		<bit name="fLockCropping" />
+		<bit name="fLockAgainstSelect" />
+		<bit name="fLockPosition" />
+		<bit name="fLockAspectRatio" />
+		<bit name="fLockRotation" />
+		<bit name="fLockAgainstUngrouping" />
+		<uint6 name="unused6" />
+		<bit name="fUsefLockAgainstGrouping" />
+		<bit name="fUseLockAdjustHandles" />
+		<bit name="fUseLockText" />
+		<bit name="fUsefLockVertices" />
+		<bit name="fUsefLockCropping" />
+		<bit name="fUsefLockAgainstSelect" />
+		<bit name="fUsefLockPosition" />
+		<bit name="fUsefLockAspectRatio" />
+		<bit name="fUsefLockRotation" />
+		<bit name="fUsefLockAgainstUngrouping" />
+		<uint6 name="unused2" />
+	</struct>
 	<struct name="DxTextLeft">
 		<type name="opid" type="OfficeArtFOPTEOPID">
 			<limitation name="opid" value="0x0081" />
@@ -3826,10 +3852,9 @@
 			<limitation name="recVer" value="0" />
 			<limitation name="recInstance" value="0" />
 			<limitation name="recType" value="0xF010" />
-			<limitation name="recLen" value="0x8|0x10" />
+			<limitation name="recLen" value="0x4" />
 		</type>
-		<type name="rect1" type="SmallRectStruct" condition="rh.recLen==0x8" />
-		<type name="rect2" type="RectStruct" condition="rh.recLen==0x10" />
+		<int32 name="clientAnchor" />
 	</struct>
 	<struct name="OfficeArtFPSPL">
 		<type name="rh" type="OfficeArtRecordHeader">
@@ -3856,25 +3881,12 @@
 	</struct>
 	<struct name="OfficeArtClientData">
 		<type name="rh" type="OfficeArtRecordHeader">
-			<limitation name="recVer" value="0xF" />
+			<limitation name="recVer" value="0|0xF" />
 			<limitation name="recInstance" value="0" />
 			<limitation name="recType" value="0xF011" />
+			<limitation name="recLen" value="0x4" />
 		</type>
-		<type name="shapeFlagsAtom" type="ShapeFlagsAtom" optional="true" />
-		<type name="shapeFlags10Atom" type="ShapeFlags10Atom" optional="true" />
-		<type name="exObjRefAtom" type="ExObjRefAtom" optional="true" />
-		<type name="animationInfo" type="AnimationInfoContainer"
-			optional="true" />
-		<type name="mouseClickInteractiveInfo" type="MouseClickInteractiveInfoContainer"
-			optional="true" />
-		<type name="mouseOverInteractiveInfo" type="MouseOverInteractiveInfoContainer"
-			optional="true" />
-		<type name="placeholderAtom" type="PlaceholderAtom" optional="true" />
-		<type name="recolorInfoAtom" type="RecolorInfoAtom" optional="true" />
-		<type name="rgShapeClientRoundtripData" type="ShapeClientRoundtripDataSubcontainerOrAtom"
-			array="true" />
-		<type name="unknown" type="UnknownOfficeArtClientDataChild"
-			optional="true" />
+		<uint32 name="clientData" />
 	</struct>
 	<struct name="ShapeFlagsAtom">
 		<type name="rh" type="OfficeArtRecordHeader">
@@ -4025,9 +4037,9 @@
 			<!--  documentations says value should be 0 -->
 			<limitation name="recInstance" value="0" />
 			<limitation name="recType" value="0xF00D" />
+			<limitation name="recLen" value="0x4" />
 		</type>
-		<type name="rgChildRec" array="true" size="rh.recLen"
-			type="TextClientDataSubContainerOrAtom" />
+		<uint32 name="clientTextBox" />
 	</struct>
 	<struct name="TextRulerAtom">
 		<type name="rh" type="RecordHeader">


_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic