That was quite ingenious, and it worked beautifully. Thanks for the
help. 

Eric Amick
Legislative Computer Systems
Office of the Clerk

-----Original Message-----
From: Vincent Hennebert [mailto:[EMAIL PROTECTED] 
Sent: Thursday, January 17, 2008 6:12
To: fop-users@xmlgraphics.apache.org
Subject: Re: Text Formatting Problem

Hi Eric,

Try something like the following:
    <block-container width="1.5in" space-after="-14.4pt">
      <block>Here is some really long text for testing.</block>
    </block-container>
    <table start-indent="1.5in" width="100%" table-layout="fixed">
      <table-column column-width="1.5in" number-columns-repeated="2"/>
      <table-body start-indent="0">
        <table-cell>
          <block>99999</block>
        </table-cell>
        <table-cell>
          <block>And now for some more text.</block>
        </table-cell>
      </table-body>
    </table>

The idea is to shift the table one line upwards by setting a negative
margin on the block-container. This negative margin should have the
value (font-size * 1.2) to match a regular line height.
A block-container is needed to set its width to 1.5in instead of the
page width. The table is then used for the two remaining columns, with
an appropriate start-indent to leave room to the first "column".

HTH,
Vincent


Amick, Eric wrote:
> I should have pointed out that the first and third columns can both 
> have more than two lines, and that I can't guarantee both columns will

> have the same number of lines.
> 
> Here's what I'm currently trying; this is a greatly simplified test:
> 
> <?xml version="1.0"?>
> <root xmlns="http://www.w3.org/1999/XSL/Format";>
>   <layout-master-set>
>     <simple-page-master page-height="11in" page-width="8.5in"
> margin-left="1in" margin-right="1in" margin-top="2in"
> margin-bottom="2in" master-name="foo">
>       <region-body/>
>     </simple-page-master>
>   </layout-master-set>
>   <page-sequence master-reference="foo">
>     <flow flow-name="xsl-region-body">
>       <table table-layout="fixed">
>         <table-column column-width="1.5in"
number-columns-repeated="3"/>
>         <table-body display-align="after">
>           <table-row>
>             <table-cell>
>               <block>Here is some really long text for
testing.</block>
>             </table-cell>
>             <table-cell>
>               <block>99999</block>
>             </table-cell>
>             <table-cell>
>               <block-container overflow="hidden"
wrap-option="no-wrap">
>                 <block>And now for some more text.</block>
>               </block-container>
>             </table-cell>
>           </table-row>
>           <table-row>
>             <table-cell column-number="3">
>               <block-container overflow="hidden"
> text-indent="-from-table-column(column-width)">
>                 <block>And now for some more text.</block>
>               </block-container>
>             </table-cell>
>           </table-row>
>           <table-row>
>             <table-cell>
>               <block>foo</block>
>             </table-cell>
>             <table-cell>
>               <block>88888</block>
>             </table-cell>
>             <table-cell>
>               <block>Some text.</block>
>             </table-cell>
>           </table-row>
>         </table-body>
>       </table>
>     </flow>
>   </page-sequence>
> </root>
> 
> 
> This is close to what I need, but it has two problems:
> 1) In the first table-row, the text in the third column gets clipped 
> in the middle of a letter during my testing, which is obviously 
> undesirable.
> 2) This method works only if you can generate the extra table-row for 
> a given entry only when needed. I tried the empty-cells="hide" 
> property on that extra row, but the spec says hide works only when 
> there is no visible content, which they define as being completely 
> empty or containing only whitespace. If you shorten the text going 
> into the third column, you'll see the extra row still appears even 
> though it contains nothing that prints on the page.
> 
> I wish there was some way to determine if a particular block was going

> to wrap, or to specify that only N lines of a wrapped block should be 
> displayed.
> 
> 
> Eric Amick
> Legislative Computer Systems
> Office of the Clerk
> 
> -----Original Message-----
> From: Andreas L Delmelle [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, January 15, 2008 16:40
> To: fop-users@xmlgraphics.apache.org
> Subject: Re: Text Formatting Problem
> 
> On Jan 15, 2008, at 18:03, Amick, Eric wrote:
> 
> Hi
> 
>> I have a three-column listing of phone numbers, and most of the time,

>> each column entry has only one line of text. Sometimes, however, I 
>> have entries that look like this:
>>
>> Text that spans
>>     two lines ...........  99999   More text that
>>                                              spans two lines
>>
>> In case the format gets garbled, the number in the second column 
>> should line up with the last line of text in the first column and the

>> first line of text in the third column. I've tried using 
>> display-align
> 
>> and vertical-align, but I can't come up with a way that works. Does 
>> anyone have any suggestions?

-- 
Vincent Hennebert                            Anyware Technologies
http://people.apache.org/~vhennebert         http://www.anyware-tech.com
Apache FOP Committer                         FOP Development/Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to