blob: 9e48e2c40971b25c7d9f2d8a14d5a88657bc1f74 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#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_util_Color_idl__
#include <com/sun/star/util/Color.idl>
#endif
#ifndef __com_sun_star_awt_FontSlant_idl__
#include <com/sun/star/awt/FontSlant.idl>
#endif
#ifndef __com_sun_star_container_XNameContainer_idl__
#include <com/sun/star/container/XNameContainer.idl>
#endif
//=============================================================================
module com { module sun { module star { module style {
//=============================================================================
/** This is a set of properties to describe the style of characters.@see ParagraphProperties
*/
published service CharacterProperties
{
//-------------------------------------------------------------------------
/** This property specifies the name of the font style.
<p>It may contain more than one name separated by comma.</p>
*/
[property] string CharFontName;
//-------------------------------------------------------------------------
/** This property contains the name of the font style.
<p>This property may be empty.</p>
*/
[property] string CharFontStyleName;
//-------------------------------------------------------------------------
/** This property contains font family.
@see com::sun::star::awt::FontFamily
*/
[property] short CharFontFamily;
//-------------------------------------------------------------------------
/** This property contains the text encoding of the font.
@see com::sun::star::awt::CharSet
*/
[property] short CharFontCharSet;
//-------------------------------------------------------------------------
/** This property contains the font pitch.
@see com::sun::star::awt::FontPitch
*/
[property] short CharFontPitch;
//-------------------------------------------------------------------------
/** This property contains the value of the text color.
*/
[property] com::sun::star::util::Color CharColor;
//-------------------------------------------------------------------------
/** specifies the percentage of raisement/lowerment of superscript/subscript
characters.
<p>Negative values denote subscripts and positive values superscripts.</p>
@see CharEscapementHeight
*/
[optional, property] short CharEscapement;
//-------------------------------------------------------------------------
/** This value contains the height of the characters in point.
*/
[property] float CharHeight;
//-------------------------------------------------------------------------
/** This property contains the value for the character underline.
@see com::sun::star::awt::FontUnderline
*/
[property] short CharUnderline;
//-------------------------------------------------------------------------
/** This property contains the value of the font weight.
@see com::sun::star::awt::FontWeight
*/
[property] float CharWeight;
//-------------------------------------------------------------------------
/** This property contains the value of the posture of the document.
@see com::sun::star::awt::FontSlant
*/
[property] com::sun::star::awt::FontSlant CharPosture;
//-------------------------------------------------------------------------
/** This optional property determines 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;
//-------------------------------------------------------------------------
/** This optional property contains the text background color.
*/
[optional, property] com::sun::star::util::Color CharBackColor;
//-------------------------------------------------------------------------
/** This property determines if the text background color is set to
transparent.
*/
[optional, property] boolean CharBackTransparent;
//-------------------------------------------------------------------------
/** This optional property contains the value of the case-mapping of the
text for formatting and displaying.
@see CaseMap
*/
[optional, property] short CharCaseMap;
//-------------------------------------------------------------------------
/** This property is <TRUE/> if the characters are crossed out.
*/
[optional, property] boolean CharCrossedOut;
//-------------------------------------------------------------------------
/** If this optional property is <TRUE/>, then the characters are flashing.
*/
[optional, property] boolean CharFlash;
//-------------------------------------------------------------------------
/** This property 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;
//-------------------------------------------------------------------------
/** This optional property contains the value of the kerning of the
characters.
*/
[optional, property] short CharKerning;
//-------------------------------------------------------------------------
/** This property contains the value of the locale.
*/
[property] com::sun::star::lang::Locale CharLocale;
//-------------------------------------------------------------------------
/** This optional property 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;
//-------------------------------------------------------------------------
/** This optional property 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;
//-------------------------------------------------------------------------
/** This optional property specifies if the characters are formatted and
displayed with a shadow effect.
*/
[optional, property] boolean CharShadowed;
//-------------------------------------------------------------------------
/** This optional property specifies the fundamental technology of the font.
@see com::sun::star::awt::FontType
*/
[optional, property] short CharFontType;
//-------------------------------------------------------------------------
/** This optional property specifies the name of the style of the font.
*/
[optional, property] string CharStyleName;
//-------------------------------------------------------------------------
/** This optional property specifies if the characters are formatted and
displayed with a contour effect.
*/
[optional, property] boolean CharContoured;
//-------------------------------------------------------------------------
/** This optional property determins whether text is formatted in two lines.
<p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
*/
[optional, property] boolean CharCombineIsOn;
//-------------------------------------------------------------------------
/** This optional property 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;
//-------------------------------------------------------------------------
/** This optional property 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;
//-------------------------------------------------------------------------
/** This optional property contains the font emphasis value.
@see com::sun::star::text::FontEmphasis
*/
[optional, property] short CharEmphasis;
//-------------------------------------------------------------------------
/** This optional property contains the relief style of the characters.
@see com::sun::star::text::FontRelief
*/
[optional, property] short CharRelief;
//-------------------------------------------------------------------------
/** This optional property contains the text that is set as ruby.
*/
[optional, property] string RubyText;
//-------------------------------------------------------------------------
/** This optional property determins the adjustment of the ruby .
@see com::sun::star::text::RubyAdjust
*/
[optional, property] short RubyAdjust;
//-------------------------------------------------------------------------
/** This optional property contains the name of the character style that is
applied to RubyText.
*/
[optional, property] string RubyCharStyleName;
//-------------------------------------------------------------------------
/** This optional property determins whether the ruby text is printed
above/left or below/right of the text.
*/
[optional, property] boolean RubyIsAbove;
//-------------------------------------------------------------------------
/** This optional property determins the rotation of a character in tenths
of a degree.
<p>Depending on the implementation only certain values may be allowed.</p>
*/
[optional, property] short CharRotation;
//-------------------------------------------------------------------------
/** This optional property determins whether the text formatting tries to
fit rotated text into the surrounded line height.
*/
[optional, property] boolean CharRotationIsFitToLine;
//-------------------------------------------------------------------------
/** This optional property determins the percentage value for scaling the
width of characters.
<p>The value refers to the original width which is denoted by 100,
and it has to be greater than 0.</p>
*/
[optional, property] short CharScaleWidth;
//-------------------------------------------------------------------------
/** This optional property contains the URL of a hyperlink.
*/
[optional, property] string HyperLinkURL;
//-------------------------------------------------------------------------
/** This optional property contains the name of the target for a hyperlink.
*/
[optional, property] string HyperLinkTarget;
//-------------------------------------------------------------------------
/** This optional property contains the name of the hyperlink.
*/
[optional, property] string HyperLinkName;
//-------------------------------------------------------------------------
/** This optional property contains the character style name for visited
hyperlinks.
*/
[optional, property] string VisitedCharStyleName;
//-------------------------------------------------------------------------
/** This optional property contains the character style name for unvisited
hyperlinks.
*/
[optional, property] string UnvisitedCharStyleName;
//-------------------------------------------------------------------------
/** This is the relative height used for subscript or superscript
characters in units of percent.
<p>The value 100 denotes the original height of the characters.</p>
@see CharEscapement
*/
[optional, property] byte CharEscapementHeight;
//-------------------------------------------------------------------------
/** This optional property determines if the word can be hyphenated at the
character.
*/
[optional, property] boolean CharNoHyphenation;
//-------------------------------------------------------------------------
/** This property contains the color of the underline for the characters.
@see CharUnderlineHasColor
*/
[property] com::sun::star::util::Color CharUnderlineColor;
//-------------------------------------------------------------------------
/** This property specifies if the property CharUnderlineColor is used for
an underline.
@see CharUnderlineColor
*/
[property] boolean CharUnderlineHasColor;
//-------------------------------------------------------------------------
/** This optional property 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 OpenOffice 1.1.2
*/
[optional, property] sequence<string> CharStyleNames;
//-------------------------------------------------------------------------
/** If this optional property is <TRUE/>, then the characters are invisible.
@since OpenOffice 2.0
*/
[optional, property] boolean CharHidden;
//-------------------------------------------------------------------------
/** This property stores XML attributes. They will be saved to and restored
from automatic styles inside XML files.
@see com::sun::star::xml::AttributeContainer
*/
[optional, property] com::sun::star::container::XNameContainer TextUserDefinedAttributes;
};
//=============================================================================
}; }; }; };
#endif