PVCellStyle
and PVTextStyle
¶PVCellStyle => ff ff 00 00 "PVCellStyle" AreaColor[title-color] PVTextStyle => ff ff 00 00 "PVTextStyle" 00 AreaStyle[title-style] MostAreas*7[most-areas] MostAreas => 06 80 AreaColor[color] 08 80 00 AreaStyle[style]
These sections hold the styling and coloring for each of the 8 areas in a pivot table. They are conceptually similar to the area style information in SPV light members (see Areas).
The styling and coloring for the title area is split between
PVCellStyle and PVTextStyle: the former holds title-color
, the
latter holds title-style
. The style for the remaining 7 areas
is in most-areas
in PVTextStyle, in the following order:
layers, corner, row labels, column labels, data, caption, and footer.
AreaColor => 00 01 00 int32[color10] int32[color0] byte[shading] 00
AreaColor represents the background color of an area. TLO files, but
not SPV files, describe backgrounds that are a shaded combination of
two colors: shading
of 0 is pure color0
, shading
of 10 is pure color10
, and value in between mix pixels of the
two different colors in linear degree. PSPP does not implement
shading, so for 1 ≤ shading
≤ 9 it interpolates RGB
values between colors to arrive at an intermediate shade.
AreaStyle => int16[valign] int16[halign] int16[decimal-offset] int16[left-margin] int16[right-margin] int16[top-margin] int16[bottom-margin] 00 00 01 00 int32[font-size] int16[stretch] 00*2 int32[rotation-angle] 00*4 int16[weight] 00*2 bool[italic] bool[underline] bool[strikethrough] int32[rtf-charset-number] byte[x] byte[font-name-len] byte*[font-name-len][font-name] int32[text-color] 00*2
AreaStyle represents style properties of an area.
valign
is 0 for top alignment, 1 for bottom alginment, 2 for
center.
halign
is 0 for left alignment, 1 for right, 2 for center, 3
for mixed, 4 for decimal. For decimal alignment,
decimal-offset
is the offset of the decimal point in 20ths of a
point.
left-margin
, right-margin
, top-margin
, and
bottom-margin
are also measured in 20ths of a point.
font-size
is negative 96ths of an inch, e.g. 9 point is -12 or
0xfffffff3.
stretch
has something to do with font size or stretch. The
usual value is 01 and values larger than that do weird things. A
reader can safely ignore it.
rotation-angle
is a font rotation angle. A reader can safely
ignore it.
weight
is 400 for a normal-weight font, 700 indicates bold.
(This is a Windows API convention.)
italic
and underline
have the obvious meanings. So does
strikethrough
, which PSPP ignores.
rtf-charset-number
is a character set number from RTF. A
reader can safely ignore it.
The meaning of x
is unknown. Values 12, 22, 31, and 32 have
been observed.
The font-name
is the name of a font, such as Arial
.
Only US-ASCII characters have been observed here.
text-color
is the color of the text itself.