AHF 格式化程序:防止带连字符的单词换行
AHF Formatter: Prevent line-break for hyphenated words
是否可以使用 Antenna House Formatter 防止连字符内的换行符(XML 内容)?我想到了使用 RegEx 的解决方案,但不知道 AHF 是否可行。
例如作者提供以下内容:<paragraph>the film we are producing is a very low-budget one</paragraph>
在这种情况下,我想将“low-budget”这个词放在一起(就像它在 Whosebug 上所做的那样)。但是 AHF 将其显示为 low-(第一行)和 budget(第二行)。
有多种选择:
使用 hyphenate="false"
关闭断字 (https://www.w3.org/TR/xsl11/#hyphenate)。由于 false
是它的初始值,您的问题暗示您已打开断字功能并且确实想对其他单词进行断字。
如果您确实有 hyphenate="true"
启用连字符,您可以将现有连字符中的 -
替换为 ‑
(U+2011,NON -BREAKING HYPHEN) 或用 fo:wrapper
或 fo:inline
包含 hyphenate="false"
.
的每个带连字符的单词
如果要将输出中的 all 连字符替换为 ‑
,可以在 XSLT (https://www.w3.org/TR/xslt20/#character-maps) 中使用字符映射,否则您可以按照您的建议有选择地使用 replace()
替换字符。
如果您使用 ‑
并且不希望连字词在其他点连字符,您可能还想通过使用 axf:hyphenate-hyphenated-word="false"
(https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.hyphenate-hyphenated-word) 来停止它。
是否可以使用 Antenna House Formatter 防止连字符内的换行符(XML 内容)?我想到了使用 RegEx 的解决方案,但不知道 AHF 是否可行。
例如作者提供以下内容:<paragraph>the film we are producing is a very low-budget one</paragraph>
在这种情况下,我想将“low-budget”这个词放在一起(就像它在 Whosebug 上所做的那样)。但是 AHF 将其显示为 low-(第一行)和 budget(第二行)。
有多种选择:
使用
hyphenate="false"
关闭断字 (https://www.w3.org/TR/xsl11/#hyphenate)。由于false
是它的初始值,您的问题暗示您已打开断字功能并且确实想对其他单词进行断字。如果您确实有
的每个带连字符的单词hyphenate="true"
启用连字符,您可以将现有连字符中的-
替换为‑
(U+2011,NON -BREAKING HYPHEN) 或用fo:wrapper
或fo:inline
包含hyphenate="false"
.如果要将输出中的 all 连字符替换为
‑
,可以在 XSLT (https://www.w3.org/TR/xslt20/#character-maps) 中使用字符映射,否则您可以按照您的建议有选择地使用replace()
替换字符。如果您使用
‑
并且不希望连字词在其他点连字符,您可能还想通过使用axf:hyphenate-hyphenated-word="false"
(https://www.antennahouse.com/product/ahf63/ahf-ext.html#axf.hyphenate-hyphenated-word) 来停止它。