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_awt_FontDescriptor_idl__
28#define __com_sun_star_awt_FontDescriptor_idl__
29
30#ifndef __com_sun_star_awt_FontSlant_idl__
31#include <com/sun/star/awt/FontSlant.idl>
32#endif
33
34
35//=============================================================================
36
37 module com {  module sun {  module star {  module awt {
38
39//=============================================================================
40
41/** describes the characteristics of a font.
42
43	<p>For example, this can be used to select a font.</p>
44 */
45published struct FontDescriptor
46{
47	//-------------------------------------------------------------------------
48
49	/** specifies the exact name of the font.
50	 */
51	string Name;
52
53	//-------------------------------------------------------------------------
54
55	/** specifies the height of the font in the measure of the
56		destination.
57	 */
58	short Height;
59
60	//-------------------------------------------------------------------------
61
62	/** specifies the width of the font in the measure of the
63		destination.
64	 */
65	short Width;
66
67	//-------------------------------------------------------------------------
68
69	/** specifies the style name of the font.
70	 */
71	string StyleName;
72
73	//-------------------------------------------------------------------------
74
75	/** specifies the general style of the font.
76
77		<p>Use one value out of the constant group
78        <type scope="com::sun::star::awt">FontFamily</type>.</p>
79	 */
80	short Family;
81
82	//-------------------------------------------------------------------------
83
84	/** specifies the character set which is supported by the font.
85
86		<p>Use one value out of the constant group
87		<type scope="com::sun::star::awt">CharSet</type>.</p>
88	 */
89	short CharSet;
90
91	//-------------------------------------------------------------------------
92
93	/** specifies the pitch of the font.
94
95		<p>Use one value out of the constant group
96		<type scope="com::sun::star::awt">FontPitch</type>.</p>
97	 */
98	short Pitch;
99
100	//-------------------------------------------------------------------------
101
102	/** specifies the character width.
103
104		<p>Depending on the specified width, a font that supports this
105		width may be selected.</p>
106
107		<p>The value is expressed as a percentage.</p>
108	 */
109	float CharacterWidth;
110
111	//-------------------------------------------------------------------------
112
113	/** specifies the thickness of the line.
114
115		<p>Depending on the specified weight, a font that supports this
116        thickness may be selected.</p>
117
118		<p>The value is expressed as a percentage.</p>
119	 */
120	float Weight;
121
122	//-------------------------------------------------------------------------
123
124	/** specifies the slant of the font.
125	 */
126	com::sun::star::awt::FontSlant Slant;
127
128	//-------------------------------------------------------------------------
129
130	/** specifies the kind of underlining.
131
132        <p>Use one value out of the constant group
133        <type scope="com::sun::star::awt">FontUnderline</type>.</p>
134	 */
135	short Underline;
136
137	//-------------------------------------------------------------------------
138
139	/** specifies the kind of strikeout.
140
141        <p>Use one value out of the constant group
142        <type scope="com::sun::star::awt">FontStrikeout</type>.</p>
143	 */
144	short Strikeout;
145
146	//-------------------------------------------------------------------------
147
148	/** specifies the rotation of the font.
149
150		<p>The unit of measure is degrees; 0 is the baseline.</p>
151	 */
152	float Orientation;
153
154	//-------------------------------------------------------------------------
155
156	/** For requesting, it specifies if there is a kerning table available.
157		For selecting, it specifies if the kerning table is to be used.
158	 */
159	boolean Kerning;
160
161	//-------------------------------------------------------------------------
162
163	/** specifies if only words get underlined.
164
165		<p><TRUE/> means that only non-space characters get underlined,
166		<FALSE/> means that the spacing also gets underlined.</p>
167
168		<p>This property is only valid if the property
169		<member scope="com::sun::star::awt">FontDescriptor::Underline</member>
170        is not <const>FontUnderline::NONE</const>.</p>
171	 */
172	boolean WordLineMode;
173
174	//-------------------------------------------------------------------------
175
176	/** specifies the technology of the font representation.
177
178		<p>One or more values out of the constant group
179		<type scope="com::sun::star::awt">FontType</type> can be combined by
180        an arithmetical or-operation.</p>
181	 */
182	short Type;
183
184};
185
186//=============================================================================
187
188}; }; }; };
189
190#endif
191