pbwest 2004/05/27 08:42:26
Modified: src/java/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design
FONode.java
Log:
Moved cloneCurrentTextDecorations() , getFontSet(),
getFont() to FOPageSeqNode
Revision Changes Path
No revision
No revision
1.2.2.30 +0 -85 xml-fop/src/java/org/apache/fop/fo/FONode.java
Index: FONode.java
===================================================================
RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FONode.java,v
retrieving revision 1.2.2.29
retrieving revision 1.2.2.30
diff -u -r1.2.2.29 -r1.2.2.30
--- FONode.java 25 May 2004 15:22:29 -0000 1.2.2.29
+++ FONode.java 27 May 2004 15:42:26 -0000 1.2.2.30
@@ -18,7 +18,6 @@
*/
package org.apache.fop.fo;
-import java.awt.Font;
import java.awt.geom.Rectangle2D;
import java.util.BitSet;
import java.util.HashMap;
@@ -33,18 +32,15 @@
import org.apache.fop.datastructs.SyncedNode;
import org.apache.fop.datastructs.TreeException;
import org.apache.fop.datatypes.EnumType;
-import org.apache.fop.datatypes.FontFamilySet;
import org.apache.fop.datatypes.Numeric;
import org.apache.fop.datatypes.PropertyValue;
import org.apache.fop.datatypes.PropertyValueList;
-import org.apache.fop.datatypes.TextDecorations;
import org.apache.fop.datatypes.indirect.IndirectValue;
import org.apache.fop.fo.expr.FunctionNotImplementedException;
import org.apache.fop.fo.expr.PropertyException;
import org.apache.fop.fo.expr.PropertyParser;
import org.apache.fop.fo.properties.CorrespondingProperty;
import org.apache.fop.fo.properties.Property;
-import org.apache.fop.fonts.FontException;
import org.apache.fop.render.FontData;
import org.apache.fop.xml.XmlEvent;
import org.apache.fop.xml.Namespaces;
@@ -624,87 +620,6 @@
} catch (CloneNotSupportedException e) {
throw new PropertyException(e);
}
- }
-
- /**
- * Clone the current <i>TextDecorations</i> property.
- * @return a <tt>TextDecorations</tt> object containing the current
- * text decorations
- * @exception PropertyException if current text decorations are not
- * defined, or are not expressed as <tt>TextDecorations</tt>.
- */
- public TextDecorations cloneCurrentTextDecorations()
- throws PropertyException
- {
- PropertyValue textdec = getPropertyValue(PropNames.TEXT_DECORATION);
- if (textdec.getType() != PropertyValue.TEXT_DECORATIONS)
- throw new PropertyException
- ("text-decoration value is not a TextDecorations object.");
- try {
- return (TextDecorations)(textdec.clone());
- } catch (CloneNotSupportedException e) {
- throw new PropertyException("Clone not supported.");
- }
- }
-
- private FontFamilySet getFontSet() throws PropertyException {
- PropertyValue fontSet = getPropertyValue(PropNames.FONT_FAMILY);
- if (fontSet.getType() != PropertyValue.FONT_FAMILY) {
- throw new PropertyException(
- "font-family value is not a FontFamilySet object.");
- }
- // TODO make the FO tree proeprty values immutable objects wherever
- // possible
- return (FontFamilySet)fontSet;
- }
-
- public Font getFont() throws PropertyException, FontException {
- // Get the current font specifiers
- int style = 0;
- int weight = 0;
- int variant = 0;
- int stretch = 0;
- int pvtype;
- float size = 0;
- Numeric fontSize = null;
- PropertyValue pv = getPropertyValue(PropNames.FONT_STYLE);
- if (pv.getType() != PropertyValue.ENUM) {
- throw new PropertyException("font-style not resolved");
- }
- style = ((EnumType)pv).getEnumValue();
- pv = getPropertyValue(PropNames.FONT_WEIGHT);
- pvtype = pv.getType();
- if (pvtype == PropertyValue.ENUM) {
- weight = ((EnumType)pv).getEnumValue();
- } else if (pvtype == PropertyValue.INTEGER) {
- throw new PropertyException(
- "Integer values not supported for font-weight");
- } else {
- throw new PropertyException("font-weight not resolved");
- }
- pv = getPropertyValue(PropNames.FONT_VARIANT);
- if (pv.getType() != PropertyValue.ENUM) {
- throw new PropertyException("font-variant not resolved");
- }
- pv = getPropertyValue(PropNames.FONT_STRETCH);
- if (pv.getType() != PropertyValue.ENUM) {
- throw new PropertyException("font-stretch not resolved");
- }
- fontSize = currentFontSize();
- if (fontSize.isLength()) size = (float)(fontSize.asDouble());
- FontFamilySet fontSet = getFontSet();
- FontFamilySet.Traverser fonts = fontSet.new Traverser();
- while (fonts.hasNext()) {
- try {
- // TODO fix this or getFont to behave reasonably when a font
- // cannot be matched
- Font font = fontData.getFont(
- fonts.next(), style, variant, weight, stretch, size, 0);
- } catch (FontException e) {
- log.info(e.getMessage());
- }
- }
- throw new FontException("No matching font found");
}
public Area getReferenceRectangle() throws FOPException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]