?? maaaaaaa.a
字號:
<p>the names in word data structures usually consist of a lower case sequence of
characters followed by an optional upper case modifier. the following tags are used in the
lower case parts of field names to document the data type of a field:</p>
<table border="2" cellpadding="4" cellspacing="0">
<tr>
<td valign="top">f</td>
<td valign="top">used to name a flag (a variable containing a boolean value). usually the
object referred to will contain either 1 (<i>ftrue</i>, <i>true</i>) or 0 (<i>ffalse</i>, <i>false</i>).
(e.g. fwidowcontrol, fshadow)</td>
</tr>
<tr>
<td valign="top">l</td>
<td valign="top">used to name a 4 byte integer value ( a long). (e.g. lcb)</td>
</tr>
<tr>
<td valign="top">w</td>
<td valign="top">used to name a 2 byte integer value (a short ).</td>
</tr>
<tr>
<td valign="top">b</td>
<td valign="top">used to name a 1 byte integer value</td>
</tr>
<tr>
<td valign="top">cp</td>
<td valign="top">used to name a variable that contains a character position within the
document. always a 4 byte quantity.</td>
</tr>
<tr>
<td valign="top">fc</td>
<td valign="top">used to name a variable that contains an offset from the beginning of a
file. always a 4 byte quantity.</td>
</tr>
<tr>
<td valign="top">xa</td>
<td valign="top">used to name a variable that contains a width of an object imaged on
screen or on hard copy that is measured in units of 1/1440 of an inch. this unit which is
one-twentieth of a point size (1/20 * 1/72") is called a <b>twip</b> in this
documentation. (e.g. xapage is the width of a page).</td>
</tr>
<tr>
<td valign="top">ya</td>
<td valign="top">used to name a variable that contains a height of an object imaged on
screen or on hard copy that is measured in twips.</td>
</tr>
<tr>
<td valign="top">dxa</td>
<td valign="top">used to name a variable that contains the horizontal distance of an
object measured from some reference point expressed in twips. (e.g. pap.dxaleft is the
distance of the left boundary of a paragraph measured from the left margin of the page)</td>
</tr>
<tr>
<td valign="top">dya</td>
<td valign="top">used to name a variable that contains the vertical distance of an object
measured from some reference point expressed in twips. (e.g. pap.dyaabs is the vertical
distance of the top of a paragraph from a reference frame declared in the pap).</td>
</tr>
<tr>
<td valign="top">dxp</td>
<td valign="top">used to name a variable that contains the horizontal distance of an
object measured from some reference point expressed in macintosh pixel units (1/72").
(e.g. dxpspace)</td>
</tr>
<tr>
<td valign="top">dyp</td>
<td valign="top">used to name a variable that contains the vertical distance of an object
measured from some reference point expressed in macintosh pixel units (1/72").</td>
</tr>
<tr>
<td valign="top">rg</td>
<td valign="top">prefix used to signify that the data structure being defined is an array.
(e.g. rgb (an array of bytes), rgcp (an array of cps), rgfc (an array of fcs), rgfoo (an
array of foos).</td>
</tr>
<tr>
<td valign="top">i</td>
<td valign="top">prefix used to signify that an integer value is used as an index into an
array. (e.g. itbd is an index into rgtbd, itc is an index into rgtc.)</td>
</tr>
<tr>
<td valign="top">c</td>
<td valign="top">prefix used to signify that an integer value is a count of some number of
objects. (e.g. a cb is a count of bytes, a cl is a count of lines, ccol is a count of
columns, a cpe is a count of picture elements.)</td>
</tr>
<tr>
<td valign="top">grp</td>
<td valign="top">prefix used to name an array of bytes that contains one or more copies of
a variable length data structure with the instances of the data structure stored one after
the other in the array. (e.g. a grpprl is a array of bytes that stores a group of prls.)</td>
</tr>
<tr>
<td valign="top">grpf</td>
<td valign="top">prefix used to name an integer or byte value whose bits are used as
flags. (e.g. grpfihdt is a group of flags that records the types of headers that are
stored for a particular section of a document).</td>
</tr>
</table>
<p>the two following modifiers are used occasionally in this documentation:</p>
<table border="2" cellpadding="4" cellspacing="0">
<tr>
<td valign="top">first</td>
<td valign="top">means that variable marks the first of a range of objects. for example,
cpfirst would mark the first character position of a range of characters in a document.
fcfirst would mark the file offset of the first byte of a range of bytes stored in a file.</td>
</tr>
<tr>
<td valign="top">lim</td>
<td valign="top">means the variable marks the limit of a range of objects (i.e. is the
index of the last object in a range plus 1). for example, cplim would be the limit cp of a
range of characters in a document. fclim would be the limit file offset of a range of
bytes stored in a file.</td>
</tr>
</table>
<a name="04">
<h2>format of the summary info stream in a word file</h2>
</a>
<p>the summary information for a word document is stored in two structured storage
streams, summaryinformation and documentsummaryinformation. information on the layout of
the summaryinformation stream can be found in appendix b of the ole 2 programmers
reference.</p>
<a name="05">
<h2>format of the main stream in a word non-complex file</h2>
</a>
<p>the main stream of a word docfile (non-complex format) consists of the word file header
(fib), the text, and the formatting information.</p>
<blockquote>
<dl>
<dt><b>fib</b></dt>
<dd>stored at beginning of page 0 of the file. fib.fcomplex will be set to zero.</dd>
<dt><b>text of body, footnotes, headers</b></dt>
<dd>text begins at the position recorded in fib.fcmin.</dd>
<dt><b>fkps for chps, paps and lvcs</b></dt>
<dd>the first fkp begins at a 512-byte boundary after the last byte text written.. the
remaining fkps are recorded in the 512-byte pages that immediately follow. the fkps for
chps paps and lvcs are interleaved. previous versions of word wrote them in contiguous
chunks. the hplcfbte's of the three flavors (chp, pap and lvc) are used to find the
relevant fkp of the appropriate type.</dd>
<dt><b>group of sepxs</b></dt>
<dd>sepxs immediately follow the fkps and are concatenated one after the other. sepxs are no
longer guaranteed to start on a page boundary if it would span a boundary if placed
immediately after the preceding sepx.</dd>
</dl>
</blockquote>
<a name="06">
<h2>format of the main stream in a complex file</h2>
</a>
<p>the main stream of a word binary file (complex format) consists of the word file header
(fib), the text, and the formatting information.</p>
<blockquote>
<dl>
<dt><b>fib</b></dt>
<dt><b>text of body, footnotes, headers stored during last full save</b></dt>
<dd>text begins at the position recorded in fib.fcmin.</dd>
<dt><b>fkps for chps, paps and lvcs</b></dt>
<dd>the first fkp begins at a 512-byte boundary after the last byte text written.. the
remaining fkps are recorded in the 512-byte pages that immediately follow. the fkps for
chps paps and lvcs are interleaved. previous versions of word wrote them in contiguous
chunks. the hplcfbte's of the three flavors (chp, pap and lvc) are used to find the
relevant fkp of the appropriate type.</dd>
<dt><b>group of sepxs stored during last full save</b></dt>
<dt>any text, stored during first fast save</dt>
<dt>any fkps stored during first fast save</dt>
<dt>any sepxs stored during first fast save</dt>
<dt>any text, stored during second fast save</dt>
<dt>any fkps stored during second fast save</dt>
<dt>any sepxs stored during second fast save</dt>
<dt>...</dt>
<dt>any text, stored during nth fast save</dt>
<dt>any fkps stored during nth fast save</dt>
<dt>any sepxs stored during nth fast save</dt>
</dl>
</blockquote>
<a name="07">
<h2>format of the table stream</h2>
</a>
<p>word stores various plcfs and tables with the stream named either "0table" or
"1table". ordinarily a file will contain only one table stream. however, in some
unusual circumstances (e.g. crash during file save) a file might have two table streams.
in that case the bit field fwhichtblstm in the fib should be used to determine which table
stream to read. if fwhichtblstm is 0, then the fib refers to the stream named
"0table", and if fwhichtblstm is 1, then the fib refers to the stream name
"1table".</p>
<blockquote>
<dl>
<dt><b>sttbfussr</b></dt>
<dd>undocumented undo / versioning data</dd>
<dt><b>plcupcrgbuse</b></dt>
<dd>undocumented undo / versioning data</dd>
<dt><b>plcupcusp</b></dt>
<dd>undocumented undo / versioning data</dd>
<dt><b>uskf</b></dt>
<dd>undocumented undo / versioning data</dd>
<dt><b>stsh (style sheet)</b></dt>
<dd>written immediately after the preivous table. this is recorded in all word documents.</dd>
<dt><b>plcffndref (footnote reference position table)</b></dt>
<dd>written immediately after the <b>stsh</b> if the document contains footnotes</dd>
<dt><b>plcffndtxt (footnote text position table)</b></dt>
<dd>written immediately after the <b>plcffndref</b> if the document contains footnotes</dd>
<dt><b>pgdftn (footnote text page description table)</b></dt>
<dd>written immediately after the <b>plcffndtxt</b> if the document contains footnotes</dd>
<dt><b>bkdftn (footnote text break descriptor table)</b></dt>
<dd>written immediately after the <b>pgdftn</b> if the document contains footnotes.</dd>
<dt><b>plcfendref (endnote reference position table)</b></dt>
<dd>written immediately after the previously recorded table if the document contains
endnotes</dd>
<dt><b>plcfendtxt (endnote text position table)</b></dt>
<dd>written immediately after the <b>plcfendref</b> if the document contains endnotes</dd>
<dt><b>pgdedn (endnote text page description table)</b></dt>
<dd>written immediately after the <b>plcfendtxt</b> if the document contains endnotes</dd>
<dt><b>bkdedn (endnote text break descriptor table)</b></dt>
<dd>written immediately after the <b>pgdedn</b> if the document contains endnotes</dd>
<dt><b>plcftxbxtxt (text box link table)</b></dt>
<dd>written immediately after the previously recorded table if the document contains
textboxes</dd>
<dt><b>plcftxbxbkd (text box break descriptor table)</b></dt>
<dd>written immediately after the <b>plcftxbxtxt</b> if the document contains textboxes</dd>
<dt><b>plcfhdrtxbxtxt (header text box link table)</b></dt>
<dd>written immediately after the previously recorded table if the header subdocument
contains textboxes</dd>
<dt><b>plcfhdrtxbxbkd (header text box break descriptor table)</b></dt>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -