1 /* 2 * Copyright © 2001 Keith Packard 3 * 4 * Permission to use, copy, modify, distribute, and sell this software and its 5 * documentation for any purpose is hereby granted without fee, provided that 6 * the above copyright notice appear in all copies and that both that 7 * copyright notice and this permission notice appear in supporting 8 * documentation, and that the name of Keith Packard not be used in 9 * advertising or publicity pertaining to distribution of the software without 10 * specific, written prior permission. Keith Packard makes no 11 * representations about the suitability of this software for any purpose. It 12 * is provided "as is" without express or implied warranty. 13 * 14 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 16 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20 * PERFORMANCE OF THIS SOFTWARE. 21 */ 22 23 #ifndef _XFTCOMPAT_H_ 24 #define _XFTCOMPAT_H_ 25 #include <X11/Xfuncproto.h> 26 27 /* 28 * Compatibility definitions -- map Fc names to Xft names 29 */ 30 31 typedef FcChar8 XftChar8; 32 typedef FcChar16 XftChar16; 33 typedef FcChar32 XftChar32; 34 35 #define XFT_FAMILY FC_FAMILY 36 #define XFT_STYLE FC_STYLE 37 #define XFT_SLANT FC_SLANT 38 #define XFT_WEIGHT FC_WEIGHT 39 #define XFT_SIZE FC_SIZE 40 #define XFT_PIXEL_SIZE FC_PIXEL_SIZE 41 #define XFT_SPACING FC_SPACING 42 #define XFT_FOUNDRY FC_FOUNDRY 43 #define XFT_ANTIALIAS FC_ANTIALIAS 44 #define XFT_FILE FC_FILE 45 #define XFT_INDEX FC_INDEX 46 #define XFT_RASTERIZER FC_RASTERIZER 47 #define XFT_OUTLINE FC_OUTLINE 48 #define XFT_SCALABLE FC_SCALABLE 49 #define XFT_RGBA FC_RGBA 50 51 /* defaults from resources */ 52 #define XFT_SCALE FC_SCALE 53 #define XFT_MINSPACE FC_MINSPACE 54 #define XFT_DPI FC_DPI 55 56 /* specific to FreeType rasterizer */ 57 #define XFT_CHAR_WIDTH FC_CHAR_WIDTH 58 #define XFT_CHAR_HEIGHT FC_CHAR_HEIGHT 59 #define XFT_MATRIX FC_MATRIX 60 61 #define XFT_WEIGHT_LIGHT FC_WEIGHT_LIGHT 62 #define XFT_WEIGHT_MEDIUM FC_WEIGHT_MEDIUM 63 #define XFT_WEIGHT_DEMIBOLD FC_WEIGHT_DEMIBOLD 64 #define XFT_WEIGHT_BOLD FC_WEIGHT_BOLD 65 #define XFT_WEIGHT_BLACK FC_WEIGHT_BLACK 66 67 #define XFT_SLANT_ROMAN FC_SLANT_ROMAN 68 #define XFT_SLANT_ITALIC FC_SLANT_ITALIC 69 #define XFT_SLANT_OBLIQUE FC_SLANT_OBLIQUE 70 71 #define XFT_PROPORTIONAL FC_PROPORTIONAL 72 #define XFT_MONO FC_MONO 73 #define XFT_CHARCELL FC_CHARCELL 74 75 #define XFT_RGBA_UNKNOWN FC_RGBA_UNKNOWN 76 #define XFT_RGBA_RGB FC_RGBA_RGB 77 #define XFT_RGBA_BGR FC_RGBA_BGR 78 #define XFT_RGBA_VRGB FC_RGBA_VRGB 79 #define XFT_RGBA_VBGR FC_RGBA_VBGR 80 #define XFT_RGBA_NONE FC_RGBA_NONE 81 82 /* 83 * Old constants 84 */ 85 #define XFT_ENCODING "encoding" 86 87 typedef FcType XftType; 88 89 typedef FcMatrix XftMatrix; 90 91 #define XftMatrixInit(m) FcMatrixInit(m) 92 93 typedef FcResult XftResult; 94 95 #define XftResultMatch FcResultMatch 96 #define XftResultNoMatch FcResultNoMatch 97 #define XftResultTypeMismatch FcResultTypeMismatch 98 #define XftResultNoId FcResultNoId 99 100 typedef FcValue XftValue; 101 typedef FcPattern XftPattern; 102 typedef FcFontSet XftFontSet; 103 typedef FcObjectSet XftObjectSet; 104 105 #define XftGlyphExists XftCharExists 106 107 #define XftObjectSetCreate FcObjectSetCreate 108 #define XftObjectSetAdd FcObjectSetAdd 109 #define XftObjectSetDestroy FcObjectSetDestroy 110 #define XftObjectSetVaBuild FcObjectSetVaBuild 111 #define XftObjectSetBuild FcObjectSetBuild 112 113 #define XftFontSetMatch FcFontSetMatch 114 #define XftFontSetDestroy FcFontSetDestroy 115 116 #define XftMatrixEqual FcMatrixEqual 117 #define XftMatrixMultiply FcMatrixMultiply 118 #define XftMatrixRotate FcMatrixRotate 119 #define XftMatrixScale FcMatrixScale 120 #define XftMatrixShear FcMatrixShear 121 122 #define XftPatternCreate FcPatternCreate 123 #define XftPatternDuplicate FcPatternDuplicate 124 #define XftValueDestroy FcValueDestroy 125 #define XftValueListDestroy FcValueListDestroy 126 #define XftPatternDestroy FcPatternDestroy 127 #define XftPatternFind FcPatternFind 128 #define XftPatternAdd FcPatternAdd 129 #define XftPatternGet FcPatternGet 130 #define XftPatternDel FcPatternDel 131 #define XftPatternAddInteger FcPatternAddInteger 132 #define XftPatternAddDouble FcPatternAddDouble 133 #define XftPatternAddString(p,e,s) FcPatternAddString(p,e,(FcChar8 *)(s)) 134 #define XftPatternAddMatrix FcPatternAddMatrix 135 #define XftPatternAddBool FcPatternAddBool 136 #define XftPatternGetInteger FcPatternGetInteger 137 #define XftPatternGetDouble FcPatternGetDouble 138 #define XftPatternGetString(p,e,i,n) FcPatternGetString(p,e,i,(FcChar8 **) (n)) 139 #define XftPatternGetMatrix FcPatternGetMatrix 140 #define XftPatternGetBool FcPatternGetBool 141 #define XftPatternVaBuild FcPatternVaBuild 142 #define XftPatternBuild FcPatternBuild 143 144 #define XftUtf8ToUcs4 FcUtf8ToUcs4 145 #define XftUtf8Len FcUtf8Len 146 147 #define XftTypeVoid FcTypeVoid 148 #define XftTypeInteger FcTypeInteger 149 #define XftTypeDouble FcTypeDouble 150 #define XftTypeString FcTypeString 151 #define XftTypeBool FcTypeBool 152 #define XftTypeMatrix FcTypeMatrix 153 154 #define XftConfigSubstitute(p) FcConfigSubstitute (0, p, FcMatchPattern) 155 156 _XFUNCPROTOBEGIN 157 158 FcBool 159 XftNameUnparse (XftPattern *pat, char *dest, int len); 160 161 _XFUNCPROTOEND 162 163 #endif /* _XFTCOMPAT_H_ */ 164