次のように xsl-fo にテーブルを作成しました。
<fo:block margin-top="0.4cm">
<fo:table border-collapse="collapse">
<fo:table-column column-width="15%"
column-number="1" />
<fo:table-column column-width="16%"
column-number="2" />
<fo:table-column column-width="53%"
column-number="3" />
<fo:table-column column-width="16%"
column-number="4" />
<fo:table-header>
<fo:table-row>
<fo:table-cell padding="2px" font-size="7px">
<fo:block text-align="center" font-weight="bold">Column1
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" font-size="7px">
<fo:block text-align="center" font-weight="bold">Column2
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" font-size="7px">
<fo:block text-align="left" font-weight="bold">Column3
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" font-size="7px">
<fo:block text-align="center" font-weight="bold">Column4
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-header>
<fo:table-body font-size="9px">
<fo:table-row>
<fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
<fo:block text-align="center">
12345678910111213
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
<fo:block text-align="center">
some text
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
<fo:block text-align="left">
some text
</fo:block>
</fo:table-cell>
<fo:table-cell padding="2px" border="0.5pt solid #cfcfcf">
<fo:block text-align="right">
some text
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
</fo:block>
<fo:block padding-top="40px">
some text
</fo:block>
</fo:block>
Column1 の文字列 "12345678910111213" は、テーブル セルの境界を越えて書き込まれます。
文字列内の特定の文字数の後に、この列のテーブル セルで強制的に改行するにはどうすればよいですか?