xmlgraphics-fop-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manuel Mall <man...@apache.org>
Subject Re: Lists with inline and superscript
Date Tue, 07 Nov 2006 00:35:45 GMT
On Tuesday 07 November 2006 01:11, carles.loriente wrote:
> Hi,
>
> I just discovered (?) a issue in the list-block containing inline
> with vertical-align. The output shows <fo:list-item-label> and
> <fo:list-item-body> "putted out of line" (i'm not sure if this is the
> correct verb, sorry!!). I just checked with the list.fo example and
> the problem persists.
>
> You can see what i mean in this pdf
> http://www.nabble.com/file/3993/listinline.pdf listinline.pdf
>
Thank you for the example pdf and fo file.

After checking what the spec says about lists I believe fop is doing the 
right thing. Because in XSL-FO the list-item-label and the 
list-item-body elements create independent areas, that is they are 
defined using separate fo-block elements, there is no concept of a 
common baseline between those blocks. Because defining a 
superscript/subscript changes the line height for the block (you can 
see that more easily by giving all your blocks borders) and the 
position of the baseline, the labels are not anymore aligned with the 
list bodies. You can get the same effect by simply giving the label 
blocks different font sizes to the body blocks.

Not sure if there is a workaround available for this in the current fop 
version. XSL-FO defines the line-height-shift-adjustment property for 
such cases. This property controls line-height and baseline position 
changes in the presence of sub/superscripts. Unfortunately we don't 
support that property and your case is the first I came across on this 
list which would benefit from this property.

Manuel

> Here is the fo:
>
> <?xml version="1.0" encoding="utf-8"?>
>
> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
>
>   <fo:layout-master-set>
>
>     <!-- layout for the first page -->
>     <fo:simple-page-master master-name="first"
>           page-height="29,7cm"
>           page-width="21cm"
>           margin-top="1cm"
>           margin-bottom="2cm"
>           margin-left="2.5cm"
>           margin-right="2.5cm">
>       <fo:region-body margin-top="3cm"/>
>       <fo:region-before extent="3cm"/>
>       <fo:region-after extent="1.5cm"/>
>     </fo:simple-page-master>
>
> <fo:page-sequence-master master-name="basicPSM" >
>   <fo:repeatable-page-master-alternatives>
>     <fo:conditional-page-master-reference master-reference="first"
>       page-position="first" />
>   </fo:repeatable-page-master-alternatives>
> </fo:page-sequence-master>
>
>   </fo:layout-master-set>
>   <!-- end: defines page layout -->
>
>   <!-- actual layout -->
>   <fo:page-sequence master-reference="basicPSM">
>
>     <!-- header -->
>     <fo:static-content flow-name="xsl-region-before">
>       <fo:block text-align="end"
>             font-size="10pt"
>             font-family="serif"
>             line-height="14pt" >
>         Generated with latest trunk - 6/11/2006
>       </fo:block>
>     </fo:static-content>
>
>     <fo:flow flow-name="xsl-region-body">
>
> 			<fo:list-block space-after.conditionality="retain"
> font-size="9.5pt" line-height="15.35pt" text-align="justify"
> space-after="0pt" provisional-distance-between-starts="6mm">
> 				<fo:list-item>
> 					<fo:list-item-label end-indent="label-end()">
> 						<fo:block font-weight="bold">1)</fo:block>
> 					</fo:list-item-label>
> 					<fo:list-item-body start-indent="body-start()">
> 						<fo:block space-after.conditionality="retain"
> space-after="15.35pt">First item without inline</fo:block>
> 					</fo:list-item-body>
> 				</fo:list-item>
>
> 				<fo:list-item>
> 					<fo:list-item-label end-indent="label-end()">
> 						<fo:block font-weight="bold">2)</fo:block>
> 					</fo:list-item-label>
> 					<fo:list-item-body start-indent="body-start()">
> 						<fo:block space-after.conditionality="retain"
> space-after="15.35pt">Second item with one inline with
> vertical-align="super" <fo:inline vertical-align="super"
> font-size="6pt">word</fo:inline></fo:block>
> 					</fo:list-item-body>
> 				</fo:list-item>
>
> 				<fo:list-item>
> 					<fo:list-item-label end-indent="label-end()">
> 						<fo:block font-weight="bold">3)</fo:block>
> 					</fo:list-item-label>
> 					<fo:list-item-body start-indent="body-start()">
> 						<fo:block space-after.conditionality="retain"
> space-after="15.35pt">Third item with one inline with
> vertical-align="sub" <fo:inline vertical-align="sub"
> font-size="6pt">inline</fo:inline></fo:block>
> 					</fo:list-item-body>
> 				</fo:list-item>
>
> 			</fo:list-block>
>
>     </fo:flow>
>   </fo:page-sequence>
> </fo:root>
>
>
> Cheers,

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Mime
View raw message