1/* 2 * Copyright © 2007 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 copyright 7 * notice and this permission notice appear in supporting documentation, and 8 * that the name of the copyright holders not be used in advertising or 9 * publicity pertaining to distribution of the software without specific, 10 * written prior permission. The copyright holders make no representations 11 * about the suitability of this software for any purpose. It is provided "as 12 * is" without express or implied warranty. 13 * 14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 16 * EVENT SHALL THE COPYRIGHT HOLDERS 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 PERFORMANCE 20 * OF THIS SOFTWARE. 21 */ 22 23#ifndef _FCFTINT_H_ 24#define _FCFTINT_H_ 25 26#include <fontconfig/fcfreetype.h> 27 28/* Bug of GCC 4.2 (visibility and -fPIC) 29 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46861 */ 30#if (__GNUC__ == 4 && __GNUC_MINOR__ == 2) && defined(__ELF__) && !defined(__sun) 31#define FcPrivate 32#define HAVE_GNUC_ATTRIBUTE 1 33#include "fcftalias.h" 34#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) 35#define FcPrivate __attribute__((__visibility__("hidden"))) 36#define HAVE_GNUC_ATTRIBUTE 1 37#include "fcftalias.h" 38#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) 39#define FcPrivate __hidden 40#else /* not gcc >= 3.3 and not Sun Studio >= 8 */ 41#define FcPrivate 42#endif 43 44/* fcfreetype.c */ 45FcPrivate FcBool 46FcFreeTypeIsExclusiveLang (const FcChar8 *lang); 47 48FcPrivate FcBool 49FcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang); 50 51FcPrivate FcChar32 52FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map); 53 54FcPrivate FcChar32 55FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map); 56 57FcPrivate const FcCharMap * 58FcFreeTypeGetPrivateMap (FT_Encoding encoding); 59 60#endif /* _FCFTINT_H_ */ 61