OASIS Open Document Format for Office Applications (OpenDocument) TC

 View Only

Proposal for borders as a text property

  • 1.  Proposal for borders as a text property

    Posted 05-23-2005 14:49
     MHonArc v2.5.0b2 -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    office message

    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


    Subject: Proposal for borders as a text property


    For section 15.4 :
    
    Border
    
    Use the border properties fo:border, fo:border-top, fo:border-bottom, fo:border-left and fo:border-right to specify 
    a border around text. See section 15.5.25 for detailed information on these attributes.
    
    <define name="style-text-properties-attlist" combine="interleave">
    	<ref name="common-border-attlist"/>
    </define>
    
    Border Line Width
    
    If the line style for a border is double, use the border line properties style:border-line-width, style:border-line-width-top, style:border-line-width-bottom, style:border-line-width-left and style:border-line-width-right to individually specify the width of the inner and outer lines and the distance between them.
    See section 15.5.26 for detailed information on those properties.
    
    <define name="style-text-properties-attlist" combine="interleave">
    	<ref name="common-border-line-width-attlist"/>
    </define>
    
    ------------
    
    So far this looks simple and easy. But there's a catch.
    
    * Scenario 1: format changes inside a border
    
    Given the following paragraph:
        I say Hello World
    with a border around "Hello World" and "World" is in bold (see attached screenshot, from MSWord since
    it has that feature), then the XML would look like
    
    <text:p text:style-name="P1">I say <text:span text:style-name="T1">Hello <text:span text:style-name="T2">World</text:span></text:span></text:p>
    
    where T1 has fo:border, and T2 has fo:border as well as fo:font-weight.
    
    This means that the rendering must look for changes in border properties
    to know when to close the border: if T1 and T2 have the same borders, both spans
    must be inside the same rectangle.
    
    * Scenario 2: two borders next to each other.
    
    The above conclusion has the following consequence: it's impossible to have a
    border starting where another one just ended. Ah, but for instance MSWord doesn't
    allow to do that, it joins the two rectangles when trying to define them.
    If we agree with this behavior, then the above proposal works indeed.
    
    -- 
    David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
    Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).
    

    bordertest.jpg



    [Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]