/*************************************************************************
 *
 *  $RCSfile: CharacterProperties.idl,v $
 *
 *  $Revision: 1.21 $
 *
 *  last change: $Author: hr $ $Date: 2003/06/30 14:55:35 $
 *
 *  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
	/** specifies the percentage of raisement/lowerment of superscript/subscript 
		characters.

		<p>Negative values lower the character.
	 */
	[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, property] boolean CharAutoKerning;

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

	// DocMerge from xml: property com::sun::star::style::CharacterProperties::CharBackColor
	/** optional property which contains the text background color.
	 */
	[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.

		@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, 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, 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, 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, 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, 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, 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, property] boolean CharShadowed;

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

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

		@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, property] boolean CharContoured;
	//-------------------------------------------------------------------------
	/** determins whether text is formatted in two lines.
	 <p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
	 */
	[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, 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, property] string CharCombineSuffix;
	//-------------------------------------------------------------------------
	/** contains the font emphasis value as <type scope="com::sun::star::text">FontEmphasis</type>.
	 */
	[optional, property] short CharEmphasize;
    //-------------------------------------------------------------------------
    /** contains the relief value as <type scope="com::sun::star::text">FontRelief</type>.
	 */
    [optional, property] short CharRelief;
    //-------------------------------------------------------------------------
	/** contains the text that is set as ruby.
	 */
	[optional, property] string RubyText;
	//-------------------------------------------------------------------------
	/** determins the adjustment of the ruby text as <type scope="com::sun::star::text">RubyAdjust</type>.
	 */
	[optional, property] short RubyAdjust;
	//-------------------------------------------------------------------------
	/** contains the name of the character style that is applied to RubyText.
	 */
	[optional, property] string RubyCharStyleName;
    //-------------------------------------------------------------------------
    /** determins whether the ruby text is printed above/left or below/right of the text.
	 */
    [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, property] short CharRotation;
	//-------------------------------------------------------------------------
	/** determins whether the text formatting tries to fit rotated text into the
	 	surrounded line height.
	 */
	[optional, property] boolean CharRotationIsFitToLine;
	//-------------------------------------------------------------------------
	/** determins the percentage value of scaling of characters.

		<p>This is used for superscript/subscript


		@see CharacterProperties::CharEscapement
	 */
	[optional, property] short CharScaleWidth;

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

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

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

    //--------------------------------------------------------------------
    /** contains the character style name for visited hyperlinks.
     */
    [optional, property] string VisitedCharStyleName;

    //--------------------------------------------------------------------
    /** contains the character style name for unvisited hyperlinks.
     */
    [optional, property] string UnvisitedCharStyleName;

    //-------------------------------------------------------------------------
    /** 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;

    //-------------------------------------------------------------------------
    /** specifies the names of the all styles applied to the font.
        <p> It is not guaranteed that the order in the sequence reflects 
        the order of the evaluation of the character style attributes.</p>

    @since #107627#
     */
    [optional, property] sequence<string> CharStyleNames;
};

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

#endif
