[ https://issues.apache.org/jira/browse/FOP-2655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15547678#comment-15547678 ]
Nutchanon Wetchasit commented on FOP-2655: ------------------------------------------ Well, the full XSL-FO code (and relevant rendering script, together with the affected PDF) is in the test file linked at the end of first post. In case that is insufficient, I have now edited original post to include the relevant XSL-FO paragraph of each example. > `<fo:block>` hyphenation introduced unwanted dash characters > ------------------------------------------------------------ > > Key: FOP-2655 > URL: https://issues.apache.org/jira/browse/FOP-2655 > Project: FOP > Issue Type: Bug > Affects Versions: 2.1 > Environment: DocBook XML DTD: 4.2 > DocBook XSL: 1.79.1 > XSLT Processor: XSLTproc 1.1.28 > XSL-FO Processor: Apache FOP 2.1 > Runtime: Cygwin 1.7.28 32-bit > JRE: 1.7.0 update 10 > System: Microsoft Windows XP Professional SP3 > Reporter: Nutchanon Wetchasit > Labels: hyphenation > > This problem was originally reported at: > [https://sourceforge.net/p/docbook/bugs/1386/] > I have used Apache FOP for formatting XSL-FO output of my technical book's > DocBook XSL rendering for quite some time without major problem. But as soon > as I turned on hyphenation wrapping option of _preformatted_ paragraph, which > its text contains example command line invocation, a nasty problem arose: > Original text: > {noformat} > command -S -longeropt -thisisaverylongprogramoption -optionwitharg "ARGUMENT" > FILENAME1 FILENAME2 > {noformat} > XSL-FO paragraph: > {noformat} > <fo:block id="idm1201955836" wrap-option="wrap" > hyphenation-character="»" text-align="start" > space-before.minimum="0.8em" space-before.optimum="1em" > space-before.maximum="1.2em" space-after.minimum="0.8em" > space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" > white-space-collapse="false" white-space-treatment="preserve" > linefeed-treatment="preserve" > font-family="monospace">command ­-S ­-longeropt ­-thisisaverylongprogramoption ­-optionwitharg ­"ARGUMENT" ­FILENAME1 ­FILENAME2</fo:block> > {noformat} > Expected rendering output is something like: > {noformat} > command -S -longeropt -thisisaverylongprogramoption -optionwitharg >> > "ARGUMENT" FILENAME1 FILENAME2 > {noformat} > (Configured hyphenation symbol is ">>" a.k.a. "»" {{U+00BB}}) > But the actual PDF rendering output is: > {noformat} > command --S --longeropt --thisisaverylongprogramoption -- > optionwitharg -"ARGUMENT" FILENAME1 FILENAME2 > {noformat} > You would see that: > - An extra dash is added in front of every word that originally have dash or > quote in front of it. > - There is no expected hyphenation symbol shown at the end of wrapped line. > This results in an invalid command line example that could not be used. > But the behavior is not consistent throughout all kind of text. For example, > if I simply removed dashes and quotes from the source text, the paragraph > would now format correctly: > Original text: > {noformat} > command S longeropt thisisaverylongprogramoption optionwitharg ARGUMENT > FILENAME1 FILENAME2 > {noformat} > XSL-FO paragraph: > {noformat} > <fo:block id="idm1203103004" wrap-option="wrap" > hyphenation-character="»" text-align="start" > space-before.minimum="0.8em" space-before.optimum="1em" > space-before.maximum="1.2em" space-after.minimum="0.8em" > space-after.optimum="1em" space-after.maximum="1.2em" hyphenate="false" > white-space-collapse="false" white-space-treatment="preserve" > linefeed-treatment="preserve" > font-family="monospace">command ­S ­longeropt ­thisisaverylongprogramoption ­optionwitharg ­ARGUMENT ­FILENAME1 ­FILENAME2</fo:block> > {noformat} > The actual PDF rendering output is: > {noformat} > command S longeropt thisisaverylongprogramoption optionwitharg >> > ARGUMENT FILENAME1 FILENAME2 > {noformat} > You would see that: > - There is no extra dash added. > - Expected hyphenation symbol is now shown at the end of wrapped line. > Example DocBook XML-based test files (including full XSL-FO code, and > PDF output) of above cases could be found at > [http://www.mediafire.com/?2pnw0atgetd5may]. > Inside, the first case could be found as `programlisting-extradash.*`, > and second case could be found as `programlisting-extradash-nopunc.*`; > Note: XSL-FO files in the link are encoded in UTF-8 and use nonprintable > special characters. The quoted version (shown above) have them > substituted with relevant numeric entities to improve readability. > The rendered PDF result, in any case, is the same. -- This message was sent by Atlassian JIRA (v6.3.4#6332)