2.8.35 PlcPcd

The PlcPcd structure is a PLC whose data elements are Pcds (8 bytes each).  A PlcPcd MUST NOT contain duplicate CPs.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

aCP (variable)

...

aPcd (variable)

...

aCP (variable): An array of CPs that specifies the starting points of text ranges.  The end of each range is the beginning of the next range. All CPs MUST be greater than or equal to zero. If any of the fields ccpFtn, ccpHdd, ccpAtn, ccpEdn, ccpTxbx, or ccpHdrTxbx from FibRgLw97 are nonzero, then the last CP MUST be equal to the sum of those fields plus ccpText+1. Otherwise, the last CP MUST be equal to ccpText.

aPcd (variable): An array of Pcds (8 bytes each) that specify the location of text in the WordDocument stream and any additional properties of the text. If aPcd[i].fc.fCompressed is 1, then the byte offset of the last character of the text referenced by aPcd[i] is given by the following.

aPCD open bracket I closed bracket fc dot fc over 2 + aCP open bracket I + 1 closed bracket minus aCP open bracket i closed bracket minus 1

Otherwise, the byte offset of the last character of the text referenced by aPcd[i] is given by the following.

APCD open bracket I closed bracket dot fc dot fc + 2 open parentheses ACP open bracket i + 1 closed bracket minus ACP open bracket i closed bracket minus 1 closed parentheses.

Because aCP MUST be sorted in ascending order and MUST NOT contain duplicate CPs, (aCP[i+1]-aCP[i])>0, for all valid indexes i of aPcd. Because a PLC MUST contain one more CP than a data element, i+1 is a valid index of aCP if i is a valid index of aPcd.