Word (.doc) Binary File Format query regarding preserving continuous list numbering across lists with different sprmPIlfo values

JFK555 1 Reputation point
2022-07-27T11:03:29.82+00:00

I have a query regarding Word (.doc) Binary File Format specification and numbered lists. I have noticed that some software that can read Word docs, including Antiword and WV, get the numbering on this document https://moj-tribunals-documents-prod.s3.amazonaws.com/decision/doc_file/75932/DA002842020.doc wrong.

Rather than numbering the numbered paragraphs on page 1 onwards as 1,2,3,4,5,etc, Antiword and WV do it as 1,2,1,2,3,etc. Looking at the file via Antiword and also via OpenOffice's mso-dumper, I can see this is because they are two different lists with different sprmPIlfo values specified in the paragraphs (numbered paragraphs 1,2 are in list 0x0017 while numbered paragraphs 3 onwards are in list 0x0003). Hence Antiword and WV restart numbering from 1 upon encountering the new list with the sprmPIlfo value 0x0003.

I can't figure out what Word is doing behind the scenes to connect these two lists so that the numbering is continuous. I thought it might be LFOLVL overrides as Antiword doesn't appear to handle these, but WV does and WV also gets the numbering wrong.

I suspect this is a very obscure question, but will post it in case anyone at Microsoft can help. What value(s) would I need to read in the Word (.doc) Binary File Format specification in order to know that the two lists in https://moj-tribunals-documents-prod.s3.amazonaws.com/decision/doc_file/75932/DA002842020.doc with different sprmPIlfo values are to be numbered continuously?

Thank you.

Office Open Specifications
Office Open Specifications
Office: A suite of Microsoft productivity software that supports common business tasks, including word processing, email, presentations, and data management and analysis.Open Specifications: Technical documents for protocols, computer languages, standards support, and data portability. The goal with Open Specifications is to help developers open new opportunities to interoperate with Windows, SQL, Office, and SharePoint.
127 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Mike Bowen 1,516 Reputation points Microsoft Employee
    2022-08-11T22:41:10.27+00:00

    Hi @JFK555 ,

    I researched this and you are correct - multiple LFOs that point to the same lsid should be considered part of the same list. I hope this answers your question.

    Best regards,
    Michael Bowen - Microsoft Open Specifications

    0 comments No comments