[FOray-commit] SF.net SVN: foray: [10435] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2008-03-14 16:54:39
|
Revision: 10435
http://foray.svn.sourceforge.net/foray/?rev=10435&view=rev
Author: victormote
Date: 2008-03-14 09:54:45 -0700 (Fri, 14 Mar 2008)
Log Message:
-----------
Conform to axsl changes returning CharSequence instead of char[] for text items.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/java/org/foray/area/LeaderArea.java
trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberArea.java
trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationArea.java
trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationLastArea.java
trunk/foray/foray-areatree/src/java/org/foray/area/ScalingValueCitationArea.java
trunk/foray/foray-areatree/src/java/org/foray/area/TextArea.java
trunk/foray/foray-common/src/java/org/foray/common/XMLCharacter.java
trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java
trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFString.java
trunk/foray/foray-render/src/java/org/foray/render/PrintRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/Renderer.java
trunk/foray/foray-render/src/java/org/foray/render/awt/AWTRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/pcl/PCLRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/pdf/PDFRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/ps/PSRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/svg/SVGRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/txt/TXTRenderer.java
trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/LeaderArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/LeaderArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/LeaderArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -28,6 +28,8 @@
package org.foray.area;
+import org.foray.common.CharVector;
+
import org.axsl.area.AreaTreeException;
import org.axsl.common.value.LeaderAlignment;
import org.axsl.common.value.LeaderPattern;
@@ -322,14 +324,14 @@
/**
* {@inheritDoc}
*/
- public char[] getText() {
+ public CharSequence getText() {
return this.dotLeaderText();
}
/**
* {@inheritDoc}
*/
- public char[] dotLeaderText() {
+ public CharSequence dotLeaderText() {
/* Note that we are not concerned here with optimizing the size of the
* leader itself. That needs to be done prior to rendering. */
final int qtyCycles = qtyDotLeaderCycles();
@@ -345,7 +347,7 @@
leaderText[i] = ' ';
}
}
- return leaderText;
+ return new CharVector(leaderText);
}
/**
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -125,10 +125,10 @@
/**
* {@inheritDoc}
*/
- public char[] getText() {
+ public CharSequence getText() {
final String text = getPage().getFormattedNumber();
setProgressionDimension(getWordWidth(text));
- return text.toCharArray();
+ return text;
}
/**
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -132,7 +132,7 @@
/**
* {@inheritDoc}
*/
- public char[] getText() {
+ public CharSequence getText() {
final Area area = getAreaTree().firstNormalAreaReturned(traitRefId());
String text = null;
if (area == null) {
@@ -141,7 +141,7 @@
text = area.getPage().getFormattedNumber();
}
setProgressionDimension(getWordWidth(text));
- return text.toCharArray();
+ return text;
}
/**
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationLastArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationLastArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/PageNumberCitationLastArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -133,7 +133,7 @@
/**
* {@inheritDoc}
*/
- public char[] getText() {
+ public CharSequence getText() {
final Area area = getAreaTree().firstNormalAreaReturned(traitRefId());
String text = null;
if (area == null) {
@@ -142,7 +142,7 @@
text = area.getPage().getFormattedNumber();
}
setProgressionDimension(getWordWidth(text));
- return text.toCharArray();
+ return text;
}
/**
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/ScalingValueCitationArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/ScalingValueCitationArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/ScalingValueCitationArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -133,10 +133,10 @@
/**
* {@inheritDoc}
*/
- public char[] getText() {
+ public CharSequence getText() {
final String text = getPage().getFormattedNumber();
setProgressionDimension(getWordWidth(text));
- return text.toCharArray();
+ return text;
}
/**
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/TextArea.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/TextArea.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/TextArea.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -28,6 +28,7 @@
package org.foray.area;
+import org.foray.common.CharVector;
import org.foray.common.WKConstants;
import org.foray.common.XMLCharacter;
@@ -276,7 +277,7 @@
*
* @return The text to be used in the output document.
*/
- public char[] getText() {
+ public CharSequence getText() {
final CharSequence rawText = this.getTextContent().getAreaTreeText(this);
// Count of whitespace that should be ignored at start of array.
final int ignoreAtStart = ignoreAtStart(rawText, this.backingOffset,
@@ -288,7 +289,7 @@
traitWhiteSpaceTreatment());
if (ignoreAtStart + ignoreAtEnd >= this.backingSize) {
// In case it was all whitespace, which shouldn't happen
- return new char[0];
+ return WKConstants.EMPTY_STRING;
}
int arraySize = this.backingSize - ignoreAtStart - ignoreAtEnd;
final int hyphenChar = this.traitHyphenationCharacter();
@@ -320,7 +321,7 @@
returnChars[i] = java.lang.Character.toUpperCase(c);
}
}
- return returnChars;
+ return new CharVector(returnChars);
}
/**
@@ -568,9 +569,9 @@
*/
public int countSpaces() {
int spaceCount = 0;
- final char[] text = this.getText();
- for (int i = 0; i < text.length; i++) {
- if (wordSpacingApplies(text[i])) {
+ final CharSequence text = this.getText();
+ for (int i = 0; i < text.length(); i++) {
+ if (wordSpacingApplies(text.charAt(i))) {
spaceCount ++;
}
}
@@ -606,7 +607,7 @@
* letter-spacing may need to be turned off for spaces with specific
* widths, like the 1/3 em space, etc. */
int letterCount = 0;
- letterCount += this.getText().length;
+ letterCount += this.getText().length();
letterCount -= this.countSpaces();
return letterCount;
}
@@ -680,9 +681,9 @@
*/
private int recomputeProgressionDimension() {
int pd = 0;
- final char[] text = getText();
- for (int i = 0; i < getText().length; i++) {
- final char c = text[i];
+ final CharSequence text = getText();
+ for (int i = 0; i < getText().length(); i++) {
+ final char c = text.charAt(i);
final boolean lastCharOnLine = false;
pd += charWidth(c, lastCharOnLine);
}
Modified: trunk/foray/foray-common/src/java/org/foray/common/XMLCharacter.java
===================================================================
--- trunk/foray/foray-common/src/java/org/foray/common/XMLCharacter.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-common/src/java/org/foray/common/XMLCharacter.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -665,13 +665,13 @@
* @param rawText The raw text which should be expanded.
* @return The text containing the expanded entities.
*/
- public static char[] expandEntityReferences(final char[] rawText) {
+ public static CharSequence expandEntityReferences(final CharSequence rawText) {
if (rawText == null) {
return null;
}
boolean changesNeeded = false;
- for (int i = 0; i < rawText.length && ! changesNeeded; i++) {
- final char c = rawText[i];
+ for (int i = 0; i < rawText.length() && ! changesNeeded; i++) {
+ final char c = rawText.charAt(i);
if (XMLCharacter.isEntityReference(c)) {
changesNeeded = true;
}
@@ -679,7 +679,7 @@
if (! changesNeeded) {
return rawText;
}
- final StringBuilder buffer = new StringBuilder(new String(rawText));
+ final StringBuilder buffer = new StringBuilder(rawText);
for (int i = 0; i < buffer.length(); i++) {
final char c = buffer.charAt(i);
if (XMLCharacter.isEntityReference(c)) {
@@ -689,7 +689,7 @@
i += expanded.length() - 1;
}
}
- return buffer.toString().toCharArray();
+ return buffer.toString();
}
}
Modified: trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java
===================================================================
--- trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFContentStream.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -111,7 +111,7 @@
/**
* {@inheritDoc}
*/
- public synchronized void drawText(final String text, final boolean kern) {
+ public synchronized void drawText(final CharSequence text, final boolean kern) {
if (text.length() < 1) {
return;
}
Modified: trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFString.java
===================================================================
--- trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFString.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-pdf/src/java/org/foray/pdf/object/PDFString.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -89,7 +89,7 @@
* @return The String that should actually be written into the PDF to show
* the input text.
*/
- public static String textToPdf(final String theString,
+ public static String textToPdf(final CharSequence theString,
final FontUse fontUse, final boolean kerningActive) {
final Font font = fontUse.getFont();
final StringBuilder buffer = new StringBuilder();
Modified: trunk/foray/foray-render/src/java/org/foray/render/PrintRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/PrintRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/PrintRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -193,7 +193,7 @@
return;
}
if (area.traitLeaderPattern() == LeaderPattern.DOTS) {
- final char[] text = area.dotLeaderText();
+ final CharSequence text = area.dotLeaderText();
if (text == null) {
return;
}
@@ -242,7 +242,7 @@
* {@inheritDoc}
*/
public void render(final TextArea area) {
- final char[] text = area.getText();
+ final CharSequence text = area.getText();
renderGenericSpace(area);
renderTextSegment(area, text);
}
Modified: trunk/foray/foray-render/src/java/org/foray/render/Renderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/Renderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/Renderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -481,7 +481,7 @@
* @param text The text content to be rendered.
*/
public abstract void renderTextSegment(TextArea area,
- char[] text);
+ CharSequence text);
/**
* {@inheritDoc}
Modified: trunk/foray/foray-render/src/java/org/foray/render/awt/AWTRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/awt/AWTRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/awt/AWTRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -568,7 +568,7 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
+ final CharSequence text) {
final FontUse font = area.getPrimaryFont();
final int size = area.traitFontSize();
@@ -592,7 +592,7 @@
final int rx = area.crOriginX();
final int bl = area.crOriginY();
- final String s = String.copyValueOf(text);
+ final String s = text.toString();
final Color oldColor = this.graphics.getColor();
final java.awt.Font oldFont = this.graphics.getFont();
Modified: trunk/foray/foray-render/src/java/org/foray/render/pcl/PCLRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/pcl/PCLRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/pcl/PCLRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -675,7 +675,7 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
+ final CharSequence text) {
/* TODO: Implement this. */
// Font font = area.getResolvedFont();
Modified: trunk/foray/foray-render/src/java/org/foray/render/pdf/PDFRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/pdf/PDFRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/pdf/PDFRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -328,8 +328,8 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
- if (text == null || text.length < 1) {
+ final CharSequence text) {
+ if (text == null || text.length() < 1) {
return;
}
@@ -351,7 +351,7 @@
final FontUse primaryFont = area.getPrimaryFont();
FontUse currentFont = primaryFont;
int startIndex = 0;
- for (int i = 0; i < text.length; i++) {
+ for (int i = 0; i < text.length(); i++) {
final int codePoint = Character.codePointAt(text, i);
if (Character.isSupplementaryCodePoint(codePoint)) {
i++;
@@ -369,9 +369,9 @@
currentFont = newFont;
}
}
- if (startIndex < text.length) {
+ if (startIndex < text.length()) {
paintText(area, currentFont, text, startIndex,
- text.length - startIndex, area.kern());
+ text.length() - startIndex, area.kern());
}
}
@@ -428,7 +428,7 @@
* @param kern Indicates whether the text should be kerned.
*/
private void paintText(final TextArea area, final FontUse fontUse,
- final char[] text, final int startIndex, final int size,
+ final CharSequence text, final int startIndex, final int size,
final boolean kern) {
if (size < 1) {
return;
@@ -436,7 +436,7 @@
getContentStream().setFont(fontUse, toPoints(area.traitFontSize()));
/* Paint the text. */
- final String textToWrite = new String(text, startIndex, size);
+ final CharSequence textToWrite = text.subSequence(startIndex, startIndex + size);
getContentStream().drawText(textToWrite, kern);
}
Modified: trunk/foray/foray-render/src/java/org/foray/render/ps/PSRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/ps/PSRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/ps/PSRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -868,8 +868,8 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
- if (text == null || text.length < 1) {
+ final CharSequence text) {
+ if (text == null || text.length() < 1) {
return;
}
final FontUse fontUse = area.getPrimaryFont();
@@ -878,7 +878,7 @@
useColor(area.traitColor());
write(moveTo(area));
StringBuilder sb = new StringBuilder();
- final String s = new String(text);
+ final String s = text.toString();
final int l = s.length();
for (int i = 0; i < l; i++) {
Modified: trunk/foray/foray-render/src/java/org/foray/render/svg/SVGRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/svg/SVGRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/svg/SVGRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -440,7 +440,7 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
+ final CharSequence text) {
/* TODO: Implement this. */
// char ch;
Modified: trunk/foray/foray-render/src/java/org/foray/render/txt/TXTRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/txt/TXTRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/txt/TXTRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -516,7 +516,7 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
+ final CharSequence text) {
/* TODO: Implement this. */
// int rx = this.currentXPosition;
Modified: trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java
===================================================================
--- trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java 2008-03-14 16:20:40 UTC (rev 10434)
+++ trunk/foray/foray-render/src/java/org/foray/render/xml/XMLRenderer.java 2008-03-14 16:54:45 UTC (rev 10435)
@@ -362,7 +362,7 @@
* {@inheritDoc}
*/
public void renderTextSegment(final TextArea area,
- final char[] text) {
+ final CharSequence text) {
/* TODO: Implement this. */
}
@@ -426,10 +426,9 @@
outputAttribute(fontBuffer, "size", area.traitFontSize());
this.writeEmptyElement("font", fontBuffer);
}
- final char[] rawText = area.getText();
- final char[] cookedText = XMLCharacter.expandEntityReferences(rawText);
- final String content = new String(cookedText);
- renderContent(content);
+ final CharSequence rawText = area.getText();
+ final CharSequence cookedText = XMLCharacter.expandEntityReferences(rawText);
+ renderContent(cookedText);
writeEndTag(area);
}
@@ -437,10 +436,10 @@
* Render the content part of an area.
* @param content The content to be rendered.
*/
- protected void renderContent(final String content) {
+ protected void renderContent(final CharSequence content) {
writeIndent();
this.writer.write("<content>");
- this.writer.write(content);
+ this.writer.write(content.toString());
this.writer.write("</content>\n");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|