/*************************************************************************
 *
 *  $RCSfile: CharacterProperties.idl,v $
 *
 *  $Revision: 1.11.4.2 $
 *
 *  last change: $Author: mi $ $Date: 2003/01/21 17:49:49 $
 *
 *  The Contents of this file are made available subject to the terms of
 *  either of the following licenses
 *
 *         - GNU Lesser General Public License Version 2.1
 *         - Sun Industry Standards Source License Version 1.1
 *
 *  Sun Microsystems Inc., October, 2000
 *
 *  GNU Lesser General Public License Version 2.1
 *  =============================================
 *  Copyright 2000 by Sun Microsystems, Inc.
 *  901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License version 2.1, as published by the Free Software Foundation.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *  MA  02111-1307  USA
 *
 *
 *  Sun Industry Standards Source License Version 1.1
 *  =================================================
 *  The contents of this file are subject to the Sun Industry Standards
 *  Source License Version 1.1 (the "License"); You may not use this file
 *  except in compliance with the License. You may obtain a copy of the
 *  License at http://www.openoffice.org/license.html.
 *
 *  Software provided under this License is provided on an "AS IS" basis,
 *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
 *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
 *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
 *  See the License for the specific provisions governing your rights and
 *  obligations concerning the Software.
 *
 *  The Initial Developer of the Original Code is: Sun Microsystems, Inc.
 *
 *  Copyright: 2000 by Sun Microsystems, Inc.
 *
 *  All Rights Reserved.
 *
 *  Contributor(s): _______________________________________
 *
 *
 ************************************************************************/
#ifndef __com_sun_star_style_CharacterProperties_idl__
#define __com_sun_star_style_CharacterProperties_idl__

#ifndef __com_sun_star_lang_Locale_idl__
#include <com/sun/star/lang/Locale.idl>
#endif

#ifndef __com_sun_star_awt_FontSlant_idl__
#include <com/sun/star/awt/FontSlant.idl>
#endif


//=============================================================================

 module com {  module sun {  module star {  module style {

//=============================================================================

// DocMerge from xml: service com::sun::star::style::CharacterProperties
/** This is a set of properties to describe the style of characters.@see ParagraphProperties
 */
service CharacterProperties
{
	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontName
	/** This property specifies the name of the font style.



		<p>It may contain more than one name separated by comma.</p>
	 */
	[property] string CharFontName;
	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontStyleName
	/** This property contains the name of the font style.

		<p>This property may be empty.</p>
	 */
	[property] string CharFontStyleName;
	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontFamily
	/** This property contains font family as specified in
		com.sun.star.awt.FontFamily .
	 */
	[property] short CharFontFamily;
	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontCharSet
	/** This property contains the text encoding of the font as specified in
		com.sun.star.awt.CharSet.
	 */
	[property] short CharFontCharSet;
	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontPitch
	/** This property contains the font pitch as specified in com.sun.star.awt.FontPitch.
	 */
	[property] short CharFontPitch;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharColor
	/** This property contains the value of the text color.
	 */
	[property] long CharColor;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharEscapement
	/** optional property which contains the relative value of the character
		height in subscription or superscription.

		@optional
	 */
	[optional, property] short CharEscapement;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharHeight
	/** This value contains the height of the characters in point.
	 */
	[property] float CharHeight;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharUnderline
	/** This property contains the value for the character underline.@see com::sun::star::awt::FontUnderline
	 */
	[property] short CharUnderline;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharWeight
	/** This property contains the value of the font weight.@see com::sun::star::awt::FontWeight
	 */
	[property] float CharWeight;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharPosture
	/** This property contains the value of the posture of the document.@see com::sun::star::awt::FontSlant
	 */
	[property] com::sun::star::awt::FontSlant CharPosture;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharAutoKerning
	/** optional property to determine whether the kerning tables from the current font are used.


		<p>Automatic <em>kerning</em> applies a spacing in between certain
		pairs of characters to make the text look better.</p>

		@optional
	 */
	[optional, property] boolean CharAutoKerning;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharBackColor
	/** optional property which contains the text background color.

		@optional
	 */
	[optional, property] long CharBackColor;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharBackTransparent
	/** determines if the text background color is set to transparent.
	 */
	[optional, property] boolean CharBackTransparent;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharCaseMap
	/** optional property which contains the value of the case-mapping of the
		text for formatting and displaying.

		@optional

		@see CaseMap
	 */
	[optional, property] short CharCaseMap;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharCrossedOut
	/** This property is <TRUE/> if the character(s) is(are) crossed out.

		@optional
	 */
	[optional, property] boolean CharCrossedOut;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFlash
	/** If this optional property is <TRUE/>, then the characters are flashing.

		@optional
	 */
	[optional, property] boolean CharFlash;

	//-------------------------------------------------------------------------
	/**	determins the type of the strike out of the character.
		@see com.sun.star.awt.FontStrikeout
	*/
	[optional, property] short CharStrikeout;

	//-------------------------------------------------------------------------
	/**	If this property is <TRUE/>, the underline and strike-through
		properties are not applied to white spaces.

		@optional
	 */
	[optional, property] boolean CharWordMode;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharKerning
	/** optional property which contains the value of the kerning of the characters.

		@optional
	 */
	[optional, property] short CharKerning;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharLocale
	/** contains the value of the locale.
	 */
	[property] com::sun::star::lang::Locale CharLocale;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharKeepTogether
	/** optional property which marks a range of characters to prevent it from being broken into two lines.

		<p> A line break is applied before the range of characters if
		the layout makes a break necessary within the range.</p>

		@optional
	 */
	[optional, property] boolean CharKeepTogether;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharNoLineBreak
	/** optional property which marks a range of characters to ignore a line break in this area.

		<p> A line break is applied behind the range of characters if
		the layout makes a break necessary within the range. That means that
		the text may go through the border.</p>

		@optional
	 */
	[optional, property] boolean CharNoLineBreak;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharShadowed
	/** specifies if the characters are formatted and
		displayed with a shadow effect.

		@optional
	 */
	[optional, property] boolean CharShadowed;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharFontType
	/** optional property which specifies the fundamental technology of the font.

		@optional@see com::sun::star::awt::FontType
	 */
	[optional, property] short CharFontType;

	//-------------------------------------------------------------------------

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharStyleName
	/** specifies the name of the style of the font.
	 */
	[optional, property] string CharStyleName;

	//-------------------------------------------------------------------------
	/** specifies if the characters are formatted and
		displayed with a contour effect.

		@optional
	 */
	[optional, property] boolean CharContoured;
	//-------------------------------------------------------------------------
	/** determins whether text is formatted in two lines.
	 <p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
		@optional
	 */
	[optional, property] boolean CharCombineIsOn;
	//-------------------------------------------------------------------------
	/** contains the prefix (usually parenthesis) before text that is formatted in two lines.
	 <p>It is linked to the properties CharCombineIsOn and CharCombineSuffix.</p>
		@optional
	 */
	[optional, property] string CharCombinePrefix;
	//-------------------------------------------------------------------------
	/** contains the suffix (usually parenthesis) after text that is formatted in two lines.
	 <p>It is linked to the properties CharCombineIsOn and CharCombinePrefix.</p>
		@optional
	 */
	[optional, property] string CharCombineSuffix;
	//-------------------------------------------------------------------------
	/** contains the font emphasis value as <type scope="com::sun::star::text">FontEmphasis</type>.
		@optional
	 */
	[optional, property] short CharEmphasize;
    //-------------------------------------------------------------------------
    /** contains the relief value as <type scope="com::sun::star::text">FontRelief</type>.
		@optional
	 */
    [optional, property] short CharRelief;
    //-------------------------------------------------------------------------
	/** contains the text that is set as ruby.
		@optional
	 */
	[optional, property] string RubyText;
	//-------------------------------------------------------------------------
	/** determins the adjustment of the ruby text as <type scope="com::sun::star::text">RubyAdjust</type>.
		@optional
	 */
	[optional, property] short RubyAdjust;
	//-------------------------------------------------------------------------
	/** contains the name of the character style that is applied to RubyText.
		@optional
	 */
	[optional, property] string RubyCharStyleName;
    //-------------------------------------------------------------------------
    /** determins whether the ruby text is printed above/left or below/right of the text.
		@optional
	 */
    [optional, property] boolean RubyIsAbove;

	//-------------------------------------------------------------------------
	/** determins the rotation of a character in degree.
	 	<p>Depending on the implementation only certain values may be allowed.
		</p>
		@optional
	 */
	[optional, property] short CharRotation;
	//-------------------------------------------------------------------------
	/** determins whether the text formatting tries to fit rotated text into the
	 	surrounded line height.
		@optional
	 */
	[optional, property] boolean CharRotationIsFitToLine;
	//-------------------------------------------------------------------------
	/** determins the percentage value of scaling of characters.
		@optional
	 */
	[optional, property] short CharScaleWidth;

    //-------------------------------------------------------------------------
    /** contains the URL of a hyperlink (if set).
	 */
    [property, optional] string HyperLinkURL;

	//-------------------------------------------------------------------------
    /** contains the name of the target for a hyperlink (if set).
	 */
    [property, optional] string HyperLinkTarget;

	//-------------------------------------------------------------------------
    /** contains the name of the hyperlink (if set).
	 */
    [property, optional] string HyperLinkName;

        //-------------------------------------------------------------------------
        /** This is the additional height used for subscript or superscript
            characters in units of percent.
            For subscript characters the value is negative and for
            superscript characters positive.
         */
        [optional, property] byte CharEscapementHeight;

        //-------------------------------------------------------------------------
        /** determines if the word can be hyphenated at the character.
         */
        [optional, property] boolean CharNoHyphenation;

        //-------------------------------------------------------------------------
        /** gives the color of the underline for that character.
         */
        [property] long CharUnderlineColor;

        //-------------------------------------------------------------------------
        /** specifies if the CharUnderlineColor is used for an underline.
         */
        [property] boolean CharUnderlineHasColor;

        //-------------------------------------------------------------------------
};

//=============================================================================
}; }; }; };

#endif
