1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_rendering_FontInfo_idl__ 24#define __com_sun_star_rendering_FontInfo_idl__ 25 26#ifndef __com_sun_star_util_TriState_idl__ 27#include <com/sun/star/util/TriState.idl> 28#endif 29 30#ifndef __com_sun_star_rendering_Panose_idl__ 31#include <com/sun/star/rendering/Panose.idl> 32#endif 33 34 35module com { module sun { module star { module rendering { 36 37/** This structure provides information about a specific font.<p> 38 39 @since OOo 2.0 40 */ 41published struct FontInfo 42{ 43 /** The PANOSE font classification.<p> 44 45 TODO: Document semantics in Panose.idl 46 */ 47 Panose FontDescription; 48 49 //------------------------------------------------------------------------- 50 51 /** The name of the font family.<p> 52 53 The family name is the one normally associated to a font, such 54 as Times New Roman, Thorndale, Andale or Arial.<p> 55 56 Note: outlined fonts are now specified with 'outline' as part 57 of the family name.<p> 58 */ 59 string FamilyName; 60 61 //------------------------------------------------------------------------- 62 63 /** The name of the specific font style within its family.<p> 64 65 For example, oblique, italic, or narrow.<p> 66 */ 67 string StyleName; 68 69 //------------------------------------------------------------------------- 70 71 /** This value specifies which unicode ranges are supported by 72 this font.<p> 73 74 This is to be interpreted as a split-up 128bit value, see <a 75 href=http://partners.adobe.com/asn/tech/type/opentype/os2.jsp#ur>Adobe's 76 OpenType specification</a> for the specific meaning of each 77 bit. UnicodeRanges0 contains the least significant bits, 78 UnicodeRanges3 the most significant ones.<p> 79 80 const int128 UNICODE_RANGE_BASIC_LATIN = 1; 81 const int128 UNICODE_RANGE_LATIN_SUPPLEMENT = 2; 82 const int128 UNICODE_RANGE_LATIN_EXTENDED_A = 4; 83 const int128 UNICODE_RANGE_LATIN_EXTENDED_B = 4; 84 ... 85 const int128 UNICODE_RANGE_MASK_LATIN = 1; 86 const int128 UNICODE_RANGE_MASK_CJK = (31<<48) + (3<<55) + 87 (1<<59); 88 const int128 UNICODE_RANGE_MASK_CTL = (1<<11) + (1<<13) + 89 (0x3FFF<<15) + (0x0FFF<<70); 90 91 */ 92 long UnicodeRanges0; 93 long UnicodeRanges1; 94 long UnicodeRanges2; 95 long UnicodeRanges3; 96 97 //------------------------------------------------------------------------- 98 99 /** Specifies whether the font is a symbol font.<p> 100 101 If yes, text written in this symbol font does not have a 102 specified meaning.<p> 103 */ 104 ::com::sun::star::util::TriState IsSymbolFont; 105 106 //------------------------------------------------------------------------- 107 108 /** Set to true, if the font is usable for vertical text 109 output.<p> 110 111 Vertical fonts have subtle differences to horizontal ones, 112 e.g. rotated or differently shaped glyphs, or special rotated 113 versions of normally upright glyphs (e.g. brackets).<p> 114 */ 115 ::com::sun::star::util::TriState IsVertical; 116 117 118}; 119 120}; }; }; }; 121 122#endif 123