Apache OpenOffice (AOO) Bugzilla – Issue 3958
Support Word XP inline escher objects
Last modified: 2013-08-07 14:41:36 UTC
Seems that this build is not exporting graphics that are in text drawings.
Created attachment 1354 [details] Save this files as Word file and open in Word97, the graphics are gone.
Joost->Michael: please have a look at it...reassigned to you
A certain kind of drawing objects seems to make problems while exporting. The nonpro also throws an Assert "OutWW8FlyFrm:DrawInCnt-Baustelle". Generally the export of drawing objects works (also grouped ones), but in this special case, I don't what's wrong with the object.
It seems to be related to the anchor as charactor option. If you set the object as anchor to page it exports ok.
Yes, it was not possible to anchor drawing objects (i.e. escher objects) inline "as character" in word 2000 and older version. In xp there appears to have appeared a mechanism to do it. Sadly I don't know how this mechanism is working and we can't import this type of anchoring either :-( So its a missing XP feature, some sort of field + graphic stuff. I'll look into it.
Not true! Both Word 97 and 2000 allow you to do this. Word 97: If you paste an object in either then right click on the object and select "format picture". Under the "position" tab turn off "float over text" switch. This will make the object act like a charactor. Word 2000: If you paste an object in either then right click on the object and select "format picture". Under the "Layout" tab tselection the "In line with text" option. This will make the object act like a charactor. I don't have XP to compare.
Trust me. I said "drawing objects (i.e. escher objects)", there are the drawing objects like squares, rectanges and textboxes, not the straight forwards pictures. Insert a text box in 97/2000 and go to format textbox, the "in line with text" is grayed out. Similiarly with a shape you have format autoshape, and in line with text is not available. You now have an "in line with text" option with office xp, this is implemented in terms is a field, which does some tricky business to achieve an in line with text ability while retaining backwards compatability.
*** Issue 3281 has been marked as a duplicate of this issue. ***
2000/xp has a new field for doing "as character" hack. The result of the field is 0x1 0x8 where the escher graphic is preceded with an inline graphic hack to munge the two together. A simple but effective thing is that the 0x08 is by default anchored "to character" so in older versions of word it looks close to what is desired. So we'd want to do that as well when implementing this.
*** Issue 6578 has been marked as a duplicate of this issue. ***
Its 0x8 before 0x1 not 0x1 0x8, hmm think we should be able to handle this without too much effort after all. Import anyhow should be straightforward.
Created attachment 2914 [details] import ok patch, fails on exporting.
*** Issue 9028 has been marked as a duplicate of this issue. ***
Created attachment 3681 [details] Update to SRX644_m source.
In m patch, modified import to make sure vertical alignment matches that used by Word.
We'll see if we can get this implemented fully.
*** Issue 6643 has been marked as a duplicate of this issue. ***
Created attachment 4974 [details] Import Ok and Export as Zeroed to Char.
cmc->aidan: issue 11787 is a real world import example of this inline. There is a possible additional glitch of a drawing canvas in use.
*** Issue 11787 has been marked as a duplicate of this issue. ***
aidan: Following discussion with Caolan and mru, retargetting export implementation for 2.0.
Aidan -> cmc: Sending this back to you
Accept, looks like I'll just have to do it myself.
cmc->sj: This relates to how word uses the "canvas", do you any information about the canvas. Is powerpoint/impress using/importing this thing.
In the file format a canvas is stored as group object, but there are some extra atoms used for a canvas: an fbtUDefProp atom and an fbtClientData atom, the client atom seems to contain the data that makes a canvas, but this data is application dependent. In PPT files there is something that is working similar to the canvas in Word, just insert a Organization Chart (Therefore I already have Issue 14375)
Created attachment 10588 [details] patch that *nearly* does it
I can nearly do this, attached patch works, but it needs to be inside a SHAPE field, which currently crashes word. But very close indeed.
My god, this was insane to implemented, a 12 coffee cup problem. A 0x08 escher object followed by a dummy 0x01 inline element which itself is an escher picture frame all inside a shape field, and with a magic property attached to the 0x08 and the 0x01 objects which must match. All done in portlaoisefilterteam16 for 2.0
reopen to reassign to qa.
cmc->mru: Good in Fri-Nov-07-16-00 portlaoisefilterteam16 installset, a most difficult but excellent feature to support. Give it a good thumping.
MRU->CMC: for Word 2003 it looks good. please also add support for Word XP inline eschers. Seems to be kind of different in that format.
Incredible!, you *also* need to have 1) fAnchorLock set on the escher objects word FSPA structure to make it work in WordXP, though its not needed in 2003 and 2) Need to correctly set fHasSep for the Field Descriptor that surrounds the shape to make it word in 2000, though this is not needed in XP and 2003. A most mysterious set of shifting requirements, if we needed more requirements with newer versions I would suspect deliberate obstruction, but it gets easier to do as the version of word get more recent. So, extra requirements checked into portlaoisefilterteam16.
reopen to reassign
cmc->mru: New changes seem to make this work in portlaoise for XP and 2000 now.
Yes, now also looks great with WordXP. Checked with CWS portlaoisefilterteam16.
Verified. Fix will be part of OO 2.0.
Checked integration in 680m30.