pbwest 2004/05/27 08:38:15
Modified: src/java/org/apache/fop/fo/flow Tag: FOP_0-20-0_Alt-Design
FoPcdata.java
Log:
Get fontData object from foTree.
Construct attriute map for font, getFopFont based on
atribute map, add text decorations to
Revision Changes Path
No revision
No revision
1.1.2.12 +28 -6 xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoPcdata.java
Index: FoPcdata.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Attic/FoPcdata.java,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -r1.1.2.11 -r1.1.2.12
--- FoPcdata.java 25 May 2004 15:24:10 -0000 1.1.2.11
+++ FoPcdata.java 27 May 2004 15:38:15 -0000 1.1.2.12
@@ -20,8 +20,12 @@
package org.apache.fop.fo.flow;
// FOP
+import java.awt.Font;
+import java.awt.font.TextAttribute;
+import java.text.AttributedString;
import java.util.Arrays;
import java.util.BitSet;
+import java.util.Map;
import org.apache.fop.apps.FOPException;
import org.apache.fop.datastructs.TreeException;
@@ -31,6 +35,8 @@
import org.apache.fop.fo.FObjectNames;
import org.apache.fop.fo.PropNames;
import org.apache.fop.fo.PropertySets;
+import org.apache.fop.fo.expr.PropertyException;
+import org.apache.fop.fonts.FontException;
import org.apache.fop.render.FontData;
import org.apache.fop.xml.XmlEvent;
@@ -134,7 +140,7 @@
super(foTree, FObjectNames.PCDATA, pageSequence, parent, event,
stateFlags, sparsePropsMap, sparseIndices);
characters = event.getChars();
- fontData = foTree.getFontData();
+
makeSparsePropsSet();
}
@@ -153,9 +159,25 @@
* Generates a TextMeasurer from the PCDATA text. The font and text
* attributes of the text are applied.
*/
- private void processText() {
- // Get the font
-
+ private void processText() throws PropertyException, FontException {
+ // Get the font, size, style and weight attributes
+ Map attributes = getFontAttributes();
+ Font font = getFopFont(attributes);
+ // Add the text decorations
+ // TODO separate color support for text decorations
+ if (decorations.underlined()) {
+ attributes.put(TextAttribute.UNDERLINE,
+ TextAttribute.UNDERLINE_LOW_ONE_PIXEL);
+ }
+ if (decorations.overlined()) {
+ // Not supported yet
+ }
+ if (decorations.struckthrough()) {
+ attributes.put(TextAttribute.STRIKETHROUGH,
+ TextAttribute.STRIKETHROUGH_ON);
+ }
+ AttributedString attText =
+ new AttributedString(characters, attributes);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]