Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.1
-
None
-
None
-
Linux, DocBook
Description
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>