Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-2331

Padding on fo:inline ignored when computing justification spacing on a line

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.1
    • None
    • renderer/pdf
    • 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>

      Attachments

        1. wrong_rendering.png
          36 kB
          Maria Lowas

        Activity

          People

            Unassigned Unassigned
            Maria Lowas Maria Lowas
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: