1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: FontRequest.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_rendering_FontRequest_idl__
31 #define __com_sun_star_rendering_FontRequest_idl__
33 #ifndef __com_sun_star_rendering_FontInfo_idl__
34 #include
<com
/sun
/star
/rendering
/FontInfo.idl
>
37 #ifndef __com_sun_star_lang_Locale_idl__
38 #include
<com
/sun
/star
/lang
/Locale.idl
>
41 module com
{ module sun
{ module star
{ module rendering
{
43 /** This structure contains all information necessary to describe a
44 font to be queried from XCanvas.<p>
46 Note: Outline fonts are to be requested as a special family, set
47 <member>FontInfo::FamilyName</member> appropriately. Emboss/relief
48 must be emulated by upper layers.<p>
50 Leave the <member>FontInfo::FamilyName</member> and
51 <member>FontInfo::StyleName</member> empty, if font selection
52 should only happen via the PANOSE description.
58 /** The description of the font.<p>
60 This member contains the description of the font as returned
61 by the font listing methods.<p>
63 FontInfo FontDescription
;
65 //-------------------------------------------------------------------------
67 /** The size of the font in <em>device</em> coordinate space.<p>
69 This value corresponds to the font height in Western scripts,
70 but is independent of the writing direction (see
71 <member>FontRequest::IsVertical</member> below). That
72 means, the value specified here is always measured orthogonal
73 to the text advancement (height for horizontal writing, and
74 width for vertical writing).<p>
76 When this value is negative, its absolute value is taken as
77 the character size of the font. If this value is positive,
78 it's taken as the cell size of the font.<p>
80 This member and the referenceAdvancement member are mutually
81 exclusive, one of them has to be set to 0 (which means don't
84 For distorted fonts, the render transformation must be
85 used. That is, the size specified here corresponds to device
86 pixel only if the combined render transformation during text
87 output equals the identity transform. This also applies to all
88 query methods, for both <type>XCanvasFont</type> and
89 <type>XTextLayout</type>.<p>
93 //-------------------------------------------------------------------------
95 /** This value specifies the size of the font in the writing
96 direction (i.e. width for horizontal writing, and height for
99 It is equivalent to the referenceCharSize of the FontMetrics
102 This member and the cellSize member are mutually exclusive,
103 one of them has to be set to 0 (which means don't care). For
104 distorted fonts, the font matrix must be used.<p>
106 double ReferenceAdvancement
;
108 //-------------------------------------------------------------------------
110 /** The locale this font should be able to render.<p>
112 This member supplements the
113 <member>FontInfo::UnicodeRange0</member> entry with a specific
114 locale; this is e.g. important when selecting between
115 traditional and simplified chinese is necessary (since the
116 letters have the same unicode ranges and character values).<p>
118 ::com
::sun
::star
::lang
::Locale Locale
;