B
Bob S
This note was provoked by a thread in another newsgroup complaining
that font properties in table styles don't override those of the
paragraph styles in the tables. I do not intend to "excuse" the
behavior (if any excuse is needed), merely to supply a coherent
explanation for the behavior.
Here is my current hypothesis on the internal mechanisms behind the
seemingly-odd behavior of table styles versus paragraph styles. I
think that this hypothesis explains the observed behavior in a simple
way.
The "seemingly-odd behavior" is that font properties specified in
table styles will only override font properties specified in paragraph
styles if the paragraph styles call for unmodified 12-point TNR.
Let's look at "font name"; the other properties each work similarly.
When Word needs to decide how to display some piece of text that is in
a table, Word first starts looking at the paragraph style hierarchy,
using exactly the same process that it would use if the text were not
in a table. It starts with the paragraph style of the paragraph in the
table, and looks to see whether that style overrides the font name of
the base style or not. If it does override, then that font name is the
answer, and Word displays the text in that font and stops looking. If
it does not override, Word looks back at the base style to see whether
that overrides the font name. It keeps doing this all the way down the
inheritance chain. If nothing overrides, Word eventually gets down to
Normal style. Here is the trick; I will claim that Normal style is
actually a derived style based on something I will call Internal
Normal. So Word looks to see whether Normal overrides Internal Normal
or not, just as in all the previous cases. If Normal also says that it
does not override, then Word looks at the table style hierarchy to see
whether it overrides font name, and continues down that hierarchy
until it either finds an override or reaches the base of that tree.
The base of that tree is Table Normal, which has the same 12-point TNR
as Internal Normal.
(Why do I think that Normal style is actually a derived style? I adopt
this hypothesis because it seems consistent with Word's behavior, and
because it would be an easy implementation. For explaining Word's
behavior this hypothesis explains in a natural and consistent way the
odd-seeming fact that table style font name will only be effective if
all of the paragraph styles including Normal do not modify the default
12-point TNR style. Other explanations require odd special-casing to
explain this fact. In terms of easy implementation, Normal can be
copied, modified, or have an alias just like any other style, and the
other styles are all derived styles. The only internal special-casing
required is that Word does not display the "internal normal" style in
the style list.)
(In the first paragraph I said "the paragraph style"; actually Word
does all the usual things; it looks at direct formatting if any, then
at the style of the paragraph that you applied directly if any, then
at the paragraph style of the paragraph that the table is contained
in, and so on.)
Bob S
that font properties in table styles don't override those of the
paragraph styles in the tables. I do not intend to "excuse" the
behavior (if any excuse is needed), merely to supply a coherent
explanation for the behavior.
Here is my current hypothesis on the internal mechanisms behind the
seemingly-odd behavior of table styles versus paragraph styles. I
think that this hypothesis explains the observed behavior in a simple
way.
The "seemingly-odd behavior" is that font properties specified in
table styles will only override font properties specified in paragraph
styles if the paragraph styles call for unmodified 12-point TNR.
Let's look at "font name"; the other properties each work similarly.
When Word needs to decide how to display some piece of text that is in
a table, Word first starts looking at the paragraph style hierarchy,
using exactly the same process that it would use if the text were not
in a table. It starts with the paragraph style of the paragraph in the
table, and looks to see whether that style overrides the font name of
the base style or not. If it does override, then that font name is the
answer, and Word displays the text in that font and stops looking. If
it does not override, Word looks back at the base style to see whether
that overrides the font name. It keeps doing this all the way down the
inheritance chain. If nothing overrides, Word eventually gets down to
Normal style. Here is the trick; I will claim that Normal style is
actually a derived style based on something I will call Internal
Normal. So Word looks to see whether Normal overrides Internal Normal
or not, just as in all the previous cases. If Normal also says that it
does not override, then Word looks at the table style hierarchy to see
whether it overrides font name, and continues down that hierarchy
until it either finds an override or reaches the base of that tree.
The base of that tree is Table Normal, which has the same 12-point TNR
as Internal Normal.
(Why do I think that Normal style is actually a derived style? I adopt
this hypothesis because it seems consistent with Word's behavior, and
because it would be an easy implementation. For explaining Word's
behavior this hypothesis explains in a natural and consistent way the
odd-seeming fact that table style font name will only be effective if
all of the paragraph styles including Normal do not modify the default
12-point TNR style. Other explanations require odd special-casing to
explain this fact. In terms of easy implementation, Normal can be
copied, modified, or have an alias just like any other style, and the
other styles are all derived styles. The only internal special-casing
required is that Word does not display the "internal normal" style in
the style list.)
(In the first paragraph I said "the paragraph style"; actually Word
does all the usual things; it looks at direct formatting if any, then
at the style of the paragraph that you applied directly if any, then
at the paragraph style of the paragraph that the table is contained
in, and so on.)
Bob S