diff options
Diffstat (limited to 'offapi/com/sun/star/rendering/FontInfo.idl')
-rw-r--r-- | offapi/com/sun/star/rendering/FontInfo.idl | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/offapi/com/sun/star/rendering/FontInfo.idl b/offapi/com/sun/star/rendering/FontInfo.idl new file mode 100644 index 000000000..a7fdb4b01 --- /dev/null +++ b/offapi/com/sun/star/rendering/FontInfo.idl @@ -0,0 +1,110 @@ +/* -*- 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_rendering_FontInfo_idl__ +#define __com_sun_star_rendering_FontInfo_idl__ + +#include <com/sun/star/util/TriState.idl> +#include <com/sun/star/rendering/Panose.idl> + + +module com { module sun { module star { module rendering { + +/** This structure provides information about a specific font.<p> + + @since OOo 2.0 + */ +struct FontInfo +{ + /** The PANOSE font classification.<p> + + TODO: Document semantics in Panose.idl + */ + Panose FontDescription; + + + /** The name of the font family.<p> + + The family name is the one normally associated to a font, such + as Times New Roman, Thorndale, Andale or Arial.<p> + + Note: outlined fonts are now specified with "outline" as part + of the family name.<p> + */ + string FamilyName; + + + /** The name of the specific font style within its family.<p> + + For example, oblique, italic, or narrow.<p> + */ + string StyleName; + + + /** This value specifies which Unicode ranges are supported by + this font.<p> + + This is to be interpreted as a split-up 128-bit value, see <a + href=http://partners.adobe.com/asn/tech/type/opentype/os2.jsp#ur>Adobe's + OpenType specification</a> for the specific meaning of each + bit. UnicodeRanges0 contains the least significant bits, + UnicodeRanges3 the most significant ones.<p> + + const int128 UNICODE_RANGE_BASIC_LATIN = 1; + const int128 UNICODE_RANGE_LATIN_SUPPLEMENT = 2; + const int128 UNICODE_RANGE_LATIN_EXTENDED_A = 4; + const int128 UNICODE_RANGE_LATIN_EXTENDED_B = 4; + ... + const int128 UNICODE_RANGE_MASK_LATIN = 1; + const int128 UNICODE_RANGE_MASK_CJK = (31<<48) + (3<<55) + + (1<<59); + const int128 UNICODE_RANGE_MASK_CTL = (1<<11) + (1<<13) + + (0x3FFF<<15) + (0x0FFF<<70); + + */ + long UnicodeRanges0; + long UnicodeRanges1; + long UnicodeRanges2; + long UnicodeRanges3; + + + /** Specifies whether the font is a symbol font.<p> + + If yes, text written in this symbol font does not have a + specified meaning.<p> + */ + ::com::sun::star::util::TriState IsSymbolFont; + + + /** Set to true, if the font is usable for vertical text + output.<p> + + Vertical fonts have subtle differences to horizontal ones, + e.g. rotated or differently shaped glyphs, or special rotated + versions of normally upright glyphs (e.g. brackets).<p> + */ + ::com::sun::star::util::TriState IsVertical; + + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |