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