W3C home > Mailing lists > Public > www-style@w3.org > February 2016

Re: [css-text] Issue 18: character-based alignment in table columns

From: Bert Bos <bert@w3.org>
Date: Tue, 2 Feb 2016 11:22:05 +1100
Message-Id: <6A72BEC6-7935-40A8-9FCE-AD5F46C40E61@w3.org>
To: W3C style mailing list <www-style@w3.org>

> On 30 Jan 2016, at 09:45, fantasai <fantasai.lists@inkedblade.net> wrote:
> 
> On 01/27/2016 10:41 AM, Dave Cramer wrote:
>> 
>> I'm all in favor of making CSS better than InDesign. I'm not so sure about the right thing to do. Let's look at the most
>> common case of a bold row in a decimal-aligned table. In Adobe Caslon Pro, the em-squares of both roman and bold numerals are
>> 500 units wide (1000 units/em). The em-square of the roman period is 254 units wide, but 280 units wide for the bold period.
>> 
>> So where does that extra space go? In InDesign, numerals to the right of the alignment character are pushed right a bit. This
>> leaves numerals to the left unaffected.
>> 
>> If we center the alignment character, then numerals to the left shift a tiny bit right, and numerals to the right shift a tiny
>> bit left.
>> 
>> I think the InDesign behavior might be more desirable, given that numbers to the left are literally more important (and there
>> are usually more of them).
> 
> However, numbers are usually right-aligned with a constant number of
> decimal points  so the discrepency is likely to be more noticeable
> on the right...
> 
> It's also quite likely to use this alignment for times (':'), fwiw.
> 
> I think center-aligning is probably the best compromise: it's a clear,
> simple answer that will never depend on writing mode or text alignment.
> If there isn't a better reason than that, then I think centering is
> best.
> 
> ~fantasai

As an extra bit of information, AntennaHouse Formatter by default aligns on the _end_ of the string, but allows the author to choose, according to this text in the documentation:

    -ah-text-align-string

    Value:    start | center | end | inside | outside | left | right
    Initial:  end
    [...]
    Although the specification of <string> to fo:table-cell aligns the
    character position of decimal point, etc., there is no definition for
    the alignment of the whole character string. At a default, AH Formatter
    V6.2 displayed it right aligned according to the illustration of 17.5.4
    Horizontal alignment in a column[1]. AH Formatter V6.2 extends the
    alignment and makes it possible to align left or align center

See http://www.antennahouse.com/CSSInfo/extension.html#axf.text-align-string

[1] http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#column-alignment

(That (old) version of the CSS2 spec says to align on the _start_ of the string, which may be either left or right, depending on the writing mode. But XSL-FO indeed seems to have left that part out.)



Bert
--
  Bert Bos                                ( W 3 C ) http://www.w3.org/
  http://www.w3.org/people/bos                               W3C/ERCIM
  bert@w3.org                             2004 Rt des Lucioles / BP 93
  +33 (0)4 92 38 76 92            06902 Sophia Antipolis Cedex, France


Received on Tuesday, 2 February 2016 00:27:49 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:09:00 UTC