Преглед изворни кода

FOP-2194: optimize lazy font load invocation for hot methods

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1435344 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_0
Glenn Adams пре 11 година
родитељ
комит
4efdc589aa
2 измењених фајлова са 24 додато и 7 уклоњено
  1. 21
    7
      src/java/org/apache/fop/fonts/LazyFont.java
  2. 3
    0
      status.xml

+ 21
- 7
src/java/org/apache/fop/fonts/LazyFont.java Прегледај датотеку

@@ -153,7 +153,9 @@ public class LazyFont extends Typeface implements FontDescriptor, Substitutable,
* {@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 implements FontDescriptor, Substitutable,
* {@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 implements FontDescriptor, Substitutable,
* {@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 implements FontDescriptor, Substitutable,
*/
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 implements FontDescriptor, Substitutable,
* {@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 implements FontDescriptor, Substitutable,
*/
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 implements FontDescriptor, Substitutable,
*/
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);

+ 3
- 0
status.xml Прегледај датотеку

@@ -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>

Loading…
Откажи
Сачувај