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 pb...@apache.org on 2002/08/27 17:38:36 UTC
cvs commit: xml-fop/src/org/apache/fop/fo PropertySets.java PropNames.java Properties.java
pbwest 2002/08/27 08:38:36
Modified: src/org/apache/fop/fo Tag: FOP_0-20-0_Alt-Design
PropertySets.java PropNames.java Properties.java
Log:
W.I.P. on extended property expression handling including compounds
Revision Changes Path
No revision
No revision
1.1.2.10 +263 -4 xml-fop/src/org/apache/fop/fo/Attic/PropertySets.java
Index: PropertySets.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/PropertySets.java,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -u -r1.1.2.9 -r1.1.2.10
--- PropertySets.java 1 Aug 2002 03:56:00 -0000 1.1.2.9
+++ PropertySets.java 27 Aug 2002 15:38:35 -0000 1.1.2.10
@@ -56,7 +56,7 @@
static {
accessibilityProps.add(Ints.consts.get(PropNames.ROLE));
- accessibilityProps.add(Ints.consts.get(PropNames.SOURCE_DOCUMENT));
+ accessibilityProps.add(Ints.consts.get(PropNames.SOURCE_DOCUMENT));
accessibilitySet =
Collections.unmodifiableSet((Set)accessibilityProps);
}
@@ -847,6 +847,265 @@
("Unmatched properties:" + unmatched +
" : in expansion list for " + expansionList.getProperty());
return expansionList;
+ }
+
+ public static final ROIntArray blockProgressDimCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BLOCK_PROGRESSION_DIMENSION_MINIMUM
+ ,PropNames.BLOCK_PROGRESSION_DIMENSION_OPTIMUM
+ ,PropNames.BLOCK_PROGRESSION_DIMENSION_MAXIMUM
+ });
+
+ public static final ROIntArray blockProgressDimNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray borderAfterWidthCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_AFTER_WIDTH_LENGTH
+ });
+
+ public static final ROIntArray borderAfterWidthNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_AFTER_WIDTH_CONDITIONALITY
+ });
+
+ public static final ROIntArray borderBeforeWidthCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_BEFORE_WIDTH_LENGTH
+ });
+
+ public static final ROIntArray borderBeforeWidthNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_BEFORE_WIDTH_CONDITIONALITY
+ });
+
+ public static final ROIntArray borderEndWidthCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_END_WIDTH_LENGTH
+ });
+
+ public static final ROIntArray borderEndWidthNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_END_WIDTH_CONDITIONALITY
+ });
+
+ public static final ROIntArray borderStartWidthCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_START_WIDTH_LENGTH
+ });
+
+ public static final ROIntArray borderStartWidthNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_START_WIDTH_CONDITIONALITY
+ });
+
+ public static final ROIntArray borderSeparationCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION
+ ,PropNames.BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION
+ });
+
+ public static final ROIntArray borderSeparationNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray inlineProgressDimCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.INLINE_PROGRESSION_DIMENSION_MINIMUM
+ ,PropNames.INLINE_PROGRESSION_DIMENSION_OPTIMUM
+ ,PropNames.INLINE_PROGRESSION_DIMENSION_MAXIMUM
+ });
+
+ public static final ROIntArray inlineProgressDimNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray keepTogetherCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.KEEP_TOGETHER_WITHIN_LINE
+ ,PropNames.KEEP_TOGETHER_WITHIN_COLUMN
+ ,PropNames.KEEP_TOGETHER_WITHIN_PAGE
+ });
+
+ public static final ROIntArray keepTogetherNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray keepWithNextCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.KEEP_WITH_NEXT_WITHIN_LINE
+ ,PropNames.KEEP_WITH_NEXT_WITHIN_COLUMN
+ ,PropNames.KEEP_WITH_NEXT_WITHIN_PAGE
+ });
+
+ public static final ROIntArray keepWithNextNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray keepWithPreviousCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.KEEP_WITH_PREVIOUS_WITHIN_LINE
+ ,PropNames.KEEP_WITH_PREVIOUS_WITHIN_COLUMN
+ ,PropNames.KEEP_WITH_PREVIOUS_WITHIN_PAGE
+ });
+
+ public static final ROIntArray keepWithPreviousNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray leaderLengthCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.LEADER_LENGTH_MINIMUM
+ ,PropNames.LEADER_LENGTH_OPTIMUM
+ ,PropNames.LEADER_LENGTH_MAXIMUM
+ });
+
+ public static final ROIntArray leaderLengthNonCopyExpansion =
+ new ROIntArray(new int[] {});
+
+ public static final ROIntArray lineHeightCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.LINE_HEIGHT_MINIMUM
+ ,PropNames.LINE_HEIGHT_OPTIMUM
+ ,PropNames.LINE_HEIGHT_MAXIMUM
+ });
+
+ public static final ROIntArray lineHeightNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.LINE_HEIGHT_CONDITIONALITY
+ ,PropNames.LINE_HEIGHT_PRECEDENCE
+ });
+
+ public static final ROIntArray paddingAfterCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_AFTER_LENGTH
+ });
+
+ public static final ROIntArray paddingAfterNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_AFTER_CONDITIONALITY
+ });
+
+ public static final ROIntArray paddingBeforeCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_BEFORE_LENGTH
+ });
+
+ public static final ROIntArray paddingBeforeNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_BEFORE_CONDITIONALITY
+ });
+
+ public static final ROIntArray paddingEndCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_END_LENGTH
+ });
+
+ public static final ROIntArray paddingEndNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_END_CONDITIONALITY
+ });
+
+ public static final ROIntArray paddingStartCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_START_LENGTH
+ });
+
+ public static final ROIntArray paddingStartNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.PADDING_START_CONDITIONALITY
+ });
+
+ public static final ROIntArray spaceAfterCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_AFTER_MINIMUM
+ ,PropNames.SPACE_AFTER_OPTIMUM
+ ,PropNames.SPACE_AFTER_MAXIMUM
+ });
+
+ public static final ROIntArray spaceAfterNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_AFTER_CONDITIONALITY
+ ,PropNames.SPACE_AFTER_PRECEDENCE
+ });
+
+ public static final ROIntArray spaceBeforeCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_BEFORE_MINIMUM
+ ,PropNames.SPACE_BEFORE_OPTIMUM
+ ,PropNames.SPACE_BEFORE_MAXIMUM
+ });
+
+ public static final ROIntArray spaceBeforeNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_BEFORE_CONDITIONALITY
+ ,PropNames.SPACE_BEFORE_PRECEDENCE
+ });
+
+ public static final ROIntArray spaceEndCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_END_MINIMUM
+ ,PropNames.SPACE_END_OPTIMUM
+ ,PropNames.SPACE_END_MAXIMUM
+ });
+
+ public static final ROIntArray spaceEndNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_END_CONDITIONALITY
+ ,PropNames.SPACE_END_PRECEDENCE
+ });
+
+ public static final ROIntArray spaceStartCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_START_MINIMUM
+ ,PropNames.SPACE_START_OPTIMUM
+ ,PropNames.SPACE_START_MAXIMUM
+ });
+
+ public static final ROIntArray spaceStartNonCopyExpansion =
+ new ROIntArray(new int[] {
+ PropNames.SPACE_START_CONDITIONALITY
+ ,PropNames.SPACE_START_PRECEDENCE
+ });
+
+ private static final int[] compounds = {
+ PropNames.BLOCK_PROGRESSION_DIMENSION
+ ,PropNames.BORDER_AFTER_WIDTH
+ ,PropNames.BORDER_BEFORE_WIDTH
+ ,PropNames.BORDER_END_WIDTH
+ ,PropNames.BORDER_START_WIDTH
+ ,PropNames.BORDER_SEPARATION
+ ,PropNames.INLINE_PROGRESSION_DIMENSION
+ ,PropNames.KEEP_TOGETHER
+ ,PropNames.KEEP_WITH_NEXT
+ ,PropNames.KEEP_WITH_PREVIOUS
+ ,PropNames.LEADER_LENGTH
+ ,PropNames.LINE_HEIGHT
+ ,PropNames.PADDING_AFTER
+ ,PropNames.PADDING_BEFORE
+ ,PropNames.PADDING_END
+ ,PropNames.PADDING_START
+ ,PropNames.SPACE_AFTER
+ ,PropNames.SPACE_BEFORE
+ ,PropNames.SPACE_END
+ ,PropNames.SPACE_START
+ ,PropNames.WORD_SPACING
+ };
+
+ /**
+ * Map property index to compound array index
+ */
+ private static final HashMap compoundMap;
+ static {
+ compoundMap = new HashMap(compounds.length);
+ for (int i = 0; i < compounds.length; i++) {
+ compoundMap.put
+ ((Object)(Ints.consts.get(compounds[i])),
+ (Object)(Ints.consts.get(i)));
+ }
+ }
+
+ /**
+ * RO compound properties.
+ */
+ public static final ROIntArray roCompounds;
+ static {
+ roCompounds = new ROIntArray(compounds);
}
private PropertySets (){}
1.1.2.4 +16 -6 xml-fop/src/org/apache/fop/fo/Attic/PropNames.java
Index: PropNames.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/PropNames.java,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- PropNames.java 19 Aug 2002 16:26:55 -0000 1.1.2.3
+++ PropNames.java 27 Aug 2002 15:38:35 -0000 1.1.2.4
@@ -368,9 +368,14 @@
WIDOWS = 304,
WIDTH = 305,
WORD_SPACING = 306,
- WRAP_OPTION = 307,
- WRITING_MODE = 308,
- Z_INDEX = 309,
+ WORD_SPACING_MINIMUM = 307,
+ WORD_SPACING_OPTIMUM = 308,
+ WORD_SPACING_MAXIMUM = 309,
+ WORD_SPACING_CONDITIONALITY = 310,
+ WORD_SPACING_PRECEDENCE = 311,
+ WRAP_OPTION = 312,
+ WRITING_MODE = 313,
+ Z_INDEX = 314,
LAST_PROPERTY_INDEX = Z_INDEX;
@@ -703,6 +708,11 @@
"widows",
"width",
"word-spacing",
+ "word-spacing-minimum",
+ "word-spacing-optimum",
+ "word-spacing-maximum",
+ "word-spacing-conditionality",
+ "word-spacing-precedence",
"wrap-option",
"writing-mode",
"z-index"
1.1.2.20 +337 -131 xml-fop/src/org/apache/fop/fo/Attic/Properties.java
Index: Properties.java
===================================================================
RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/Attic/Properties.java,v
retrieving revision 1.1.2.19
retrieving revision 1.1.2.20
diff -u -r1.1.2.19 -r1.1.2.20
--- Properties.java 19 Aug 2002 16:42:14 -0000 1.1.2.19
+++ Properties.java 27 Aug 2002 15:38:35 -0000 1.1.2.20
@@ -117,7 +117,7 @@
,BOOL = 131072
,INHERIT = 262144
,ENUM = 524288
- ,MAPPED_NUMERIC = 1048576
+ ,MAPPED_LENGTH = 1048576
,SHORTHAND = 2097152
,COMPLEX = 4194304
,AUTO = 8388608
@@ -142,7 +142,7 @@
// will have to be adjusted. pbw
,NUMBER = FLOAT | INTEGER
- ,ENUM_TYPE = ENUM | MAPPED_NUMERIC
+ ,ENUM_TYPE = ENUM | MAPPED_LENGTH
,STRING = LITERAL | ENUM_TYPE
,HYPH_TYPE = COUNTRY_T | LANGUAGE_T | SCRIPT_T
,ID_TYPE = ID_T | IDREF
@@ -183,8 +183,8 @@
if ((datatypes & BOOL) != 0) typeNames += "<BOOL>|";
if ((datatypes & INHERIT) != 0) typeNames += "<INHERIT>|";
if ((datatypes & ENUM) != 0) typeNames += "<ENUM>|";
- if ((datatypes & MAPPED_NUMERIC) != 0) typeNames
- += "<MAPPED_NUMERIC>|";
+ if ((datatypes & MAPPED_LENGTH) != 0) typeNames
+ += "<MAPPED_LENGTH>|";
if ((datatypes & SHORTHAND) != 0) typeNames += "<SHORTHAND>|";
if ((datatypes & COMPLEX) != 0) typeNames += "<COMPLEX>|";
if ((datatypes & AUTO) != 0) typeNames += "<AUTO>|";
@@ -269,7 +269,8 @@
NO = 0
,COMPUTED = 1
,SPECIFIED = 2
- ,VALUE_SPECIFIC = 3
+ ,COMPOUND_INH = 3
+ ,VALUE_SPECIFIC = 4
;
/**
@@ -347,7 +348,7 @@
String ncname = ((NCName)value).getNCName();
// Can by any of
// NAME, COUNTRY_T, LANGUAGE_T, SCRIPT_T, ID_T, IDREF, ENUM
- // MAPPED_NUMERIC or CHARACTER_T
+ // MAPPED_LENGTH or CHARACTER_T
if ((datatype & (NAME | ID_T | IDREF | CHARACTER_T)) != 0)
return value;
if ((datatype & COUNTRY_T) != 0)
@@ -358,7 +359,7 @@
return new ScriptType(property, ncname);
if ((datatype & ENUM) != 0)
return new EnumType(property, ncname);
- if ((datatype & MAPPED_NUMERIC) != 0)
+ if ((datatype & MAPPED_LENGTH) != 0)
return (new MappedNumeric(property, ncname, foTree))
.getMappedNumValue();
}
@@ -714,6 +715,14 @@
,"medium"
,"thick"
};
+
+ private static final double[] mappedPoints = {
+ 0d
+ ,0.5d
+ ,1d
+ ,2d
+ };
+
public static final ROStringArray enums = new ROStringArray(rwEnums);
public static final ROStringArray enumValues = enums;
@@ -722,21 +731,15 @@
/**
* @param <tt>int</tt> property index
+ * @param <tt>int</tt> mappedEnum enumeration value
* @return <tt>Numeric[]</tt> containing the values corresponding
* to the MappedNumeric enumeration constants for border width
*/
- public static Numeric[] borderWidthNumArray(int property)
+ public static Numeric getMappedLength(int property, int enum)
throws PropertyException
{
- Numeric[] numarray = new Numeric[4];
- numarray[0] = null;
- numarray[1] =
- Length.makeLength(property, 0.5d, Length.PT); // thin
- numarray[2] =
- Length.makeLength(property, 1d, Length.PT); // medium
- numarray[3] =
- Length.makeLength(property, 2d, Length.PT); // thick // thick
- return numarray;
+ return
+ Length.makeLength(property, mappedPoints[enum], Length.PT);
}
}
@@ -1998,21 +2001,20 @@
// if the mapping changes.
public static class BorderAfterWidth extends Properties {
public static final int dataTypes =
- COMPOUND | MAPPED_NUMERIC | LENGTH | INHERIT;
+ COMPOUND | MAPPED_LENGTH | LENGTH | INHERIT;
public static final int traitMapping = FORMATTING | RENDERING;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_AFTER_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_AFTER_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_AFTER_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2023,10 +2025,27 @@
}
public static class BorderAfterWidthLength extends Properties {
- public static final int dataTypes = LENGTH;
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
public static final int traitMapping = FORMATTING | RENDERING;
- public static final int initialValueType = NOTYPE_IT;
+ public static final int initialValueType = LENGTH_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return getMappedLength(BorderCommonWidth.MEDIUM);
+ }
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_AFTER_WIDTH_LENGTH, enum);
+ }
+
public static final int inherited = NO;
+
+ public static final ROStringArray enums = BorderCommonWidth.enums;
+ public static final ROStringArray enumValues
+ = BorderCommonWidth.enumValues;
}
public static class BorderAfterWidthConditionality extends Properties {
@@ -2054,7 +2073,8 @@
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return new ColorType (PropNames.BACKGROUND_COLOR, ColorCommon.BLACK);
+ return new ColorType
+ (PropNames.BACKGROUND_COLOR, ColorCommon.BLACK);
}
public static final ROStringArray enums = ColorCommon.enums;
@@ -2085,21 +2105,20 @@
public static class BorderBeforeWidth extends Properties {
public static final int dataTypes =
- COMPOUND | MAPPED_NUMERIC | LENGTH | INHERIT;
+ COMPOUND | MAPPED_LENGTH | LENGTH | INHERIT;
public static final int traitMapping = FORMATTING | RENDERING;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_BEFORE_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_BEFORE_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_BEFORE_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2110,10 +2129,26 @@
}
public static class BorderBeforeWidthLength extends Properties {
- public static final int dataTypes = LENGTH;
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
public static final int traitMapping = FORMATTING | RENDERING;
- public static final int initialValueType = NOTYPE_IT;
+ public static final int initialValueType = LENGTH_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return getMappedLength(BorderCommonWidth.MEDIUM);
+ }
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_BEFORE_WIDTH_LENGTH, enum);
+ }
public static final int inherited = NO;
+
+ public static final ROStringArray enums = BorderCommonWidth.enums;
+ public static final ROStringArray enumValues
+ = BorderCommonWidth.enumValues;
}
public static class BorderBeforeWidthConditionality extends Properties {
@@ -2196,21 +2231,20 @@
}
public static class BorderBottomWidth extends Properties {
- public static final int dataTypes = MAPPED_NUMERIC | INHERIT;
+ public static final int dataTypes = MAPPED_LENGTH | INHERIT;
public static final int traitMapping = DISAPPEARS;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_BOTTOM_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_BOTTOM_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_BOTTOM_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2445,21 +2479,20 @@
public static class BorderEndWidth extends Properties {
public static final int dataTypes =
- COMPOUND | MAPPED_NUMERIC | LENGTH | INHERIT;
+ COMPOUND | MAPPED_LENGTH | LENGTH | INHERIT;
public static final int traitMapping = FORMATTING | RENDERING;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_END_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_END_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_END_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2470,10 +2503,27 @@
}
public static class BorderEndWidthLength extends Properties {
- public static final int dataTypes = LENGTH;
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
public static final int traitMapping = FORMATTING | RENDERING;
- public static final int initialValueType = NOTYPE_IT;
+ public static final int initialValueType = LENGTH_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return getMappedLength(BorderCommonWidth.MEDIUM);
+ }
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_END_WIDTH_LENGTH, enum);
+ }
+
public static final int inherited = NO;
+
+ public static final ROStringArray enums = BorderCommonWidth.enums;
+ public static final ROStringArray enumValues
+ = BorderCommonWidth.enumValues;
}
public static class BorderEndWidthConditionality extends Properties {
@@ -2556,21 +2606,20 @@
}
public static class BorderLeftWidth extends Properties {
- public static final int dataTypes = MAPPED_NUMERIC | INHERIT;
+ public static final int dataTypes = MAPPED_LENGTH | INHERIT;
public static final int traitMapping = DISAPPEARS;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_LEFT_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_LEFT_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_LEFT_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2644,21 +2693,20 @@
}
public static class BorderRightWidth extends Properties {
- public static final int dataTypes = MAPPED_NUMERIC | INHERIT;
+ public static final int dataTypes = MAPPED_LENGTH | INHERIT;
public static final int traitMapping = DISAPPEARS;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_RIGHT_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_RIGHT_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_RIGHT_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2687,7 +2735,7 @@
(PropNames.BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION,
0.0d, Length.PT);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class BorderSeparationInlineProgressionDirection
@@ -2702,7 +2750,7 @@
(PropNames.BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION,
0.0d, Length.PT);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class BorderSpacing extends Properties {
@@ -2811,21 +2859,20 @@
public static class BorderStartWidth extends Properties {
public static final int dataTypes =
- COMPOUND | MAPPED_NUMERIC | LENGTH | INHERIT;
+ COMPOUND | MAPPED_LENGTH | LENGTH | INHERIT;
public static final int traitMapping = FORMATTING | RENDERING;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_START_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_START_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_START_WIDTH, enum);
}
public static final int inherited = NO;
@@ -2836,10 +2883,27 @@
}
public static class BorderStartWidthLength extends Properties {
- public static final int dataTypes = LENGTH;
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
public static final int traitMapping = FORMATTING | RENDERING;
- public static final int initialValueType = NOTYPE_IT;
+ public static final int initialValueType = LENGTH_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return getMappedLength(BorderCommonWidth.MEDIUM);
+ }
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_START_WIDTH_LENGTH, enum);
+ }
+
public static final int inherited = NO;
+
+ public static final ROStringArray enums = BorderCommonWidth.enums;
+ public static final ROStringArray enumValues
+ = BorderCommonWidth.enumValues;
}
public static class BorderStartWidthConditionality extends Properties {
@@ -3051,21 +3115,20 @@
}
public static class BorderTopWidth extends Properties {
- public static final int dataTypes = MAPPED_NUMERIC | INHERIT;
+ public static final int dataTypes = MAPPED_LENGTH | INHERIT;
public static final int traitMapping = DISAPPEARS;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength
- (PropNames.BORDER_TOP_WIDTH, 1d, Length.PT);
+ return getMappedLength(BorderCommonWidth.MEDIUM);
}
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- return Properties.BorderCommonWidth.borderWidthNumArray
- (PropNames.BORDER_TOP_WIDTH);
+ return Properties.BorderCommonWidth.getMappedLength
+ (PropNames.BORDER_TOP_WIDTH, enum);
}
public static final int inherited = NO;
@@ -3141,10 +3204,13 @@
}
if (value instanceof NCName) {
// Must be a border-width
+ // BorderWidth does not support a mapped enum
+ // transformation directly, so use BorderTopWidth to
+ // check for mapped enum.
Numeric mapped;
try {
mapped =
- (new MappedNumeric(PropNames.BORDER_WIDTH,
+ (new MappedNumeric(PropNames.BORDER_TOP_WIDTH,
((NCName)value).getNCName(), foTree))
.getMappedNumValue();
} catch (PropertyException e) {
@@ -3152,6 +3218,8 @@
(((NCName)value).getNCName() +
" not a border-width");
}
+ // Correct the property in the mapped Numeric
+ mapped.setProperty(PropNames.BORDER_WIDTH);
return PropertySets.expandAndCopySHand(mapped);
}
else throw new PropertyException
@@ -4378,7 +4446,7 @@
public static class FontSize extends Properties {
public static final int dataTypes =
- PERCENTAGE | LENGTH | MAPPED_NUMERIC | INHERIT;
+ PERCENTAGE | LENGTH | MAPPED_LENGTH | INHERIT;
public static final int traitMapping = FORMATTING| RENDERING;
public static final int initialValueType = LENGTH_IT;
public static final int XX_SMALL = 1;
@@ -4395,7 +4463,7 @@
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return Length.makeLength(PropNames.FONT_SIZE, 12d, Length.PT);
+ return getMappedLength(MEDIUM);
}
public static final int inherited = COMPUTED;
@@ -4413,29 +4481,28 @@
,"smaller"
};
- public static Numeric[] getMappedNumArray()
+ // N.B. this is a combination of points and ems
+ private static final double[] mappedLengths = {
+ 0d
+ ,7d // xx-small
+ ,8.3d // x-small
+ ,10d // small
+ ,12d // medium
+ ,14.4d // large
+ ,17.3d // x-large
+ ,20.7d // xx-large
+ ,1.2d // larger
+ ,0.83d // smaller
+ };
+
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- int property = PropNames.FONT_SIZE;
- Numeric[] numarray = new Numeric[10];
- numarray[0] = null;
- numarray[1] =
- Length.makeLength(property, 7d, Length.PT); // xx-small
- numarray[2] =
- Length.makeLength(property, 8.3d, Length.PT); // x-small
- numarray[3] =
- Length.makeLength(property, 10d, Length.PT); // small
- numarray[4] =
- Length.makeLength(property, 12d, Length.PT); // medium
- numarray[5] =
- Length.makeLength(property, 14.4d, Length.PT); // large
- numarray[6] =
- Length.makeLength(property, 17.3d, Length.PT); // x-large
- numarray[7] =
- Length.makeLength(property, 20.7d, Length.PT); // xx-large
- numarray[8] = Ems.makeEms(property, 1.2d); // larger
- numarray[9] = Ems.makeEms(property, 0.83d); // smaller
- return numarray;
+ if (enum == LARGER || enum == SMALLER)
+ return Ems.makeEms(PropNames.FONT_SIZE, mappedLengths[enum]);
+ return
+ Length.makeLength
+ (PropNames.FONT_SIZE, mappedLengths[enum], Length.PT);
}
public static final ROStringArray enums = new ROStringArray(rwEnums);
@@ -4900,7 +4967,8 @@
}
public static class KeepTogether extends Properties {
- public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
+ public static final int dataTypes =
+ COMPOUND | AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = NOTYPE_IT;
public static final int inherited = COMPUTED;
@@ -4910,25 +4978,26 @@
public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = AUTO_IT;
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class KeepTogetherWithinColumn extends Properties {
public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = AUTO_IT;
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class KeepTogetherWithinPage extends Properties {
public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = AUTO_IT;
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class KeepWithNext extends Properties {
- public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
+ public static final int dataTypes =
+ COMPOUND | AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = NOTYPE_IT;
public static final int inherited = NO;
@@ -4956,7 +5025,8 @@
}
public static class KeepWithPrevious extends Properties {
- public static final int dataTypes = AUTO | ENUM | INTEGER | INHERIT;
+ public static final int dataTypes =
+ COMPOUND | AUTO | ENUM | INTEGER | INHERIT;
public static final int traitMapping = FORMATTING;
public static final int initialValueType = NOTYPE_IT;
public static final int inherited = NO;
@@ -5038,7 +5108,7 @@
return Length.makeLength(PropNames.LEADER_LENGTH_MINIMUM,
0.0d, Length.PT);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class LeaderLengthOptimum extends Properties {
@@ -5051,7 +5121,7 @@
return Length.makeLength(PropNames.LEADER_LENGTH_OPTIMUM,
12.0d, Length.PT);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class LeaderLengthMaximum extends Properties {
@@ -5064,7 +5134,7 @@
return Percentage.makePercentage
(PropNames.LEADER_LENGTH_MAXIMUM, 100.0d);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
}
public static class LeaderPattern extends Properties {
@@ -5187,9 +5257,9 @@
public static class LineHeight extends Properties {
public static final int dataTypes =
- COMPOUND| PERCENTAGE | LENGTH | NUMBER | MAPPED_NUMERIC | INHERIT;
+ COMPOUND| PERCENTAGE | LENGTH | NUMBER | MAPPED_LENGTH | INHERIT;
public static final int traitMapping = FORMATTING;
- public static final int initialValueType = NOTYPE_IT;
+ public static final int initialValueType = LENGTH_IT;
public static final int NORMAL = 1;
public static final int inherited = VALUE_SPECIFIC;
@@ -5200,14 +5270,13 @@
public static final ROStringArray enums = new ROStringArray(rwEnums);
public static final ROStringArray enumValues = enums;
- public static Numeric[] getMappedNumArray()
+ public static Numeric getMappedLength(int enum)
throws PropertyException
{
- int property = PropNames.LINE_HEIGHT;
- Numeric[] numarray = new Numeric[2];
- numarray[0] = null;
- numarray[1] = Ems.makeEms(property, 1.2d); // normal
- return numarray;
+ if (enum != NORMAL)
+ throw new PropertyException("Invalid MAPPED_LENGTH enum: "
+ + enum);
+ return Ems.makeEms(PropNames.LINE_HEIGHT, 1.2d); // normal
}
}
@@ -5221,7 +5290,7 @@
{
return Ems.makeEms(PropNames.LINE_HEIGHT, 1.2d);
}
- public static final int inherited = NO;
+ public static final int inherited = VALUE_SPECIFIC;
}
public static class LineHeightOptimum extends Properties {
@@ -5233,7 +5302,7 @@
{
return Ems.makeEms(PropNames.LINE_HEIGHT, 1.2d);
}
- public static final int inherited = NO;
+ public static final int inherited = VALUE_SPECIFIC;
}
public static class LineHeightMaximum extends Properties {
@@ -5245,7 +5314,7 @@
{
return Ems.makeEms(PropNames.LINE_HEIGHT, 1.2d);
}
- public static final int inherited = NO;
+ public static final int inherited = VALUE_SPECIFIC;
}
public static class LineHeightConditionality extends Properties {
@@ -5258,7 +5327,7 @@
return new EnumType(PropNames.SPACE_AFTER_CONDITIONALITY,
Conditionality.DISCARD);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
public static final ROStringArray enums = Conditionality.enums;
public static final ROStringArray enumValues
@@ -5268,14 +5337,15 @@
public static class LineHeightPrecedence extends Properties {
public static final int dataTypes = INTEGER | ENUM;
public static final int traitMapping = FORMATTING;
- public static final int initialValueType = INTEGER_IT;
+ public static final int initialValueType = ENUM_IT;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return new IntegerType(PropNames.LINE_HEIGHT_PRECEDENCE, 0);
+ return new EnumType
+ (PropNames.LINE_HEIGHT_PRECEDENCE, PrecedenceCommon.FORCE);
}
- public static final int inherited = NO;
+ public static final int inherited = COMPUTED;
public static final ROStringArray enums = PrecedenceCommon.enums;
public static final ROStringArray enumValues
@@ -5851,7 +5921,8 @@
}
public static class PaddingBefore extends Properties {
- public static final int dataTypes = PERCENTAGE | LENGTH | INHERIT;
+ public static final int dataTypes =
+ COMPOUND |PERCENTAGE | LENGTH | INHERIT;
public static final int traitMapping = FORMATTING | RENDERING;
public static final int initialValueType = LENGTH_IT;
public static PropertyValue getInitialValue(int property)
@@ -7955,14 +8026,15 @@
}
public static class WordSpacing extends Properties {
- public static final int dataTypes = LENGTH | ENUM | INHERIT;
+ public static final int dataTypes =
+ COMPOUND | LENGTH | MAPPED_LENGTH | INHERIT;
public static final int traitMapping = DISAPPEARS;
- public static final int initialValueType = ENUM_IT;
+ public static final int initialValueType = LENGTH_IT;
public static final int NORMAL = 1;
public static PropertyValue getInitialValue(int property)
throws PropertyException
{
- return new EnumType (PropNames.WORD_SPACING, NORMAL);
+ return Length.makeLength(property, 0d, Length.PT); //normal
}
public static final int inherited = COMPUTED;
@@ -7972,6 +8044,140 @@
};
public static final ROStringArray enums = new ROStringArray(rwEnums);
public static final ROStringArray enumValues = enums;
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ if (enum != NORMAL)
+ throw new PropertyException("Invalid MAPPED_LENGTH enum: "
+ + enum);
+ return Length.makeLength(PropNames.WORD_SPACING, 0d, Length.PT);
+ }
+ }
+
+ public static class WordSpacingMinimum extends Properties {
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
+ public static final int traitMapping = DISAPPEARS;
+ public static final int initialValueType = LENGTH_IT;
+ public static final int NORMAL = 1;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return Length.makeLength(property, 0d, Length.PT); //normal
+ }
+ public static final int inherited = COMPUTED;
+
+ private static final String[] rwEnums = {
+ null
+ ,"normal"
+ };
+ public static final ROStringArray enums = new ROStringArray(rwEnums);
+ public static final ROStringArray enumValues = enums;
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ if (enum != NORMAL)
+ throw new PropertyException("Invalid MAPPED_LENGTH enum: "
+ + enum);
+ return Length.makeLength
+ (PropNames.WORD_SPACING_MINIMUM, 0d, Length.PT);
+ }
+ }
+
+ public static class WordSpacingOptimum extends Properties {
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
+ public static final int traitMapping = DISAPPEARS;
+ public static final int initialValueType = LENGTH_IT;
+ public static final int NORMAL = 1;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return Length.makeLength(property, 0d, Length.PT); //normal
+ }
+ public static final int inherited = COMPUTED;
+
+ private static final String[] rwEnums = {
+ null
+ ,"normal"
+ };
+ public static final ROStringArray enums = new ROStringArray(rwEnums);
+ public static final ROStringArray enumValues = enums;
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ if (enum != NORMAL)
+ throw new PropertyException("Invalid MAPPED_LENGTH enum: "
+ + enum);
+ return Length.makeLength
+ (PropNames.WORD_SPACING_OPTIMUM, 0d, Length.PT);
+ }
+ }
+
+ public static class WordSpacingMaximum extends Properties {
+ public static final int dataTypes = MAPPED_LENGTH | LENGTH;
+ public static final int traitMapping = DISAPPEARS;
+ public static final int initialValueType = LENGTH_IT;
+ public static final int NORMAL = 1;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return Length.makeLength(property, 0d, Length.PT); //normal
+ }
+ public static final int inherited = COMPUTED;
+
+ private static final String[] rwEnums = {
+ null
+ ,"normal"
+ };
+ public static final ROStringArray enums = new ROStringArray(rwEnums);
+ public static final ROStringArray enumValues = enums;
+
+ public static Numeric getMappedLength(int enum)
+ throws PropertyException
+ {
+ if (enum != NORMAL)
+ throw new PropertyException("Invalid MAPPED_LENGTH enum: "
+ + enum);
+ return Length.makeLength
+ (PropNames.WORD_SPACING_MAXIMUM, 0d, Length.PT);
+ }
+ }
+
+ public static class WordSpacingConditionality extends Properties {
+ public static final int dataTypes = ENUM;
+ public static final int traitMapping = FORMATTING;
+ public static final int initialValueType = ENUM_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return new EnumType(PropNames.WORD_SPACING_CONDITIONALITY,
+ Conditionality.DISCARD);
+ }
+ public static final int inherited = COMPUTED;
+
+ public static final ROStringArray enums = Conditionality.enums;
+ public static final ROStringArray enumValues
+ = Conditionality.enumValues;
+ }
+
+ public static class WordSpacingPrecedence extends Properties {
+ public static final int dataTypes = INTEGER | ENUM;
+ public static final int traitMapping = FORMATTING;
+ public static final int initialValueType = ENUM_IT;
+ public static PropertyValue getInitialValue(int property)
+ throws PropertyException
+ {
+ return new EnumType
+ (PropNames.LINE_HEIGHT_PRECEDENCE, PrecedenceCommon.FORCE);
+ }
+
+ public static final int inherited = COMPUTED;
+
+ public static final ROStringArray enums = PrecedenceCommon.enums;
+ public static final ROStringArray enumValues
+ = PrecedenceCommon.enumValues;
}
public static class WrapOption extends Properties {
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org