1b5b73dd3Smrg/*
2b5b73dd3Smrg * Copyright © 2007 Keith Packard
3b5b73dd3Smrg *
4b5b73dd3Smrg * Permission to use, copy, modify, distribute, and sell this software and its
5b5b73dd3Smrg * documentation for any purpose is hereby granted without fee, provided that
6b5b73dd3Smrg * the above copyright notice appear in all copies and that both that copyright
7b5b73dd3Smrg * notice and this permission notice appear in supporting documentation, and
8b5b73dd3Smrg * that the name of the copyright holders not be used in advertising or
9b5b73dd3Smrg * publicity pertaining to distribution of the software without specific,
10b5b73dd3Smrg * written prior permission.  The copyright holders make no representations
11b5b73dd3Smrg * about the suitability of this software for any purpose.  It is provided "as
12b5b73dd3Smrg * is" without express or implied warranty.
13b5b73dd3Smrg *
14b5b73dd3Smrg * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15b5b73dd3Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16b5b73dd3Smrg * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17b5b73dd3Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18b5b73dd3Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19b5b73dd3Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20b5b73dd3Smrg * OF THIS SOFTWARE.
21b5b73dd3Smrg */
22b5b73dd3Smrg
23b5b73dd3Smrg#ifndef _FCFTINT_H_
24b5b73dd3Smrg#define _FCFTINT_H_
25b5b73dd3Smrg
26b5b73dd3Smrg#include <fontconfig/fcfreetype.h>
27b5b73dd3Smrg
28b5b73dd3Smrg/* Bug of GCC 4.2 (visibility and -fPIC)
29b5b73dd3Smrg   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46861 */
30b5b73dd3Smrg#if (__GNUC__ == 4 && __GNUC_MINOR__ == 2) && defined(__ELF__) && !defined(__sun)
31b5b73dd3Smrg#define FcPrivate
32b5b73dd3Smrg#define HAVE_GNUC_ATTRIBUTE 1
33b5b73dd3Smrg#include "fcftalias.h"
34b5b73dd3Smrg#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
35b5b73dd3Smrg#define FcPrivate		__attribute__((__visibility__("hidden")))
36b5b73dd3Smrg#define HAVE_GNUC_ATTRIBUTE 1
37b5b73dd3Smrg#include "fcftalias.h"
38b5b73dd3Smrg#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
39b5b73dd3Smrg#define FcPrivate		__hidden
40b5b73dd3Smrg#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
41b5b73dd3Smrg#define FcPrivate
42b5b73dd3Smrg#endif
43b5b73dd3Smrg
44b5b73dd3Smrg/* fcfreetype.c */
45b5b73dd3SmrgFcPrivate FcBool
46b5b73dd3SmrgFcFreeTypeIsExclusiveLang (const FcChar8  *lang);
47b5b73dd3Smrg
48b5b73dd3SmrgFcPrivate FcBool
49b5b73dd3SmrgFcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang);
50b5b73dd3Smrg
51b5b73dd3SmrgFcPrivate FcChar32
52b5b73dd3SmrgFcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map);
53b5b73dd3Smrg
54b5b73dd3SmrgFcPrivate FcChar32
55b5b73dd3SmrgFcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map);
56b5b73dd3Smrg
57b5b73dd3SmrgFcPrivate const FcCharMap *
58b5b73dd3SmrgFcFreeTypeGetPrivateMap (FT_Encoding encoding);
59b5b73dd3Smrg
60b5b73dd3Smrg#endif /* _FCFTINT_H_ */
61