1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_style_CharacterProperties_idl__
28#define __com_sun_star_style_CharacterProperties_idl__
29
30#ifndef __com_sun_star_lang_Locale_idl__
31#include <com/sun/star/lang/Locale.idl>
32#endif
33
34#ifndef __com_sun_star_util_Color_idl__
35#include <com/sun/star/util/Color.idl>
36#endif
37
38#ifndef __com_sun_star_awt_FontSlant_idl__
39#include <com/sun/star/awt/FontSlant.idl>
40#endif
41
42#ifndef __com_sun_star_container_XNameContainer_idl__
43#include <com/sun/star/container/XNameContainer.idl>
44#endif
45
46
47//=============================================================================
48
49 module com {  module sun {  module star {  module style {
50
51//=============================================================================
52
53/** This is a set of properties to describe the style of characters.@see ParagraphProperties
54 */
55published service CharacterProperties
56{
57	//-------------------------------------------------------------------------
58
59	/** This property specifies the name of the font style.
60
61		<p>It may contain more than one name separated by comma.</p>
62	 */
63	[property] string CharFontName;
64
65    //-------------------------------------------------------------------------
66
67	/** This property contains the name of the font style.
68
69		<p>This property may be empty.</p>
70	 */
71	[property] string CharFontStyleName;
72
73    //-------------------------------------------------------------------------
74
75    /** This property contains font family.
76        @see com::sun::star::awt::FontFamily
77	 */
78	[property] short CharFontFamily;
79
80    //-------------------------------------------------------------------------
81
82    /** This property contains the text encoding of the font.
83        @see com::sun::star::awt::CharSet
84	 */
85	[property] short CharFontCharSet;
86
87    //-------------------------------------------------------------------------
88
89    /** This property contains the font pitch.
90        @see com::sun::star::awt::FontPitch
91	 */
92	[property] short CharFontPitch;
93
94	//-------------------------------------------------------------------------
95
96	/** This property contains the value of the text color.
97	 */
98	[property] com::sun::star::util::Color CharColor;
99
100	//-------------------------------------------------------------------------
101
102	/** specifies the percentage of raisement/lowerment of superscript/subscript
103        characters.
104
105        <p>Negative values denote subscripts and positive values superscripts.</p>
106
107        @see CharEscapementHeight
108	 */
109	[optional, property] short CharEscapement;
110
111	//-------------------------------------------------------------------------
112
113	/** This value contains the height of the characters in point.
114	 */
115	[property] float CharHeight;
116
117	//-------------------------------------------------------------------------
118
119    /** This property contains the value for the character underline.
120        @see com::sun::star::awt::FontUnderline
121	 */
122	[property] short CharUnderline;
123
124	//-------------------------------------------------------------------------
125
126    /** This property contains the value of the font weight.
127        @see com::sun::star::awt::FontWeight
128	 */
129	[property] float CharWeight;
130
131	//-------------------------------------------------------------------------
132
133    /** This property contains the value of the posture of the document.
134        @see com::sun::star::awt::FontSlant
135	 */
136	[property] com::sun::star::awt::FontSlant CharPosture;
137
138	//-------------------------------------------------------------------------
139
140    /** This optional property determines whether the kerning tables from the
141        current font are used.
142
143		<p>Automatic <em>kerning</em> applies a spacing in between certain
144		pairs of characters to make the text look better.</p>
145	 */
146	[optional, property] boolean CharAutoKerning;
147
148	//-------------------------------------------------------------------------
149
150    /** This optional property contains the text background color.
151	 */
152	[optional, property] com::sun::star::util::Color CharBackColor;
153
154	//-------------------------------------------------------------------------
155
156    /** This property determines if the text background color is set to
157        transparent.
158	 */
159	[optional, property] boolean CharBackTransparent;
160
161	//-------------------------------------------------------------------------
162
163    /** This optional property contains the value of the case-mapping of the
164		text for formatting and displaying.
165
166		@see CaseMap
167	 */
168	[optional, property] short CharCaseMap;
169
170	//-------------------------------------------------------------------------
171
172    /** This property is <TRUE/> if the characters are crossed out.
173	 */
174	[optional, property] boolean CharCrossedOut;
175
176	//-------------------------------------------------------------------------
177
178	/** If this optional property is <TRUE/>, then the characters are flashing.
179	 */
180	[optional, property] boolean CharFlash;
181
182	//-------------------------------------------------------------------------
183
184    /** This property determins the type of the strike out of the character.
185        @see com::sun::star::awt::FontStrikeout
186	*/
187	[optional, property] short CharStrikeout;
188
189	//-------------------------------------------------------------------------
190
191	/**	If this property is <TRUE/>, the underline and strike-through
192		properties are not applied to white spaces.
193	 */
194	[optional, property] boolean CharWordMode;
195
196	//-------------------------------------------------------------------------
197
198    /** This optional property contains the value of the kerning of the
199        characters.
200	 */
201	[optional, property] short CharKerning;
202
203	//-------------------------------------------------------------------------
204
205    /** This property contains the value of the locale.
206     */
207    [property] com::sun::star::lang::Locale CharLocale;
208
209   //-------------------------------------------------------------------------
210
211    /** This optional property marks a range of characters to prevent it from
212        being broken into two lines.
213
214        <p> A line break is applied before the range of characters if
215        the layout makes a break necessary within the range.</p>
216    */
217    [optional, property] boolean CharKeepTogether;
218
219    //-------------------------------------------------------------------------
220
221    /** This optional property marks a range of characters to ignore a line
222        break in this area.
223
224        <p> A line break is applied behind the range of characters if
225        the layout makes a break necessary within the range. That means that
226        the text may go through the border.</p>
227     */
228    [optional, property] boolean CharNoLineBreak;
229
230    //-------------------------------------------------------------------------
231
232    /** This optional property specifies if the characters are formatted and
233        displayed with a shadow effect.
234     */
235    [optional, property] boolean CharShadowed;
236
237    //-------------------------------------------------------------------------
238
239    /** This optional property specifies the fundamental technology of the font.
240        @see com::sun::star::awt::FontType
241     */
242    [optional, property] short CharFontType;
243
244    //-------------------------------------------------------------------------
245
246    /** This optional property specifies the name of the style of the font.
247     */
248    [optional, property] string CharStyleName;
249
250    //-------------------------------------------------------------------------
251
252    /** This optional property specifies if the characters are formatted and
253        displayed with a contour effect.
254     */
255    [optional, property] boolean CharContoured;
256
257    //-------------------------------------------------------------------------
258
259    /** This optional property determins whether text is formatted in two lines.
260
261        <p>It is linked to the properties CharCombinePrefix and CharCombineSuffix.</p>
262     */
263    [optional, property] boolean CharCombineIsOn;
264
265    //-------------------------------------------------------------------------
266
267    /** This optional property contains the prefix (usually parenthesis) before
268        text that is formatted in two lines.
269
270        <p>It is linked to the properties CharCombineIsOn and CharCombineSuffix.</p>
271     */
272    [optional, property] string CharCombinePrefix;
273
274    //-------------------------------------------------------------------------
275
276    /** This optional property contains the suffix (usually parenthesis) after
277        text that is formatted in two lines.
278
279        <p>It is linked to the properties CharCombineIsOn and CharCombinePrefix.</p>
280     */
281    [optional, property] string CharCombineSuffix;
282
283    //-------------------------------------------------------------------------
284
285    /** This optional property contains the font emphasis value.
286        @see com::sun::star::text::FontEmphasis
287     */
288    [optional, property] short CharEmphasis;
289
290    //-------------------------------------------------------------------------
291
292    /** This optional property contains the relief style of the characters.
293        @see com::sun::star::text::FontRelief
294     */
295    [optional, property] short CharRelief;
296
297    //-------------------------------------------------------------------------
298
299    /** This optional property contains the text that is set as ruby.
300     */
301    [optional, property] string RubyText;
302
303    //-------------------------------------------------------------------------
304
305    /** This optional property determins the adjustment of the ruby .
306        @see com::sun::star::text::RubyAdjust
307     */
308    [optional, property] short RubyAdjust;
309
310    //-------------------------------------------------------------------------
311
312    /** This optional property contains the name of the character style that is
313        applied to RubyText.
314     */
315    [optional, property] string RubyCharStyleName;
316
317    //-------------------------------------------------------------------------
318
319    /** This optional property determins whether the ruby text is printed
320        above/left or below/right of the text.
321     */
322    [optional, property] boolean RubyIsAbove;
323
324    //-------------------------------------------------------------------------
325
326    /** This optional property determins the rotation of a character in tenths
327        of a degree.
328
329       <p>Depending on the implementation only certain values may be allowed.</p>
330     */
331    [optional, property] short CharRotation;
332
333    //-------------------------------------------------------------------------
334
335    /** This optional property determins whether the text formatting tries to
336        fit rotated text into the surrounded line height.
337     */
338    [optional, property] boolean CharRotationIsFitToLine;
339
340    //-------------------------------------------------------------------------
341
342    /** This optional property determins the percentage value for scaling the
343        width of characters.
344
345        <p>The value refers to the original width which is denoted by 100,
346        and it has to be greater than 0.</p>
347   */
348    [optional, property] short CharScaleWidth;
349
350    //-------------------------------------------------------------------------
351
352    /** This optional property contains the URL of a hyperlink.
353     */
354    [optional, property] string HyperLinkURL;
355
356    //-------------------------------------------------------------------------
357
358    /** This optional property contains the name of the target for a hyperlink.
359     */
360    [optional, property] string HyperLinkTarget;
361
362    //-------------------------------------------------------------------------
363
364    /** This optional property contains the name of the hyperlink.
365     */
366    [optional, property] string HyperLinkName;
367
368    //-------------------------------------------------------------------------
369
370    /** This optional property contains the character style name for visited
371        hyperlinks.
372     */
373    [optional, property] string VisitedCharStyleName;
374
375    //-------------------------------------------------------------------------
376
377    /** This optional property contains the character style name for unvisited
378        hyperlinks.
379     */
380    [optional, property] string UnvisitedCharStyleName;
381
382    //-------------------------------------------------------------------------
383
384    /** This is the relative height used for subscript or superscript
385        characters in units of percent.
386
387        <p>The value 100 denotes the original height of the characters.</p>
388
389        @see CharEscapement
390     */
391    [optional, property] byte CharEscapementHeight;
392
393    //-------------------------------------------------------------------------
394
395    /** This optional property determines if the word can be hyphenated at the
396        character.
397     */
398    [optional, property] boolean CharNoHyphenation;
399
400    //-------------------------------------------------------------------------
401
402    /** This property contains the color of the underline for the characters.
403        @see CharUnderlineHasColor
404     */
405    [property] com::sun::star::util::Color CharUnderlineColor;
406
407    //-------------------------------------------------------------------------
408
409    /** This property specifies if the property CharUnderlineColor is used for
410        an underline.
411        @see CharUnderlineColor
412     */
413    [property] boolean CharUnderlineHasColor;
414
415    //-------------------------------------------------------------------------
416
417    /** This optional property specifies the names of the all styles applied to
418        the font.
419
420        <p> It is not guaranteed that the order in the sequence reflects
421        the order of the evaluation of the character style attributes.</p>
422
423        @since OOo 1.1.2
424     */
425    [optional, property] sequence<string> CharStyleNames;
426
427    //-------------------------------------------------------------------------
428
429    /** If this optional property is <TRUE/>, then the characters are invisible.
430
431        @since OOo 2.0
432     */
433    [optional, property] boolean CharHidden;
434
435    //-------------------------------------------------------------------------
436
437    /** This property stores XML attributes. They will be saved to and restored
438        from automatic styles inside XML files.
439
440        @see com::sun::star::xml::AttributeContainer
441     */
442    [optional, property] com::sun::star::container::XNameContainer  TextUserDefinedAttributes;
443
444};
445
446//=============================================================================
447}; }; }; };
448
449#endif
450
451