Re: [css3-gcpm] Spacing and alignment of leaders

On Aug 8, 2008, at 7:28 AM, Tab Atkins Jr. wrote:

> Text .[em].[em].[em][en]5
> Text .[em].[em].[em]89
> Text .[em].[em].[en]101
>
> produces right-aligned page numbers, a uniform gutter between the page
> numbers and the leaders, and horizontally aligned
> leaders. See Space Characters in Unicode,
> <http://www.cs.tut.fi/~jkorpela/chars/spaces.html>.
>
> A similar effect might be programmatically attained using tab
> settings. However, it is the effect that is important, not the
> methodology. Horizontally separated and aligned leaders, being less
> visually overpowering, emphasize the text on the same line while still
> providing the desired visual guide to the correct page number on the
> right margin.
>
> Wouldn't the horizontal spacing be rather simply solved by using  
> leader('.[em]')?  You can provide a generic string to the function.   
> You'd have to escape the em space, obviously.
>
> Of course, the leader alignment is a slightly different issue that  
> is not solved by this.

It does seem that alignment is a significant issue with the way UAs  
are instructed to lay out the line:
Lay out the content with leaders of minimum lengths
Determine the empty space left on the line.
Distribute the empty space between the leaders on the line. Glyphs  
must not be shown partially. All leaders on the line should, to the  
extent possible, have the same length. This may not always be possible  
as the minimum leader length must be honored.
Fill the empty space with the specified leader pattern.
Because glyphs must not be shown partially (which is a good rule), any  
inline content to the right of the leader may not align. It depends on  
what the UA does with the empty space after it subtracts out partial  
glyphs. If it still keeps it as empty space after the glyphs, then it  
should be OK, and content on the right will align on the right. But if  
it just lops off any glyphs that don't fit, thus shortening the space  
that had been distributed, then the line will be too short to reach  
the end, especially if multiple glyphs are used for the leader string,  
or if a much larger font size is used on the leader content.

I think the instruction that says "Glyphs must not be shown partially"  
should be expanded to say "Glyphs must not be shown partially, but  
removing partial glyphs to fulfill this requirement must not reduce  
the width of the distributed space. The width of the line's content,  
when possible, should thus fill the entire line."

Received on Friday, 8 August 2008 15:57:07 UTC