OASIS Open Document Format for Office Applications (OpenDocument) TC

  • 1.  proposal; Amend fo:letter-spacing

    Posted 06-05-2008 15:57
    Hello TC,
    
    In ODF the letter spacing attribute specifies the amount of space between 
    letters. This is the way that XSL does things and this is fine for things 
    like webpages.
    Unfortunately for DTP applications this is not really what is expected. The 
    spacing between characters in DTP is not a static value, it is a percentage 
    value.  Basically when you have an 'm' the spacing adjustment is wider than 
    when you have an 'i'.
    In KOffice we intend to use the percentage based letter spacing adjustment and 
    we were surprised reading the spec (and trying out OOo) that this is not 
    possible.  Would it be possible to adjust the spec to also allow percentage 
    based values?
    
    Which would add the 


  • 2.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-05-2008 21:30
    Thomas Zander wrote:
    
    > In ODF the letter spacing attribute specifies the amount of space between 
    > letters. This is the way that XSL does things and this is fine for things 
    > like webpages.
    
    I don't think that authors of XSL-FO will agree with your statement 
    about XSL-FO being for webpages ;-)
    
    > Unfortunately for DTP applications this is not really what is expected. The 
    > spacing between characters in DTP is not a static value, it is a percentage 
    > value.  Basically when you have an 'm' the spacing adjustment is wider than 
    > when you have an 'i'.
    
    Well I haven't seen this behaviour in any typesetting system I know. 
    Letter spacing is spread evenly between letters. Otherwise, typesetting 
    will look even more ugly (if we assume that letter spacing usually look 
    enough ugly itself).
    
    > In KOffice we intend to use the percentage based letter spacing adjustment and 
    > we were surprised reading the spec (and trying out OOo) that this is not 
    > possible.  Would it be possible to adjust the spec to also allow percentage 
    > based values?
    
    I'm probably missing something, but what this percentage value should 
    mean. If it is used, how is space between letters calculated?
    
    Also please note that XSL-FO actually provides means for specifying 
    letter-space in terms of range using letter-spacing.mininum="1pt" and 
    letter-spacing.maximum="3pt". But to my knowledge ODF doesn't inherited 
    this feature of XSL-FO.
    
    -- 
    ------------------------------------------------------------------
       Jirka Kosek      e-mail: jirka@kosek.cz      http://xmlguru.cz
    ------------------------------------------------------------------
            Professional XML consulting and training services
       DocBook customization, custom XSLT/XSL-FO document processing
    ------------------------------------------------------------------
      OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 member
    ------------------------------------------------------------------
    
    


  • 3.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-08-2008 16:20
    On Thursday 5. June 2008 23:29:21 Jirka Kosek wrote:
    > Thomas Zander wrote:
    > > In ODF the letter spacing attribute specifies the amount of space between
    > > letters. This is the way that XSL does things and this is fine for things
    > > like webpages.
    >
    > I don't think that authors of XSL-FO will agree with your statement
    > about XSL-FO being for webpages ;-)
    
    I never meant to imply or say its only for webpages.
     I just meant the XSL-FO current featureset is more than enough for webpages 
    so I can understand why nobody added percent based spacing, but we need 
    something more in KOffice than what ODF currently supports.
    
    > > Unfortunately for DTP applications this is not really what is expected.
    > > The spacing between characters in DTP is not a static value, it is a
    > > percentage value.  Basically when you have an 'm' the spacing adjustment
    > > is wider than when you have an 'i'.
    >
    > Well I haven't seen this behaviour in any typesetting system I know.
    > Letter spacing is spread evenly between letters. Otherwise, typesetting
    > will look even more ugly (if we assume that letter spacing usually look
    > enough ugly itself).
    
    I'm not sure what to say, which typesetting systems did you check?  In my
    experience with FrameMaker and InDesign they both have percentage based
    letter spacing.  Did you check those apps?
    
    > > In KOffice we intend to use the percentage based letter spacing
    > > adjustment and we were surprised reading the spec (and trying out OOo)
    > > that this is not possible.  Would it be possible to adjust the spec to
    > > also allow percentage based values?
    >
    > I'm probably missing something, but what this percentage value should
    > mean. If it is used, how is space between letters calculated?
    
    The difference is less about the actual difference in layouting (though it is 
    important) its more about the different way of using. (UseCase)
    A common goal the user has in mind when he adjusts the letter-spacing in 
    typesetting is to make it possible to make a word fit on a line, to avoid 
    hyphenation for example.
    In percent based letter spacing effectively adjusts the width of the whole 
    selected region in, well, a percentage of the effective width.
    So if you have a sentence that has a text width of 100 and you apply a 97% 
    letter spacing to it the text will end up being 97.  Irregardless of the 
    amount of characters on the line.
    In contrast, if you use absolute spacing the actual width of the line is 
    dependent on the amount of characters on the line. So having a lot of 'i's 
    (i.e. thin characters) means the blackness of the text is different then when 
    the same absolute adjustment is applied to a lot of 'm's.
    
    Note that I'm not saying that one method is good and one method is bad. Qt4 
    supports both, and from a user perspective I think KOffice should use the 
    percent based one. Its just easier to use and more in line with what users 
    want to achieve.
    
    Thanks for your feedback, I didn't realize there are more typography lovers on 
    this list ;)
    -- 
    Thomas Zander
    


  • 4.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-08-2008 20:58
    Thomas Zander wrote:
    
    > The difference is less about the actual difference in layouting (though it is 
    > important) its more about the different way of using. (UseCase)
    > A common goal the user has in mind when he adjusts the letter-spacing in 
    > typesetting is to make it possible to make a word fit on a line, to avoid 
    > hyphenation for example.
    > In percent based letter spacing effectively adjusts the width of the whole 
    > selected region in, well, a percentage of the effective width.
    > So if you have a sentence that has a text width of 100 and you apply a 97% 
    > letter spacing to it the text will end up being 97.  Irregardless of the 
    > amount of characters on the line.
    
    I can understand to your usecase, but I don't think that such 
    requirement should be expressed using fo:letter-spacing as this would 
    break "compatibility" with XSL-FO. Moreover, your usecase seems more as 
    a constraint on layout algorithm which can result in modification of 
    interletter space, but not vice versa.
    
    Maybe some completely new attribute like visual-compression="97" would 
    be more appropriate.
    
    > Note that I'm not saying that one method is good and one method is bad. Qt4 
    > supports both, and from a user perspective I think KOffice should use the 
    > percent based one. Its just easier to use and more in line with what users 
    > want to achieve.
    
    It's questionable. For example, I have never specified letter-spacing 
    using percentages before, I have been always specifying length directly.
    
    > Thanks for your feedback, I didn't realize there are more typography lovers on 
    > this list ;)
    
    Yep, I have spent my childhood with TeX ;-D
    
    -- 
    ------------------------------------------------------------------
       Jirka Kosek      e-mail: jirka@kosek.cz      http://xmlguru.cz
    ------------------------------------------------------------------
            Professional XML consulting and training services
       DocBook customization, custom XSLT/XSL-FO document processing
    ------------------------------------------------------------------
      OASIS DocBook TC member, W3C Invited Expert, ISO JTC1/SC34 member
    ------------------------------------------------------------------
    
    


  • 5.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-09-2008 11:14
    Hi Thomas,
    
    Thomas Zander wrote:
    > On Thursday 5. June 2008 23:29:21 Jirka Kosek wrote:
    >> Thomas Zander wrote:
    >>> Unfortunately for DTP applications this is not really what is expected.
    >>> The spacing between characters in DTP is not a static value, it is a
    >>> percentage value.  Basically when you have an 'm' the spacing adjustment
    >>> is wider than when you have an 'i'.
    >> Well I haven't seen this behaviour in any typesetting system I know.
    >> Letter spacing is spread evenly between letters. Otherwise, typesetting
    >> will look even more ugly (if we assume that letter spacing usually look
    >> enough ugly itself).
    > 
    > I'm not sure what to say, which typesetting systems did you check?  In my
    > experience with FrameMaker and InDesign they both have percentage based
    > letter spacing.  Did you check those apps?
    
    Do you really mean to add or decrease the space between characters 
    (that's what XSL-FO's letter-spacing does)? Or do you want to modify the 
    width of the characters that is used in layout calculations.
    
    That is, if I have an "a" in the text and the new attribute has the 
    value 95%, should then a space of 95% of the width of the "a" character 
    added as space between the "a" and the next letter? Or shall the 
    character box of the "a" that is used in layout calculation set to be 
    95% of the width of the "a" character, while the "a" character is 
    displayed with its usual width (100%)?
    
    I believe the later is the case.
    
    If that is the case, then I think it would be better to define a 
    different attribute than fo:letter-spacing, because that attribute 
    actually defines the space between characters. The new attribute could 
    be similar to the existing text:text-scale attribute, that actually 
    adjusts the width of characters. The only difference to your suggestion 
    seems to be that it scales the font width rather then only the layout 
    box of the character.
    
    If the attribute shall define the space between characters, then I think 
    we should anyway define a new attribute because of the compatibility to 
    XSL-FO that Jirka has mentioned already.
    
    Best regards
    
    Michael
    
    -- 
    Michael Brauer, Technical Architect Software Engineering
    StarOffice/OpenOffice.org
    Sun Microsystems GmbH             Nagelsweg 55
    D-20097 Hamburg, Germany          michael.brauer@sun.com
    http://sun.com/staroffice         +49 40 23646 500
    http://blogs.sun.com/GullFOSS
    
    Sitz der Gesellschaft: Sun Microsystems GmbH, Sonnenallee 1,
    	   D-85551 Kirchheim-Heimstetten
    Amtsgericht Muenchen: HRB 161028
    Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
    Vorsitzender des Aufsichtsrates: Martin Haering
    


  • 6.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-09-2008 13:18
    On Monday 9. June 2008 13:13:37 Michael Brauer - Sun Germany - ham02 - Hamburg 
    wrote:
    > Do you really mean to add or decrease the space between characters
    > (that's what XSL-FO's letter-spacing does)? Or do you want to modify the
    > width of the characters that is used in layout calculations.
    >
    > That is, if I have an "a" in the text and the new attribute has the
    > value 95%, should then a space of 95% of the width of the "a" character
    > added as space between the "a" and the next letter? Or shall the
    > character box of the "a" that is used in layout calculation set to be
    > 95% of the width of the "a" character, while the "a" character is
    > displayed with its usual width (100%)?
    >
    > I believe the later is the case.
    
    Yes, that is exactly right. Thanks for the explanation :)
    
    The glyph is not changed, the spacing used for it is.
    
    > If that is the case, then I think it would be better to define a
    > different attribute than fo:letter-spacing, because that attribute
    > actually defines the space between characters.
    
    Right, apps like InDesign call it 'tracking', most probably for that reason.
    
    > The new attribute could 
    > be similar to the existing text:text-scale attribute, that actually
    > adjusts the width of characters. The only difference to your suggestion
    > seems to be that it scales the font width rather then only the layout
    > box of the character.
    
    That is a different option, apps like InDesign or scribus have both on their 
    panels; both are in percentage but do different things.  My request is only 
    about the changing of space, my feature does not do anything to the rendering 
    of the glyph itself.
    
    > If the attribute shall define the space between characters, then I think
    > we should anyway define a new attribute because of the compatibility to
    > XSL-FO that Jirka has mentioned already.
    
    Yeah, I can understand that.  The only argument I have against it is that you 
    can't really have both at the same time. But I guess that most apps will 
    choose which one to support anyway...
    
    So; what about "text:tracking" with as argument a percentage value. (hope my 
    semi-random choice of 'text' namespace is appropriate ;)
    
    
    
    With the text;
    The text:tracking attribute specifies the adjustment of character width used 
    during the layout process. Tracking is very similar to letter-spacing and it 
    refers to the overall spacing of a text span.
    
    -- 
    Thomas Zander
    


  • 7.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-08-2008 17:20

    Thomas Zander <zander@kde.org> wrote on 06/05/2008 11:56:45 AM:

    > Hello TC,
    >
    > In ODF the letter spacing attribute specifies the amount of space between
    > letters. This is the way that XSL does things and this is fine for things
    > like webpages.
    > Unfortunately for DTP applications this is not really what is expected. The
    > spacing between characters in DTP is not a static value, it is a percentage
    > value.  Basically when you have an 'm' the spacing adjustment is wider than
    > when you have an 'i'.
    > In KOffice we intend to use the percentage based letter spacing
    > adjustment and
    > we were surprised reading the spec (and trying out OOo) that this is not
    > possible.  Would it be possible to adjust the spec to also allow percentage
    > based values?
    >
    > Which would add the <ref name="percent"/> and we end up with the following;
    >
    > <define name="style-text-properties-attlist" combine="interleave">
    >     <optional>
    >         <attribute name="fo:letter-spacing">
    >             <choice>
    >                 <ref name="length"/>
    >                 <value>normal</value>
    >                 <ref name="percent"/>
    >             </choice>
    >         </attribute>
    >     </optional>
    > </define>
    >

    I wonder if you already have the ability to do this with length?  Specifically, if I set length to be 0.5em, does this really mean that exactly 0.5em is added after every character?  Or does it mean that a nominal 0.5em is added, but the actual space applied is kerned according to typeface-specific ratios?

    In other words, don't we have a model where we specify nominal spacing in the markup and then kerning occurs as an implementation-dependent algorithm?

    -Rob


  • 8.  Re: [office] proposal; Amend fo:letter-spacing

    Posted 06-08-2008 21:36
    On Sunday 8. June 2008 19:21:11 robert_weir@us.ibm.com wrote:
    > In other words, don't we have a model where we specify nominal spacing in
    > the markup and then kerning occurs as an implementation-dependent
    > algorithm?
    
    Not sure if that is what we want as it makes it harder to make different apps 
    render the same doc similarly.
    
    But to answer your questions directly; no, its not possible to express an 
    alteration of line-width in percentage as an absolute value. Those just don't 
    map from one to the other.  See my other mail in this thread for an overview 
    of the concepts and I think it will become clear why.
    
    Cheers
    -- 
    Thomas Zander