[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, firstname.lastname@example.org, sponsored by Trolltech to work on KDE, Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).