- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 23 Aug 2005 16:33:52 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css2/font In directory hutz:/tmp/cvs-serv9948/font Added Files: Ascent.java Baseline.java Bbox.java CapHeight.java Centerline.java Css2Style.java DefinitionSrc.java Descent.java FontConstant.java FontFamily.java FontProperty.java FontSize.java FontStretch.java FontStyle.java FontVariant.java FontWeight.java Mathline.java Panose1.java Slope.java Src.java Stemh.java Stemv.java Topline.java UnicodeRange.java UnitsPerEm.java Widths.java XHeight.java Log Message: major reorganization of property files --- NEW FILE: FontFamily.java --- // // $Id: FontFamily.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Enumeration; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.util.Util; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssString; import org.w3c.css.values.CssValue; /** */ public class FontFamily extends FontProperty implements CssOperator { Vector family_name = new Vector(); /** * Create a new FontFamily */ public FontFamily() { } /** * Create a new FontFamily * * @param expression the font name * @exception InvalidParamException The expression is incorrect */ public FontFamily(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { boolean family = true; CssValue val = expression.getValue(); char op; setByUser(); //@@ and if name is already in the vector ? while (family) { val = expression.getValue(); op = expression.getOperator(); if ((op != COMMA) && (op != SPACE)) { throw new InvalidParamException("operator", ((new Character(op)).toString()), ac); } if (val instanceof CssString) { if (op == COMMA) { // "helvetica", "roman" String name = (String) val.get(); family_name.addElement(trimToOneSpace(name)); expression.next(); } else { // "helvetica" CssValue String name = (String) val.get(); family_name.addElement(trimToOneSpace(name)); family = false; expression.next(); } } else if (val instanceof CssIdent) { if (op == COMMA) { family_name.addElement(val.toString()); expression.next(); } else { CssValue next = expression.getNextValue(); if (next instanceof CssIdent) { CssIdent New = new CssIdent(val.get() + " " + next.get()); expression.remove(); op = expression.getOperator(); expression.remove(); expression.insert(New); expression.setCurrentOperator(op); } else { family_name.addElement(val.toString()); expression.next(); family = false; } } } else throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public FontFamily(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns all fonts name */ public Enumeration elements() { return family_name.elements(); } /** * Returns the size */ public int size() { return family_name.size(); } /** * Returns the font (null if no font) */ public Object get() { if (family_name.size() == 0) { return null; } return family_name.firstElement(); } /** * Returns a string representation of the object. */ public String toString() { String r = ""; for (Enumeration e = elements(); e.hasMoreElements();) r += ", " + convertString(e.nextElement().toString()); if (r.length() < 3) { return null; } return r.substring(2); } String convertString (String value) { if (value.indexOf('"') != -1) { return '\'' + value + '\''; } else if (value.indexOf('\'') != -1) { return '"' + value + '"'; } else { return value; } } /** * Returns the name of this property */ public String getPropertyName() { return "font-family"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontFamily != null) { style.addRedefinitionWarning(ac, this); } style0.fontFamily = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontFamily(); } else { return ((Css2Style) style).fontFamily; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { return false; //@@ FIXME } private static String trimToOneSpace(String name) { int count = name.length(); char[] dst = new char[count]; char[] src = new char[count]; int index = -1; name.getChars(0, count, src, 0); for(int i=0; i < count; i++) if ( i == 0 || ! Util.isWhiteSpace(src[i]) || ( Util.isWhiteSpace(src[i]) && !Util.isWhiteSpace(dst[index]) ) ) dst[++index] = src[i]; return new String(dst, 0, index+1); } } --- NEW FILE: Topline.java --- // // $Id: Topline.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Topline extends CssProperty { CssValue value; /** * Create a new Topline */ public Topline() { // nothing to do } /** * Creates a new Topline * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Topline(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Topline(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "topline"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.topline != null) { style0.addRedefinitionWarning(ac, this); } style0.topline = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getTopline(); } else { return ((Css2Style) style).topline; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: UnitsPerEm.java --- // // $Id: UnitsPerEm.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class UnitsPerEm extends CssProperty { CssValue value; /** * Create a new UnitsPerEm */ public UnitsPerEm() { // nothing to do } /** * Creates a new UnitsPerEm * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public UnitsPerEm(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public UnitsPerEm(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "units-per-em"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.unitsPerEm != null) { style0.addRedefinitionWarning(ac, this); } style0.unitsPerEm = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getUnitsPerEm(); } else { return ((Css2Style) style).unitsPerEm; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Baseline.java --- // // $Id: Baseline.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Baseline extends CssProperty { CssValue value; /** * Create a new Baseline */ public Baseline() { // nothing to do } /** * Creates a new Baseline * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Baseline(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Baseline(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "baseline"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.baseline != null) { style0.addRedefinitionWarning(ac, this); } style0.baseline = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getBaseline(); } else { return ((Css2Style) style).baseline; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: CapHeight.java --- // // $Id: CapHeight.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class CapHeight extends CssProperty { CssValue value; /** * Create a new CapHeight */ public CapHeight() { // nothing to do } /** * Creates a new CapHeight * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public CapHeight(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public CapHeight(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "cap-height"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.capHeight != null) { style0.addRedefinitionWarning(ac, this); } style0.capHeight = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getCapHeight(); } else { return ((Css2Style) style).capHeight; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Bbox.java --- // // $Id: Bbox.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class Bbox extends CssProperty { CssValue[] value = new CssValue[4]; /** * Create a new Bbox */ public Bbox() { // nothing to do } /** * Creates a new Bbox * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Bbox(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val; char op; int i = 0; setByUser(); val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssNumber) { value[i++] = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } if (op != CssOperator.COMMA || expression.end()) { throw new InvalidParamException("few-value", getPropertyName(), ac); } val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssNumber) { value[i++] = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } if (op != CssOperator.COMMA || expression.end()) { throw new InvalidParamException("few-value", getPropertyName(), ac); } val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssNumber) { value[i++] = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } if (op != CssOperator.COMMA || expression.end()) { throw new InvalidParamException("few-value", getPropertyName(), ac); } val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssNumber) { value[i++] = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Bbox(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value[0]; } /** * Returns a string representation of the object. */ public String toString() { String ret = ""; for (int i = 0; i < 4; i++) { ret += ", " + value[i]; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "bbox"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.bbox != null) { style0.addRedefinitionWarning(ac, this); } style0.bbox = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getBbox(); } else { return ((Css2Style) style).bbox; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: UnicodeRange.java --- // // $Id: UnicodeRange.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssUnicodeRange; import org.w3c.css.values.CssValue; /** */ public class UnicodeRange extends CssProperty { Vector values = new Vector(); /** * Create a new UnicodeRange */ public UnicodeRange() { // nothing to do } /** * Creates a new UnicodeRange * * @param expression the unicode range * @exception InvalidParamException values are incorrect */ public UnicodeRange(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); do { if (val instanceof CssUnicodeRange) { // nothing } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } values.addElement(val); op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public UnicodeRange(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "unicode-range"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.unicodeRange != null) { style0.addRedefinitionWarning(ac, this); } style0.unicodeRange = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceUnicodeRange(); } else { return ((Css2Style) style).unicodeRange; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontVariant.java --- // // $Id: FontVariant.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class FontVariant extends CssProperty implements FontConstant { Vector values = new Vector(); private static CssIdent all = new CssIdent("all"); /** * Create a new FontVariant */ public FontVariant() { // nothing to do } /** * Creates a new FontVariant * * @param expression the font variant * @exception InvalidParamException values are incorrect */ public FontVariant(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); do { if (expression.getValue() instanceof CssIdent) { int hash = ((CssIdent) expression.getValue()).hashCode(); int i = 0; for (; i<hash_values.length; i++) { if (hash_values[i] == hash) { values.addElement(FONTVARIANT[i]); break; } } if (i == FONTVARIANT.length) { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public FontVariant(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "font-variant"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontVariant != null) { style0.addRedefinitionWarning(ac, this); } style0.fontVariant = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontVariant(); } else { return ((Css2Style) style).fontVariant; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } private static int[] hash_values; static { hash_values = new int[FONTVARIANT.length]; for (int i=0; i<FONTVARIANT.length; i++) hash_values[i] = FONTVARIANT[i].hashCode(); } } --- NEW FILE: Descent.java --- // // $Id: Descent.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Descent extends CssProperty { CssValue value; /** * Create a new Descent */ public Descent() { // nothing to do } /** * Creates a new Descent * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Descent(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Descent(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "descent"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.descent != null) { style0.addRedefinitionWarning(ac, this); } style0.descent = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getDescent(); } else { return ((Css2Style) style).descent; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: DefinitionSrc.java --- // // $Id: DefinitionSrc.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssURL; import org.w3c.css.values.CssValue; /** */ public class DefinitionSrc extends CssProperty { CssValue value; /** * Create a new DefinitionSrc */ public DefinitionSrc() { // nothing to do } /** * Creates a new DefinitionSrc * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public DefinitionSrc(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssURL) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public DefinitionSrc(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "definition-src"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.definitionSrc != null) { style0.addRedefinitionWarning(ac, this); } style0.definitionSrc = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getDefinitionSrc(); } else { return ((Css2Style) style).definitionSrc; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontProperty.java --- // // $Id: FontProperty.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.properties.css1.CssProperty; /** * @version $Revision: 1.1 $ */ public abstract class FontProperty extends CssProperty { /** * Returns true if the property is inherited */ public boolean Inherited() { return false; } } --- NEW FILE: FontWeight.java --- // // $Id: FontWeight.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class FontWeight extends CssProperty implements FontConstant { Vector values = new Vector(); private static CssIdent all = new CssIdent("all"); /** * Create a new FontWeight */ public FontWeight() { // nothing to do } /** * Creates a new FontWeight * * @param expression the font weight * @exception InvalidParamException values are incorrect */ public FontWeight(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); if (val.equals(all)) { values.addElement(all); expression.next(); return; } do { if (expression.getValue() instanceof CssIdent) { int hash = ((CssIdent) expression.getValue()).hashCode(); int i = 0; for (; i<hash_values.length; i++) { if (hash_values[i] == hash) { values.addElement(FONTWEIGHT[i]); break; } } if (i == FONTWEIGHT.length) { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } else if (val instanceof CssNumber) { float valf = ((Float) val.get()).floatValue(); int vali = (int) valf; if ((valf - (float) vali) == 0 && isCorrectWeight(vali)) { values.addElement(val); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public FontWeight(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "font-weight"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontWeight != null) { style0.addRedefinitionWarning(ac, this); } style0.fontWeight = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontWeight(); } else { return ((Css2Style) style).fontWeight; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } private boolean isCorrectWeight(int val) { val = val / 100; return val > 0 && val < 10; } private static int[] hash_values; static { hash_values = new int[FONTWEIGHT.length]; for (int i=0; i<FONTWEIGHT.length; i++) hash_values[i] = FONTWEIGHT[i].hashCode(); } } --- NEW FILE: Css2Style.java --- // // $Id: Css2Style.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssPrinterStyle; /** * @version $Revision: 1.1 $ */ public class Css2Style extends org.w3c.css.properties.paged.Css2Style { FontFamily fontFamily; FontStyle fontStyle; FontVariant fontVariant; FontWeight fontWeight; FontStretch fontStretch; FontSize fontSize; UnicodeRange unicodeRange; UnitsPerEm unitsPerEm; Src src; Panose1 panose1; Bbox bbox; Widths widths; Stemv stemv; Stemh stemh; Slope slope; CapHeight capHeight; XHeight xHeight; Ascent ascent; Descent descent; Baseline baseline; Centerline centerline; Mathline mathline; Topline topline; DefinitionSrc definitionSrc; /** * Get the font-family property */ public final FontFamily getFaceFontFamily() { return fontFamily; } /** * Get the font-style property */ public final FontStyle getFaceFontStyle() { return fontStyle; } /** * Get the font-variant property */ public final FontVariant getFaceFontVariant() { return fontVariant; } /** * Get the font-weight property */ public final FontWeight getFaceFontWeight() { return fontWeight; } /** * Get the font-stretch property */ public final FontStretch getFaceFontStretch() { return fontStretch; } /** * Get the font-size property */ public final FontSize getFaceFontSize() { return fontSize; } /** * Get the unicode-range property */ public final UnicodeRange getFaceUnicodeRange() { return unicodeRange; } /** * Get the units-per-em property */ public final UnitsPerEm getUnitsPerEm() { return unitsPerEm; } /** * Get the stemv property */ public final Stemv getStemv() { return stemv; } /** * Get the src property */ public final Src getSrc() { return src; } /** * Get the panose1 property */ public final Panose1 getPanose1() { return panose1; } /** * Get the widths property */ public final Widths getWidths() { return widths; } /** * Get the bbox property */ public final Bbox getBbox() { return bbox; } /** * Get the stemh property */ public final Stemh getStemh() { return stemh; } /** * Get the slope property */ public final Slope getSlope() { return slope; } /** * Get the ascent property */ public final Ascent getAscent() { return ascent; } /** * Get the descent property */ public final Descent getDescent() { return descent; } /** * Get the cap-height property */ public final CapHeight getCapHeight() { return capHeight; } /** * Get the x-height property */ public final XHeight getXHeight() { return xHeight; } /** * Get the baseline property */ public final Baseline getBaseline() { return baseline; } /** * Get the centerline property */ public final Centerline getCenterline() { return centerline; } /** * Get the mathline property */ public final Mathline getMathline() { return mathline; } /** * Get the topline property */ public final Topline getTopline() { return topline; } /** * Get the definition-src property */ public final DefinitionSrc getDefinitionSrc() { return definitionSrc; } /** * Print this style. * * @param printer The printer interface. */ public void print(CssPrinterStyle printer) { super.print(printer); if (fontFamily != null) { fontFamily.print(printer); } if (fontStyle != null) { fontStyle.print(printer); } if (fontVariant != null) { fontVariant.print(printer); } if (fontWeight != null) { fontWeight.print(printer); } if (fontStretch != null) { fontStretch.print(printer); } if (fontSize != null) { fontSize.print(printer); } if (unitsPerEm != null) { unitsPerEm.print(printer); } if (src != null) { src.print(printer); } if (panose1 != null) { panose1.print(printer); } if (widths != null) { widths.print(printer); } if (bbox != null) { bbox.print(printer); } if (stemv != null) { stemv.print(printer); } if (stemv != null) { stemv.print(printer); } if (stemh != null) { stemh.print(printer); } if (slope != null) { slope.print(printer); } if (ascent != null) { ascent.print(printer); } if (descent != null) { descent.print(printer); } if (capHeight != null) { capHeight.print(printer); } if (xHeight != null) { xHeight.print(printer); } if (baseline != null) { baseline.print(printer); } if (centerline != null) { centerline.print(printer); } if (mathline != null) { mathline.print(printer); } if (topline != null) { topline.print(printer); } if (definitionSrc != null) { definitionSrc.print(printer); } } } --- NEW FILE: Slope.java --- // // $Id: Slope.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Slope extends CssProperty { CssValue value; /** * Create a new Slope */ public Slope() { // nothing to do } /** * Creates a new Slope * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Slope(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Slope(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "slope"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.slope != null) { style0.addRedefinitionWarning(ac, this); } style0.slope = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getSlope(); } else { return ((Css2Style) style).slope; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Stemv.java --- // // $Id: Stemv.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Stemv extends CssProperty { CssValue value; /** * Create a new Stemv */ public Stemv() { // nothing to do } /** * Creates a new Stemv * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Stemv(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Stemv(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "stemv"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.stemv != null) { style0.addRedefinitionWarning(ac, this); } style0.stemv = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getStemv(); } else { return ((Css2Style) style).stemv; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontConstant.java --- // // $Id: FontConstant.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* * $Log: FontConstant.java,v $ * Revision 1.1 2005/08/23 16:33:50 ylafon * major reorganization of property files * * Revision 1.2 2002/04/08 21:17:08 plehegar * New * * Revision 1.3 1997/07/30 13:19:59 plehegar * Updated package * * Revision 1.2 1997/07/17 12:42:03 plehegar * Added font-weight * * Revision 1.1 1997/07/17 12:28:44 plehegar * Initial revision * */ package org.w3c.css.properties.css2.font; /** * @version $Revision: 1.1 $ */ public interface FontConstant { /** * Array of font-style values */ static String[] FONTSTYLE = { "normal", "italic", "oblique" }; /** * Array of font-variant values */ static String[] FONTVARIANT = { "normal", "small-caps" }; /** * Array of font-weight values */ static String[] FONTWEIGHT = { "normal", "bold" }; /** * Array of font-stretch values */ static String[] FONTSTRETCH = { "normal", "wider", "narrower", "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", "inherit" }; } --- NEW FILE: Mathline.java --- // // $Id: Mathline.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Mathline extends CssProperty { CssValue value; /** * Create a new Mathline */ public Mathline() { // nothing to do } /** * Creates a new Mathline * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Mathline(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Mathline(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "mathline"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.mathline != null) { style0.addRedefinitionWarning(ac, this); } style0.mathline = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getMathline(); } else { return ((Css2Style) style).mathline; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontStretch.java --- // // $Id: FontStretch.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class FontStretch extends CssProperty implements FontConstant { Vector values = new Vector(); private static CssIdent all = new CssIdent("all"); /** * Create a new FontStretch */ public FontStretch() { // nothing to do } /** * Creates a new FontStretch * * @param expression the font stretch * @exception InvalidParamException values are incorrect */ public FontStretch(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); if (val.equals(all)) { values.addElement(all); expression.next(); return; } do { if (expression.getValue() instanceof CssIdent) { int hash = ((CssIdent) expression.getValue()).hashCode(); int i = 0; for (; i<hash_values.length; i++) { if (hash_values[i] == hash) { values.addElement(FONTSTRETCH[i]); break; } } if (i == FONTSTRETCH.length) { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public FontStretch(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "font-stretch"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontStretch != null) { style0.addRedefinitionWarning(ac, this); } style0.fontStretch = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontStretch(); } else { return ((Css2Style) style).fontStretch; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } private static int[] hash_values; static { hash_values = new int[FONTSTRETCH.length]; for (int i=0; i<FONTSTRETCH.length; i++) hash_values[i] = FONTSTRETCH[i].hashCode(); } } --- NEW FILE: Widths.java --- // // $Id: Widths.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssUnicodeRange; import org.w3c.css.values.CssValue; /** */ public class Widths extends CssProperty implements CssOperator { Vector values = new Vector(); /** * Create a new Widths */ public Widths() { // nothing to do } /** * Creates a new Widths * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Widths(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val; char op; int i = 0; setByUser(); do { val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssUnicodeRange) { values.addElement(val); if (op != SPACE) { throw new InvalidParamException("operator", new Character(op), getPropertyName(), ac); } if (expression.end()) { throw new InvalidParamException("few-value", getPropertyName(), ac); } expression.next(); } do { op = expression.getOperator(); val = expression.getValue(); if (val instanceof CssNumber) { values.addElement(" "); values.addElement(val); } else { throw new InvalidParamException("value", val, getPropertyName(), ac); } expression.next(); } while ((op == SPACE) && !expression.end()); values.addElement(", "); } while (op == CssOperator.COMMA); } public Widths(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret = ""; int i = 0; while (i < (values.size() - 2)) { ret += values.elementAt(i); i++; } return ret; } /** * Returns the name of this property */ public String getPropertyName() { return "widths"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.widths != null) { style0.addRedefinitionWarning(ac, this); } style0.widths = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getWidths(); } else { return ((Css2Style) style).widths; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Ascent.java --- // // $Id: Ascent.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Ascent extends CssProperty { CssValue value; /** * Create a new Ascent */ public Ascent() { // nothing to do } /** * Creates a new Ascent * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Ascent(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Ascent(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "ascent"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.ascent != null) { style0.addRedefinitionWarning(ac, this); } style0.ascent = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getAscent(); } else { return ((Css2Style) style).ascent; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Panose1.java --- // // $Id: Panose1.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class Panose1 extends CssProperty { CssValue[] value = new CssValue[10]; /** * Create a new Panose1 */ public Panose1() { // nothing to do } /** * Creates a new Panose1 * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Panose1(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val; char op; int i = 0; setByUser(); do { val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssNumber) { value[i++] = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } while (!expression.end() && (op == CssOperator.SPACE) && (i < 10)); if (i != 10) { throw new InvalidParamException("few-value", getPropertyName(), ac); } } public Panose1(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value[0]; } /** * Returns a string representation of the object. */ public String toString() { String ret = ""; for (int i = 0; i < 10; i++) { ret += " " + value[i]; } return ret.substring(1); } /** * Returns the name of this property */ public String getPropertyName() { return "panose-1"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.panose1 != null) { style0.addRedefinitionWarning(ac, this); } style0.panose1 = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getPanose1(); } else { return ((Css2Style) style).panose1; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Stemh.java --- // // $Id: Stemh.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Stemh extends CssProperty { CssValue value; /** * Create a new Stemh */ public Stemh() { // nothing to do } /** * Creates a new Stemh * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Stemh(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Stemh(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "stemh"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.stemh != null) { style0.addRedefinitionWarning(ac, this); } style0.stemh = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getStemh(); } else { return ((Css2Style) style).stemh; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Src.java --- // // $Id: Src.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssFunction; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssString; import org.w3c.css.values.CssURL; import org.w3c.css.values.CssValue; /** * @version $Revision: 1.1 $ */ public class Src extends CssProperty implements CssOperator { Vector values = new Vector(); /** * Create a new CssSrc */ public Src() { } /** * Create a new CssSrc * * @param expression The expression for this property * @exception InvalidParamException Values are incorrect */ public Src(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val; char op; setByUser(); do { val = expression.getValue(); op = expression.getOperator(); if (val instanceof CssURL) { values.addElement(val); expression.next(); if (!expression.end() && (op == SPACE) && (expression.getValue() instanceof CssFunction)) { val = expression.getValue(); // @@ HACK values.addElement(" "); values.addElement(recognizeFormat(ac, (CssFunction) val)); op = expression.getOperator(); expression.next(); } } else if (val instanceof CssFunction) { values.addElement(recognizeFontFaceName(ac, (CssFunction) val)); expression.next(); } else { throw new InvalidParamException("value", val.toString(), getPropertyName(), ac); } // @@HACK values.addElement(", "); } while (op == COMMA); } public Src(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the value of this property */ public Object get() { return null; } /** * Returns the name of this property */ public String getPropertyName() { return "src"; } /** * Returns a string representation of the object. */ public String toString() { String ret = ""; int i = 0; while (i != (values.size() - 1)) { ret += values.elementAt(i++); } return ret; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.src != null) { style0.addRedefinitionWarning(ac, this); } style0.src = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getSrc(); } else { return ((Css2Style) style).src; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } private CssFunction recognizeFormat(ApplContext ac, CssFunction val) throws InvalidParamException { if (val.getName().equals("format")) { CssExpression params = val.getParameters(); char op; params.starts(); do { op = params.getOperator(); if (params.getValue() instanceof CssString) { // nothing } else { throw new InvalidParamException("format", val, getPropertyName(), ac); } params.next(); } while (op == COMMA); if (!params.end()) { throw new InvalidParamException("format", val, getPropertyName(), ac); } params.starts(); return val; } else { throw new InvalidParamException("format", val, getPropertyName(), ac); } } private CssFunction recognizeFontFaceName(ApplContext ac, CssFunction func) throws InvalidParamException { if (func.getName().equals("local")) { CssExpression params = func.getParameters(); char op; params.starts(); if (params.getValue() instanceof CssString) { if (params.getCount() == 1) { return func; } else { throw new InvalidParamException("local", func, getPropertyName(), ac); } } do { op = params.getOperator(); if (params.getValue() instanceof CssIdent) { // nothing } else { throw new InvalidParamException("local", func, getPropertyName(), ac); } params.next(); } while (op == COMMA); if (!params.end()) { throw new InvalidParamException("local", func, getPropertyName(), ac); } params.starts(); return func; } else { throw new InvalidParamException("local", func, getPropertyName(), ac); } } } --- NEW FILE: XHeight.java --- // // $Id: XHeight.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class XHeight extends CssProperty { CssValue value; /** * Create a new XHeight */ public XHeight() { // nothing to do } /** * Creates a new XHeight * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public XHeight(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public XHeight(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "x-height"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.xHeight != null) { style0.addRedefinitionWarning(ac, this); } style0.xHeight = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getXHeight(); } else { return ((Css2Style) style).xHeight; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: Centerline.java --- // // $Id: Centerline.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssValue; /** */ public class Centerline extends CssProperty { CssValue value; /** * Create a new Centerline */ public Centerline() { // nothing to do } /** * Creates a new Centerline * * @param expression the unicode em * @exception InvalidParamException values are incorrect */ public Centerline(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { CssValue val = expression.getValue(); setByUser(); if (val instanceof CssNumber) { value = val; expression.next(); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } public Centerline(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return value; } /** * Returns a string representation of the object. */ public String toString() { return value.toString(); } /** * Returns the name of this property */ public String getPropertyName() { return "centerline"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.centerline != null) { style0.addRedefinitionWarning(ac, this); } style0.centerline = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getCenterline(); } else { return ((Css2Style) style).centerline; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontSize.java --- // // $Id: FontSize.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssLength; import org.w3c.css.values.CssNumber; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class FontSize extends CssProperty implements FontConstant { Vector values = new Vector(); private static CssIdent all = new CssIdent("all"); /** * Create a new FontSize */ public FontSize() { // nothing to do } /** * Creates a new FontSize * * @param expression the font size * @exception InvalidParamException values are incorrect */ public FontSize(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); if (val.equals(all)) { values.addElement(all); expression.next(); return; } do { if (val instanceof CssLength) { // nothing } else if (val instanceof CssNumber) { values.addElement(((CssNumber) val).getLength()); } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } values.addElement(val); op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public FontSize(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "font-size"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontSize != null) { style0.addRedefinitionWarning(ac, this); } style0.fontSize = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontSize(); } else { return ((Css2Style) style).fontSize; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } } --- NEW FILE: FontStyle.java --- // // $Id: FontStyle.java,v 1.1 2005/08/23 16:33:50 ylafon Exp $ // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) // // (c) COPYRIGHT MIT and INRIA, 1997. // Please first read the full copyright statement in file COPYRIGHT.html /* */ package org.w3c.css.properties.css2.font; import java.util.Vector; import org.w3c.css.parser.CssStyle; import org.w3c.css.properties.css1.CssProperty; import org.w3c.css.util.ApplContext; import org.w3c.css.util.InvalidParamException; import org.w3c.css.values.CssExpression; import org.w3c.css.values.CssIdent; import org.w3c.css.values.CssOperator; import org.w3c.css.values.CssValue; /** */ public class FontStyle extends CssProperty implements FontConstant { Vector values = new Vector(); private static CssIdent all = new CssIdent("all"); /** * Create a new FontStyle */ public FontStyle() { // nothing to do } /** * Creates a new FontStyle * * @param expression the font style * @exception InvalidParamException values are incorrect */ public FontStyle(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { char op = expression.getOperator(); CssValue val = expression.getValue(); setByUser(); if (val.equals(all)) { values.addElement(all); expression.next(); return; } do { if (expression.getValue() instanceof CssIdent) { int hash = ((CssIdent) expression.getValue()).hashCode(); int i = 0; for (; i<hash_values.length; i++) { if (hash_values[i] == hash) { values.addElement(FONTSTYLE[i]); break; } } if (i == FONTSTYLE.length) { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } } else { throw new InvalidParamException("value", expression.getValue(), getPropertyName(), ac); } op = expression.getOperator(); expression.next(); } while (op == CssOperator.COMMA); } public FontStyle(ApplContext ac, CssExpression expression) throws InvalidParamException { this(ac, expression, false); } /** * Returns the current value */ public Object get() { return values.elementAt(0); } /** * Returns a string representation of the object. */ public String toString() { String ret =""; int i = 0; while (i < values.size()) { ret += ", " + values.elementAt(i); i++; } return ret.substring(2); } /** * Returns the name of this property */ public String getPropertyName() { return "font-style"; } /** * Add this property to the CssStyle. * * @param style The CssStyle */ public void addToStyle(ApplContext ac, CssStyle style) { Css2Style style0 = (Css2Style) style; if (style0.fontStyle != null) { style0.addRedefinitionWarning(ac, this); } style0.fontStyle = this; } /** * Get this property in the style. * * @param style The style where the property is * @param resolve if true, resolve the style to find this property */ public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) { if (resolve) { return ((Css2Style) style).getFaceFontStyle(); } else { return ((Css2Style) style).fontStyle; } } /** * Compares two properties for equality. * * @param value The other property. */ public boolean equals(CssProperty property) { // @@TODO return false; } /** * Is the value of this property is a default value. * It is used by all macro for the function <code>print</code> */ public boolean isDefault() { return false; } private static int[] hash_values; static { hash_values = new int[FONTSTYLE.length]; for (int i=0; i<FONTSTYLE.length; i++) hash_values[i] = FONTSTYLE[i].hashCode(); } }
Received on Tuesday, 23 August 2005 16:34:30 UTC