/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_awt_FontDescriptor_idl__ #define __com_sun_star_awt_FontDescriptor_idl__ #include module com { module sun { module star { module awt { /** describes the characteristics of a font.

For example, this can be used to select a font.

*/ published struct FontDescriptor { /** specifies the exact name of the font. */ string Name; /** specifies the height of the font in the measure of the destination. */ short Height; /** specifies the width of the font in the measure of the destination. */ short Width; /** specifies the style name of the font. */ string StyleName; /** specifies the general style of the font.

Use one value out of the constant group com::sun::star::awt::FontFamily.

*/ short Family; /** specifies the character set which is supported by the font.

Use one value out of the constant group com::sun::star::awt::CharSet.

*/ short CharSet; /** specifies the pitch of the font.

Use one value out of the constant group com::sun::star::awt::FontPitch.

*/ short Pitch; /** specifies the character width.

Depending on the specified width, a font that supports this width may be selected.

The value is expressed as a percentage.

*/ float CharacterWidth; /** specifies the thickness of the line.

Depending on the specified weight, a font that supports this thickness may be selected.

The value is expressed as a percentage.

*/ float Weight; /** specifies the slant of the font. */ com::sun::star::awt::FontSlant Slant; /** specifies the kind of underlining.

Use one value out of the constant group com::sun::star::awt::FontUnderline.

*/ short Underline; /** specifies the kind of strikeout.

Use one value out of the constant group com::sun::star::awt::FontStrikeout.

*/ short Strikeout; /** specifies the rotation of the font.

The unit of measure is degrees; 0 is the baseline.

*/ float Orientation; /** For requesting, it specifies if there is a kerning table available. For selecting, it specifies if the kerning table is to be used. */ boolean Kerning; /** specifies if only words get underlined.

`TRUE` means that only non-space characters get underlined, `FALSE` means that the spacing also gets underlined.

This property is only valid if the property com::sun::star::awt::FontDescriptor::Underline is not FontUnderline::NONE.

*/ boolean WordLineMode; /** specifies the technology of the font representation.

One or more values out of the constant group com::sun::star::awt::FontType can be combined by an arithmetical or-operation.

*/ short Type; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */