/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_rendering_FontRequest_idl__ #define __com_sun_star_rendering_FontRequest_idl__ #include #include module com { module sun { module star { module rendering { /** This structure contains all information necessary to describe a font to be queried from XCanvas.

Note: Outline fonts are to be requested as a special family, set FontInfo::FamilyName appropriately. Emboss/relief must be emulated by upper layers.

Leave the FontInfo::FamilyName and FontInfo::StyleName empty, if font selection should only happen via the PANOSE description. @since OOo 2.0 */ published struct FontRequest { /** The description of the font.

This member contains the description of the font as returned by the font listing methods.

*/ FontInfo FontDescription; //------------------------------------------------------------------------- /** The size of the font in device coordinate space.

This value corresponds to the font height in Western scripts, but is independent of the writing direction (see FontRequest::IsVertical below). That means, the value specified here is always measured orthogonal to the text advancement (height for horizontal writing, and width for vertical writing).

When this value is negative, its absolute value is taken as the character size of the font. If this value is positive, it's taken as the cell size of the font.

This member and the referenceAdvancement member are mutually exclusive, one of them has to be set to 0 (which means don't care).

For distorted fonts, the render transformation must be used. That is, the size specified here corresponds to device pixel only if the combined render transformation during text output equals the identity transform. This also applies to all query methods, for both XCanvasFont and XTextLayout.

*/ double CellSize; //------------------------------------------------------------------------- /** This value specifies the size of the font in the writing direction (i.e. width for horizontal writing, and height for vertical writing).

It is equivalent to the referenceCharSize of the FontMetrics structure.

This member and the cellSize member are mutually exclusive, one of them has to be set to 0 (which means don't care). For distorted fonts, the font matrix must be used.

*/ double ReferenceAdvancement; //------------------------------------------------------------------------- /** The locale this font should be able to render.

This member supplements the FontInfo::UnicodeRange0 entry with a specific locale; this is e.g. important when selecting between traditional and simplified Chinese is necessary (since the letters have the same Unicode ranges and character values).

*/ ::com::sun::star::lang::Locale Locale; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */