(CSS has no concept of a property not being set. All properties are 'set', even
if just by virtue of having an initial value.)

I don't really understand why your change causes the difference in the 
rendering. Could you explaing that a bit more?

I understand what the three renderings are, and I think the third is what we
want. Both the second and third are arguably valid interpretations of the spec.
The way we should achieve the third, however, is by using the actual font-size
(i.e. the font-size after adjustment by font-size-adjust; note that is not the 
font-size that would be inherited) for the calculation of 'em' units, 'ex' 
units, vertical-align and line-height percentages and line-height ratios, as
well as for the calculations of the height of the line box. This is the 
opposite of what I said earlier, but in retrospect I think it is the only
sensible implementation choice. (It also turns out that this is what I said in
bug X a few months ago, so maybe when I wrote the above I was not thinking
straight or something...)

   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/009.xml

This, however, would not be fixed by your |if| statement change above, as far as
I can tell and as far as I can see using your test build. Basically, behaviour
should be nearly identical for 'line-height: normal' and 'line-height: 1.2' 
except that the ratio in the first case should be taken from the fonts used in
the inline box:

   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/003.xml normal
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/004.xml ratio
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/005.xml %
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/006.xml em
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/007.xml ex
   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/008.xml px (control)

BTW I found a bug in your implementation... The two cases in the URI given below
should render identically but do not. It seems that font-size-adjust is affected
by the value on its parent element (?). font-size-adjust should only affect the
actual font-size, which will affect the cases listed above.

   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/002.xml

A second bug is that the font zoom (View | Font Size) does not seem to interact
very well with font-size-adjust. The font zoom should be a factor applied to the
font size calculation after everything else has been done, uniformly across all
fonts. (And changing the font zoom should also affect the actual font size and
thus the font size used for 'em', 'ex', '%', ratios and inline height
calculations, although we only do this right for inline height calculations
right now.) Hitting Ctrl++ and Ctrl+- a lot on a page with font-size-adjust
being used shows this problem quite clearly; e.g. on:

   http://www.hixie.ch/tests/adhoc/css/fonts/size-adjust/001.xml

And finally, is it known that the font prefs dialog does not seem to have an
effect on the font picked? I'm getting Flemish Script BT being used for all my
unstyled text now. Ever tried reading a directory listing in HandScript? :-/

dbaron: I would very much appreciate your comments on this bug regarding the 
issues I mention above! :-D

rbs: Have I mentioned recently how much you rock?