Author: gadams
Date: Fri Jan 18 21:13:42 2013
New Revision: 1435344

URL: http://svn.apache.org/viewvc?rev=1435344&view=rev
Log:
FOP-2194: optimize lazy font load invocation for hot methods

Modified:
    xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/LazyFont.java
    xmlgraphics/fop/trunk/status.xml

Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/LazyFont.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/LazyFont.java?rev=1435344&r1=1435343&r2=1435344&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/LazyFont.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fonts/LazyFont.java Fri Jan 
18 21:13:42 2013
@@ -153,7 +153,9 @@ public class LazyFont extends Typeface i
      * {@inheritDoc}
      */
     public char mapChar(char c) {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         return realFont.mapChar(c);
     }
 
@@ -169,7 +171,9 @@ public class LazyFont extends Typeface i
      * {@inheritDoc}
      */
     public boolean hasChar(char c) {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         return realFont.hasChar(c);
     }
 
@@ -250,7 +254,9 @@ public class LazyFont extends Typeface i
      * {@inheritDoc}
      */
     public int getWidth(int i, int size) {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         return realFont.getWidth(i, size);
     }
 
@@ -384,7 +390,9 @@ public class LazyFont extends Typeface i
      */
     public CharSequence reorderCombiningMarks
         ( CharSequence cs, int[][] gpa, String script, String language ) {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         if ( realFontDescriptor instanceof Substitutable ) {
             return ((Substitutable)realFontDescriptor)
                 .reorderCombiningMarks(cs, gpa, script, language);
@@ -397,7 +405,9 @@ public class LazyFont extends Typeface i
      * {@inheritDoc}
      */
     public boolean performsPositioning() {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         if ( realFontDescriptor instanceof Positionable ) {
             return ((Positionable)realFontDescriptor).performsPositioning();
         } else {
@@ -410,7 +420,9 @@ public class LazyFont extends Typeface i
      */
     public int[][]
         performPositioning ( CharSequence cs, String script, String language, 
int fontSize ) {
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         if ( realFontDescriptor instanceof Positionable ) {
             return ((Positionable)realFontDescriptor)
                 .performPositioning(cs, script, language, fontSize);
@@ -424,7 +436,9 @@ public class LazyFont extends Typeface i
      */
     public int[][]
         performPositioning ( CharSequence cs, String script, String language ) 
{
-        load(true);
+        if ( !isMetricsLoaded ) {
+            load(true);
+        }
         if ( realFontDescriptor instanceof Positionable ) {
             return ((Positionable)realFontDescriptor)
                 .performPositioning(cs, script, language);

Modified: xmlgraphics/fop/trunk/status.xml
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?rev=1435344&r1=1435343&r2=1435344&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Fri Jan 18 21:13:42 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="Fonts" dev="GA" type="fix" fixes-bug="FOP-2194">
+       Optimize lazy font load invocation for hot methods.
+      </action>
       <action context="Code" dev="GA" type="fix" fixes-bug="FOP-2192">
        Fix checkstyle and findbugs warnings.
       </action>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to