Java PDF 格式中的 XSL-FO 断字
Java XSL-FO hyphenation in PDF formatting
我有一个 Java 程序可以生成一个 XML 文件,该文件被呈现为 PDF。问题是我似乎无法使用连字符。
我已经简要地阅读了https://www.w3.org/TR/xsl/#d0e26492,但我仍然不明白为什么我不能让我的文字连字符。我已经尝试在几乎所有块中插入 hyphenate="true"
,但诸如“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...”之类的字符串仍然超出范围。我也尝试设置 language
和 locale
,但我真的不在乎断字发生在哪里,任何地方都可以。
断字通常基于断字字典 and/or 一种匹配已知字母序列并仅在允许的地方断开单词的算法。不同的语言有不同的断字习惯,甚至美式英语和英式英语也有差异。
像“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...”这样的字符串不太可能匹配断字字典中的任何内容,因此实现不知道在哪里断开“单词”。
您可能想要一些类似于在 table 单元格中中断文本的解决方案;例如:
- XSL-FO: Force Wrap on Table Entries
- Wrap within table-cell with long word in FOP
我有一个 Java 程序可以生成一个 XML 文件,该文件被呈现为 PDF。问题是我似乎无法使用连字符。
我已经简要地阅读了https://www.w3.org/TR/xsl/#d0e26492,但我仍然不明白为什么我不能让我的文字连字符。我已经尝试在几乎所有块中插入 hyphenate="true"
,但诸如“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...”之类的字符串仍然超出范围。我也尝试设置 language
和 locale
,但我真的不在乎断字发生在哪里,任何地方都可以。
断字通常基于断字字典 and/or 一种匹配已知字母序列并仅在允许的地方断开单词的算法。不同的语言有不同的断字习惯,甚至美式英语和英式英语也有差异。
像“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...”这样的字符串不太可能匹配断字字典中的任何内容,因此实现不知道在哪里断开“单词”。
您可能想要一些类似于在 table 单元格中中断文本的解决方案;例如:
- XSL-FO: Force Wrap on Table Entries
- Wrap within table-cell with long word in FOP