A line-area is a "special" sort of block-area (4.5, 1st sentence), it does not have any border and padding. Furthermore, 4.4 defines the behaviour of block-areas and makes special comments that many of those feature don't apply to block-areas which are line-areas (for example for start/end-indent).
Hmmm, reading and re-reading the spec I find nothing about that. Section 4.4 says that a block-area which is not a line-area must be properly stacked. So that holds for a block-area with line-area children. Which let me think that the stacking rules of 4.4.1 apply to line-areas. I mean, in the given description B may be a line-area.
So, I'm not sure where you got your "2*start-indent" from, but I think
A line-area being a block-area, x_content-rectangle = x_allocation-rectangle + start-indent. Section 4.5 says that x_allocation-rectangle = start-indent + start-intrusion-adjustment. So x_content-rectangle = 2*start-indent + start-intrusion-adjustment. It may be that the start-indent of a line-area is not equal to the start-indent of its parent block-area. But then I don't know how it is supposed to be computed. It may be that for line-areas, the allocation-rectangle should rather be the border-rectangle (and, then, also the content-rectangle since line-areas have no border nor padding). The definition of the allocation-rectangle for a line-area in section 4.5 would then be consistent, the line-area's rectangle would coincide (when there is no intrusion) with the parent's content-rectangle in the i-p-d. This would correspond to what you said just below:
you may not involve start/end-indent with line-areas. AFAIU, line-areas all extend to the edges of the parent content-rectangle in inline-progress-direction (i.e. start and end) if there's no instrusion.
Or perhaps this definition is wrong and the start-edge of the allocation-rectangle should coincide with the start-edge of the ancestor ref-area's content-rectangle (when there is no intrusion). Like for other block-areas, in fact. I think I'll go with the second possibility. Of course, I guess the allocation-rectangle does not appear in the code but this is to be sure placements will be rightly computed.
Does that help?
Yes thanks, Vincent
