Hi Lubos,
On Mon, Apr 02, 2012 at 03:04:22PM +0200, Lubos Lunak <l.lunak@suse.cz> wrote:
You are right that reading of some of the sprm's is broken, but looking at
the first problem with the test document in Read_UL(), it is called with nId
= 0x246D, which is sprmPFContextualSpacing, and the .doc spec for that one
says it's 1 byte, while e.g. nId = 0xA413, sprmPDyaBefore, is 2 bytes
according to the spec. So as far as I understand it, somebody was a bit lazy
and lumped together two slightly different things, which should otherwise be
read differently, and the proper fix would be to always read the exact size
depending on the nId.
They are read in the same method, since they are all part of the same
SvxULSpaceItem.
On the other hand, looking at the end of
WW8AttributeOutput::FormatULSpace(), we apparently do write
sprmPFContextualSpacing as 2 bytes, which seems wrong.
Both reading and writing of sprmPFContextualSpacing should be fixed with
http://cgit.freedesktop.org/libreoffice/core/commit/?id=36e176ee2354e62d5e4208fb0ae2a101ba32d7f5
Hope this helps. :)
Miklos
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.