Maria Lowas created FOP-2331: -------------------------------- Summary: Padding on fo:inline ignored when computing justification spacing on a line Key: FOP-2331 URL: https://issues.apache.org/jira/browse/FOP-2331 Project: Fop Issue Type: Bug Components: pdf Affects Versions: 1.1 Environment: Linux, DocBook Reporter: Maria Lowas Priority: Minor Attachments: wrong_rendering.png
It seems that the padding attribute on the fo:inline element is ignored when computing justification space on a line. Please have a look at the attached image to see the outcome - the background image for the link element is covered by the next characters and the line is not justified correctly. This problem does not occur for each instance of the external link in my docs. In other words, sometimes a line is justified correctly and sometimes its not. I was not able to find any regularity in this behaviour. I am using DocBook stylesheets version 1.75.1 with FOP 1.1. FOP is called from the shell script. My source XML is: <para>The <olink targetptr="client_push_notifications_api">push notifications Java Script API</olink> provides a way to register an application running on the client device for receiving the AMP Services Engine-originated ACF-based messages ("ACF Push"). To enable push notifications being sent by the notification service, it is necessary for the device to provide an up-to-date token to a matching service: <link role="external" xlink:href="http://developer.android.com/guide/google/gcm/index.html">Google Cloud Messaging</link> for Android and <link role="external" xlink:href="http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html" >Apple Push Notification Service</link> for iOS platform. Refer to the article entitled <olink targetptr="client_push_notifications_acf"/> for the configuration details.</para> my XSLT addition to the DocBook stylesheets: <xsl:attribute-set name="xref.properties"> <xsl:attribute name="color">#B64F0D</xsl:attribute> <xsl:attribute name="text-decoration"> <xsl:choose> <xsl:when test="@role = 'external'">underline</xsl:when> <xsl:otherwise>none</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="background-image"> <xsl:if test="@role = 'external'" >../../../sources/graphics/common/icon_external_orange_pdf.png</xsl:if> </xsl:attribute> <xsl:attribute name="padding-right"> <xsl:choose> <xsl:when test="@role ='external'">10pt</xsl:when> <xsl:otherwise>0pt</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="background-position-horizontal">right</xsl:attribute> <xsl:attribute name="background-repeat">no-repeat</xsl:attribute> </xsl:attribute-set> And the resulted FO document: <fo:block space-before.optimum="5pt" space-before.minimum="5pt" space-before.maximum="5pt">The <fo:basic-link internal-destination="client_push_notifications_api" color="#B64F0D" text-decoration="none" background-image="" padding-right="0pt" background-position-horizontal="right" background-repeat="no-repeat">push notifications Java Script API<fo:basic-link xmlns:rx="http://www.renderx.com/XSL/Extensions" internal-destination="client_push_notifications_api" color="#B64F0D" text-decoration="none" background-image="" padding-right="0pt" background-position-horizontal="right" background-repeat="no-repeat"><fo:inline color="#7E7E7E"> [<fo:page-number-citation ref-id="client_push_notifications_api" />]</fo:inline></fo:basic-link></fo:basic-link> provides a way to register an application running on the client device for receiving the AMP Services Engine-originated ACF-based messages ("ACF Push"). To enable push notifications being sent by the notification service, it is necessary for the device to provide an up-to-date token to a matching service: <fo:basic-link external-destination="url(http://developer.android.com/guide/google/gcm/index.html)" ><fo:inline color="#B64F0D" text-decoration="underline" background-image="../../../sources/graphics/common/icon_external_orange_pdf.png" padding-right="10pt" background-position-horizontal="right" background-repeat="no-repeat">Google Cloud Messaging</fo:inline></fo:basic-link> for Android and <fo:basic-link external-destination="url(http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html)" ><fo:inline color="#B64F0D" text-decoration="underline" background-image="../../../sources/graphics/common/icon_external_orange_pdf.png" padding-right="10pt" background-position-horizontal="right" background-repeat="no-repeat">Apple Push Notification Service</fo:inline></fo:basic-link> for iOS platform. Refer to the article entitled <fo:basic-link internal-destination="client_push_notifications_acf" color="#B64F0D" text-decoration="none" background-image="" padding-right="0pt" background-position-horizontal="right" background-repeat="no-repeat">AMP Services Engine-originated ACF-based notifications<fo:basic-link xmlns:rx="http://www.renderx.com/XSL/Extensions" internal-destination="client_push_notifications_acf" color="#B64F0D" text-decoration="none" background-image="" padding-right="0pt" background-position-horizontal="right" background-repeat="no-repeat"><fo:inline color="#7E7E7E"> [<fo:page-number-citation ref-id="client_push_notifications_acf" />]</fo:inline></fo:basic-link></fo:basic-link> for the configuration details.</fo:block> -- This message was sent by Atlassian JIRA (v6.1.5#6160)