View Single Post
  #2   Report Post  
Klaus Linke
 
Posts: n/a
Default

Hi Bob,

I do not intend to "excuse" the behavior [...]


8-|

I think it's inexcusable.
In my book, it's a bug that wasn't caught in time and now we are stuck with it.
Who in his/her right mind would design it that way?

If you go down the inheritance chain, you can stop looking if you've found a
modification.
If the table style says "Arial", then it shouldn't matter one bit what's defined
in the base table style, or any style "further down".
Much less the "internal" Normal style below "Normal" (= the factory default
"Normal" style?).

BTW: You have to change the font size of the "Normal" paragraph style to 10 pt
if you want to set the font size in the table style.
Those 10 pt used to be the factory default font size for "Normal" in old
versions... which means that both the programmers that changed that default to
12 pt and those that designed table styles probably didn't get things quite
right (to say it politely).

Regards,
Klaus



"Bob S" wrote:
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