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]