Home | History | Annotate | Line # | Download | only in Xft
      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 #endif /* _XFTCOMPAT_H_ */
    157