> On 22 Jul 2015, at 11:11, Andreas L. Delmelle <[email protected]> 
> wrote:
> 
> Hi Jan
> 
>> On 22 Jul 2015, at 00:36, Jan Tosovsky <[email protected]> wrote:
>> 
>> <snip />
>> But 'Item 2.1' is wrapped by BasicLinkLM and during its processing in
>> TextLayoutManager.addMappingAreas() a special treatment is performed as
>> context.getIPDAdjust() returns non zero value. So instead of width 39743
>> (21395 + 3058 + 15290) one gets 41102. And this difference matches that
>> shift of the page number.
>> 
>> What does that IPDAdjust represent?
> 
> While I cannot immediately say what the "ipd adjustment" is supposed to 
> represent, ...

Looking closer, it suddenly dawned on me that this represents the so-called 
"adjustment ratio" of a given break possibility. This is one of the factors -- 
effect not to be underestimated -- that determines the feasibility (demerits) 
of actually breaking at that position.

If I interpret correctly from the code, it is only supposed to count in case 
(at least) one of the following is true:
  1° text-align is set to "justify"
  2° the "difference" associated with the break possibility, which is 
essentially the amount of space 
     left within the line if a break occurs at the given position, is both 
negative and smaller than the available
     "shrink" -- i.e. the content would overflow the line if nothing special 
happens, but some of the glues can be 
     shrunk to make the content fit anyway

> I did notice something that does influence the result: the extra layer of 
> fo:inlines, that only seem to be there to carry the keep-together.within-line 
> property.

I would focus the efforts on trying to get a better view on the difference in 
processing between the two situations: with and without the extra fo:inline. 
Likely, the extra level of nesting causes some additional, auxiliary elements 
to be added to the content list, which are taken into account while they should 
not be.


KR

Andreas

Reply via email to