Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / rendering / FontRequest.idl
blob360607b0319ba64223d057885a4ba17057170587
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_rendering_FontRequest_idl__
20 #define __com_sun_star_rendering_FontRequest_idl__
22 #include <com/sun/star/rendering/FontInfo.idl>
23 #include <com/sun/star/lang/Locale.idl>
25 module com { module sun { module star { module rendering {
27 /** This structure contains all information necessary to describe a
28 font to be queried from XCanvas.<p>
30 Note: Outline fonts are to be requested as a special family, set
31 FontInfo::FamilyName appropriately. Emboss/relief
32 must be emulated by upper layers.<p>
34 Leave the FontInfo::FamilyName and
35 FontInfo::StyleName empty, if font selection
36 should only happen via the PANOSE description.
38 @since OOo 2.0
40 struct FontRequest
42 /** The description of the font.<p>
44 This member contains the description of the font as returned
45 by the font listing methods.<p>
47 FontInfo FontDescription;
50 /** The size of the font in <em>device</em> coordinate space.<p>
52 This value corresponds to the font height in Western scripts,
53 but is independent of the writing direction (see
54 FontRequest::IsVertical below). That
55 means, the value specified here is always measured orthogonal
56 to the text advancement (height for horizontal writing, and
57 width for vertical writing).<p>
59 When this value is negative, its absolute value is taken as
60 the character size of the font. If this value is positive,
61 it's taken as the cell size of the font.<p>
63 This member and the referenceAdvancement member are mutually
64 exclusive, one of them has to be set to 0 (which means don't
65 care).<p>
67 For distorted fonts, the render transformation must be
68 used. That is, the size specified here corresponds to device
69 pixel only if the combined render transformation during text
70 output equals the identity transform. This also applies to all
71 query methods, for both XCanvasFont and
72 XTextLayout.<p>
74 double CellSize;
77 /** This value specifies the size of the font in the writing
78 direction (i.e. width for horizontal writing, and height for
79 vertical writing).<p>
81 It is equivalent to the referenceCharSize of the FontMetrics
82 structure.<p>
84 This member and the cellSize member are mutually exclusive,
85 one of them has to be set to 0 (which means don't care). For
86 distorted fonts, the font matrix must be used.<p>
88 double ReferenceAdvancement;
91 /** The locale this font should be able to render.<p>
93 This member supplements the
94 FontInfo::UnicodeRange0 entry with a specific
95 locale; this is e.g. important when selecting between
96 traditional and simplified Chinese is necessary (since the
97 letters have the same Unicode ranges and character values).<p>
99 ::com::sun::star::lang::Locale Locale;
103 }; }; }; };
105 #endif
107 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */