AHF格式化程序:防止用于带连字符的单词的换行符

时间:2016-03-07 13:58:23

标签: xsl-fo hyphenation

是否可以使用Antenna House Formatter防止连字词(XML内容)中的换行符?我想到了RegEx的解决方案,但不知道AHF是否可以实现这一点。

E.g。作者提供以下内容:<paragraph>the film we are producing is a very low-budget one</paragraph>

在这种情况下,我希望将“低预算”这个词保持在一起(就像在stackoverflow上一样)。但AHF将其显示为低 - (第1行)和预算(第2行)。

1 个答案:

答案 0 :(得分:3)

有多种选择:

  • 使用[XmlAttribute]关闭连字符(https://www.w3.org/TR/xsl11/#hyphenate)。由于hyphenate="false"是其初始值,因此您的问题意味着您已启用连字符并且确实想要连字符。

  • 如果您确实有false来启用连字符,则可以使用hyphenate="true"替换现有带连字符的单词中的-(U + 2011,非爆炸性的HYPHEN)或用&#x2011;fo:wrapper fo:inline包裹每个带连字符的单词。

    如果要用hyphenate="false"替换输出中的所有连字符,可以在XSLT(https://www.w3.org/TR/xslt20/#character-maps)中使用字符映射,否则可以有选择地替换如你所知,使用&#x2011;的角色。

    如果您使用replace()并且不希望在其他位置使用带连字符的单词连字符,则可能还希望使用&#x2011;https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.hyphenate-hyphenated-word)来阻止它。