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 pi...@apache.org on 2003/03/02 14:04:16 UTC
cvs commit: xml-fop/src/org/apache/fop/fo FOText.java
pietsch 2003/03/02 05:04:16
Modified: src/org/apache/fop/fo Tag: fop-0_20_2-maintain FOText.java
Log:
Fixed destructive data mangling while preparing text for small-caps
font variation. The fix is simplisitc and can cause small caps
text to be expensive in terms of memory consumption and processing
time.
PR: 1171
Revision Changes Path
No revision
No revision
1.24.2.8 +6 -3 xml-fop/src/org/apache/fop/fo/FOText.java
Index: FOText.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/FOText.java,v
retrieving revision 1.24.2.7
retrieving revision 1.24.2.8
diff -u -r1.24.2.7 -r1.24.2.8
--- FOText.java 25 Feb 2003 12:56:54 -0000 1.24.2.7
+++ FOText.java 2 Mar 2003 13:04:15 -0000 1.24.2.8
@@ -209,6 +209,7 @@
// parse text for upper/lower case and call addRealText
char c;
+ char newdata[] = new char[end];
boolean isLowerCase;
int caseStart;
FontState fontStateToUse;
@@ -221,7 +222,9 @@
== (java.lang.Character.isLetter(c)
&& java.lang.Character.isLowerCase(c))) {
if (isLowerCase) {
- data[i] = java.lang.Character.toUpperCase(c);
+ newdata[i] = java.lang.Character.toUpperCase(c);
+ } else {
+ newdata[i] = c;
}
i++;
if (i == end)
@@ -235,7 +238,7 @@
}
int index = addRealText(ba, fontStateToUse, red, green, blue,
wrapOption, ls, whiteSpaceCollapse,
- data, caseStart, i, textState,
+ newdata, caseStart, i, textState,
vAlign);
if (index != -1) {
return index;
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org