You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by "carles.loriente" <ca...@gmail.com> on 2006/11/06 18:11:52 UTC

Lists with inline and superscript

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 

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,
-- 
View this message in context: http://www.nabble.com/Lists-with-inline-and-superscript-tf2583700.html#a7202803
Sent from the FOP - Users mailing list archive at Nabble.com.


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


Re: Lists with inline and superscript

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Try using line-stacking-strategy="font-height" on the list-item. That
won't make the baseline dependant on the content.

BTW, you've got a bug in your example FO file: page-height="29,7cm" must
be page-height="29.7cm". See FOP's warning on the log.

On 07.11.2006 10:01:02 carles.loriente wrote:
> 
> Hi Manuel,
> 
> Thanks for your response, i undertand what you mean.
> 
> I'm a bit dissapointed because if i use subscript the line-height seems to
> be correct between item-label and item-body. Bad news because i'm forced to
> use superscript.
> 
> If you'll think some solution to override this issue, please let me know.
> 
> Cheers.
> 
> 
> 
> 
> Manuel Mall-2 wrote:
> > 
> > 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,


Jeremias Maerki


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


Re: Lists with inline and superscript

Posted by "carles.loriente" <ca...@gmail.com>.
Hi Manuel,

Thanks for your response, i undertand what you mean.

I'm a bit dissapointed because if i use subscript the line-height seems to
be correct between item-label and item-body. Bad news because i'm forced to
use superscript.

If you'll think some solution to override this issue, please let me know.

Cheers.




Manuel Mall-2 wrote:
> 
> 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
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Lists-with-inline-and-superscript-tf2583700.html#a7214741
Sent from the FOP - Users mailing list archive at Nabble.com.


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


Re: Lists with inline and superscript

Posted by Manuel Mall <ma...@apache.org>.
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