You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by ga...@apache.org on 2013/01/12 06:59:09 UTC

svn commit: r1432383 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/render/intermediate/IFRenderer.java status.xml

Author: gadams
Date: Sat Jan 12 05:59:08 2013
New Revision: 1432383

URL: http://svn.apache.org/viewvc?rev=1432383&view=rev
Log:
FOP-2184: optimize inefficient position adjustment array allocation in non-CS path.

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFRenderer.java
    xmlgraphics/fop/trunk/status.xml

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFRenderer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFRenderer.java?rev=1432383&r1=1432382&r2=1432383&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFRenderer.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/intermediate/IFRenderer.java Sat Jan 12 05:59:08 2013
@@ -1048,12 +1048,16 @@ public class IFRenderer extends Abstract
 
         int[][] dp = word.getGlyphPositionAdjustments();
         if ( dp == null ) {
-            dp = IFUtil.convertDXToDP ( word.getLetterAdjustArray() );
+            renderTextWithAdjustments(s, word.getLetterAdjustArray(), word.isReversed(),
+                    font, (AbstractTextArea)word.getParentArea());
+        } else if ( IFUtil.isDPOnlyDX ( dp ) ) {
+            renderTextWithAdjustments(s, IFUtil.convertDPToDX ( dp ), word.isReversed(),
+                    font, (AbstractTextArea)word.getParentArea());
+        } else {
+            renderTextWithAdjustments(s, dp, word.isReversed(),
+                    font, (AbstractTextArea)word.getParentArea());
         }
 
-        renderText(s, dp, word.isReversed(),
-                font, (AbstractTextArea)word.getParentArea());
-
         super.renderWord(word);
     }
 
@@ -1063,7 +1067,7 @@ public class IFRenderer extends Abstract
         String s = space.getSpace();
 
         AbstractTextArea textArea = (AbstractTextArea)space.getParentArea();
-        renderText(s, null, false, font, textArea);
+        renderTextWithAdjustments(s, (int[]) null, false, font, textArea);
 
         if (textUtil.combined && space.isAdjustable()) {
             //Used for justified text, for example
@@ -1076,17 +1080,6 @@ public class IFRenderer extends Abstract
         super.renderSpace(space);
     }
 
-    private void renderText(String s,
-                              int[][] dp, boolean reversed,
-                              Font font, AbstractTextArea parentArea) {
-        if ( ( dp == null ) || IFUtil.isDPOnlyDX ( dp ) ) {
-            int[] dx = IFUtil.convertDPToDX ( dp );
-            renderTextWithAdjustments ( s, dx, reversed, font, parentArea );
-        } else {
-            renderTextWithAdjustments ( s, dp, reversed, font, parentArea );
-        }
-    }
-
     /**
      * Does low-level rendering of text using DX only position adjustments.
      * @param s text to render
@@ -1154,12 +1147,14 @@ public class IFRenderer extends Abstract
         }
 
         void adjust(int dx) {
-            adjust ( new int[] {
-                    dx,                         // xPlaAdjust
-                    0,                          // yPlaAdjust
-                    dx,                         // xAdvAdjust
-                    0                           // yAdvAdjust
-                } );
+            if (dx != 0) {
+                adjust ( new int[] {
+                        dx,                         // xPlaAdjust
+                        0,                          // yPlaAdjust
+                        dx,                         // xAdvAdjust
+                        0                           // yAdvAdjust
+                    } );
+            }
         }
 
         void adjust(int[] pa) {

Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1432383&r1=1432382&r2=1432383&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Sat Jan 12 05:59:08 2013
@@ -59,6 +59,9 @@
       documents. Example: the fix of marks layering will be such a case when it's done.
     -->
     <release version="FOP Trunk" date="TBD">
+      <action context="Renderers" dev="GA" type="fix" fixes-bug="FOP-2184" due-to="Luis Bernardo">
+       Optimize inefficient position adjustment array allocation in non-CS path.
+      </action>
       <action context="Fonts" dev="PH" type="add" fixes-bug="FOP-2180" due-to="Alexey Neyman">
        TTFReader: Output bounding box information for glyphs. 
       </action>



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org