All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.w3c.css.properties.css1.CssFontVariant Maven / Gradle / Ivy

The newest version!
//
// $Id: CssFontVariant.java,v 1.4 2010-01-05 13:49:43 ylafon Exp $
// From Philippe Le Hegaret ([email protected])
//
// (c) COPYRIGHT MIT and INRIA, 1997.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css1;

import org.w3c.css.parser.CssStyle;
import org.w3c.css.properties.css.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;

/**
 *   

*    'font-variant' *

*

* Value: normal | small-caps
* Initial: normal
* Applies to: all elements
* Inherited: yes
* Percentage values: N/A
*

Another type of variation within a font family is the small-caps. In a * small-caps font the lower case letters look similar to the uppercase ones, * but in a smaller size and with slightly different proportions. The * 'font-variant' property selects that font. *

A value of 'normal' selects a font that is not a small-caps font, * 'small-caps' selects a small-caps font. It is acceptable (but not required) * in CSS1 if the small-caps font is a created by taking a normal font and * replacing the lower case letters by scaled uppercase characters. As a last * resort, uppercase letters will be used as replacement for a small-caps * font. *

The following example results in an 'H3' element in small-caps, with * emphasized words in oblique small-caps: *

 *   H3 { font-variant: small-caps }
 *   EM { font-style: oblique }
 *   
*

There may be other variants in the font family as well, such as fonts * with old-style numerals, small-caps numerals, condensed or expanded * letters, etc. CSS1 has no properties that select those. *

CSS1 core: insofar as this property causes text to be * transformed to uppercase, the same considerations as for 'text-transform' * apply * * @see CssFont * @see TextTransform * @version $Revision: 1.4 $ */ public class CssFontVariant extends CssProperty implements CssFontConstant { int value; /** * Create a new CssFontVariant */ public CssFontVariant() { // nothing to do } /** * Creates a new CssFontVariant * * @param expression the font variant * @exception InvalidParamException Values are incorrect */ public CssFontVariant(ApplContext ac, CssExpression expression, boolean check) throws InvalidParamException { if(check && expression.getCount() > 1) { throw new InvalidParamException("unrecognize", ac); } setByUser(); if (expression.getValue() instanceof CssIdent) { int hash = expression.getValue().hashCode(); for (int i=0; iprint */ public boolean isDefault() { return value == 0; } private static int[] hash_values; static { hash_values = new int[FONTVARIANT.length]; for (int i=0;i





© 2015 - 2024 Weber Informatics LLC | Privacy Policy