2016-07-19 4 views
0

サイズの異なるテキスト(Helvetica 6pt、右カラムTimes 8pt)をテーブルに書き込んでいますが、テキストのベースラインは揃っていません - 左のテキストは目に見えるほど高い右の列のものよりも。それはどうやっていいの? FOP 2.1を使用してください。異なるフォントサイズの表コンテンツのアラインメント

一方向にはline-height=...を追加することになりますが、現在の垂直間隔と同じになるように行高さを設定する必要がありますか?

もっと一般的な方法はありませんか?

<fo:block-container position="absolute" top="27mm" left="125mm" width="75mm" font-family="Times" font-size="8pt"> 
     <fo:table table-layout="fixed"> 
      <fo:table-column column-width="2.7cm"/> 
      <fo:table-column column-width="4cm"/> 
      <fo:table-body> 
       <fo:table-row> 
        <fo:table-cell> 
         <fo:block margin-top="12pt" font-size="6pt" font-family="Helvetica">Contact:</fo:block> 
        </fo:table-cell> 
        <fo:table-cell> 
         <fo:block margin-top="12pt">Normally me</fo:block> 
        </fo:table-cell> 
       </fo:table-row> 
       <fo:table-row> 
        <fo:table-cell> 
         <fo:block font-size="6pt">&#xa0;</fo:block> 
        </fo:table-cell> 
        <fo:table-cell> 
         <fo:block>Manager</fo:block> 
        </fo:table-cell> 
       </fo:table-row> 
       <fo:table-row> 
        <fo:table-cell> 
         <fo:block font-size="6pt" font-family="Helvetica">email:</fo:block> 
        </fo:table-cell> 
        <fo:table-cell> 
         <fo:block>[email protected]</fo:block> 
        </fo:table-cell> 
       </fo:table-row> 
      </fo:table-body> 
     </fo:table> 
    </fo:block-container> 

答えて

1

より多くの研究と、より多くの光パットコメント:line-height="inherit"

<fo:block font-size="6pt" font-family="Helvetica" line-height="inherit"> 

左の列 のすべてのブロックでは、どこにも明示的なラインサイズを指定せず、この場合にはそれをしません。

+0

XSL 1.1では 'line-size'は定義されていません。 –

+0

あなたは正しいと確信しています!私の悪いエラー、私は 'line-height'を意味しました、ありがとう。 –

1

両方の列が同じベースラインを共有するようにしたい場合は、説明しているように、8ポイントのTimes Romanは、行間隔(または行頭)を設定するものでなければなりません。 、あなたの小さいものではありません。

8ポイントタイムは、1つのベースラインから次のベースラインまでの8ポイントのデフォルトの先頭を期待しています。それよりも小さいものと上のラインからのその下降は、より低いラインの上のアセンダに衝突する危険性があります。そのため、隣の6ポイントのヘルベチカに合わせるためにラインのスペースを減らすことはできません。

左のテキストが右よりも上に出る場合は、グリフが最初にベースラインにドロップされてから配置されるためです。したがって、6ポイントのHelveticaは設定する前に6ポイントを落とします。 8ポイントタイムは設定する前に8ポイントを落とし、あなたはミスアライメントを見ています。列の中で最大の先行値があるかどうかを判断し、行間の適切な量を足して、他の列を一致させ、相互に整列させておく必要があります。しかし、あなたの小さな顔はやや空白に見えますが、テーブル行の中で最大のポイントサイズに合わせるようにしてください。

+0

ありがとう!私は実際にそれをしています - 'line-size =" inherit "は、' fo:block'を含む8pt Timesの高さを描画します。柱でサイズを個別に設定しても、偶然ではなく大きな外のサイズを簡単に継承できれば、それは違って見えるかもしれません。 –

+0

もちろん私はline-sizeの代わりに 'line-height'を意味しました –

関連する問題