/*
* $RCSId: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.30 2002/09/26 00:17:27 keithp Exp $
*
* Copyright © 2001 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _FONTCONFIG_H_
#define _FONTCONFIG_H_
#include <unistd.h>
#include <stdarg.h>
#else
#define FC_ATTRIBUTE_SENTINEL(x)
#endif
#ifndef FcPublic
#define FcPublic
#endif
typedef unsigned char FcChar8;
typedef unsigned short FcChar16;
typedef unsigned int FcChar32;
typedef int FcBool;
/*
* Current Fontconfig version number. This same number
* must appear in the fontconfig configure.in file. Yes,
* it'a a pain to synchronize version numbers like this.
*/
#define FC_REVISION 0
/*
* Current font cache file format version
* This is appended to the cache files so that multiple
* versions of the library will peacefully coexist
*
* Change this value whenever the disk format for the cache file
* changes in any non-compatible way. Try to avoid such changes as
* it means multiple copies of the font information.
*/
#define FcFalse 0
/* Adjust outline rasterizer */
#define FC_WEIGHT_THIN 0
#define FC_SLANT_ROMAN 0
#define FC_PROPORTIONAL 0
/* sub-pixel order */
#define FC_RGBA_UNKNOWN 0
/* hinting style */
#define FC_HINT_NONE 0
typedef enum _FcType {
} FcType;
typedef struct _FcMatrix {
} FcMatrix;
/*
* A data structure to represent the available glyphs in a font.
* This is represented as a sparse boolean btree.
*/
typedef struct _FcObjectType {
const char *object;
} FcObjectType;
typedef struct _FcConstant {
const char *object;
int value;
} FcConstant;
typedef enum _FcResult {
} FcResult;
typedef struct _FcValue {
union {
const FcChar8 *s;
int i;
FcBool b;
double d;
const FcMatrix *m;
const FcCharSet *c;
void *f;
const FcLangSet *l;
} u;
} FcValue;
typedef struct _FcFontSet {
int nfont;
int sfont;
} FcFontSet;
typedef struct _FcObjectSet {
int nobject;
int sobject;
const char **objects;
} FcObjectSet;
typedef enum _FcMatchKind {
} FcMatchKind;
typedef enum _FcLangResult {
FcLangEqual = 0,
} FcLangResult;
typedef enum _FcSetName {
FcSetSystem = 0,
} FcSetName;
#define _FCFUNCPROTOEND }
#else
#define _FCFUNCPROTOBEGIN
#define _FCFUNCPROTOEND
#endif
/* fcblanks.c */
FcBlanksCreate (void);
FcPublic void
FcBlanksDestroy (FcBlanks *b);
/* fccache.c */
FcCacheDir(const FcCache *c);
FcCacheCopySet(const FcCache *c);
FcCacheSubdir (const FcCache *c, int i);
FcPublic int
FcCacheNumSubdir (const FcCache *c);
FcPublic int
FcCacheNumFont (const FcCache *c);
/* fccfg.c */
FcConfigHome (void);
FcConfigCreate (void);
FcPublic void
FcConfigGetCurrent (void);
FcPublic int
FcPublic void
FcPattern *p,
FcPattern *p,
/* fccharset.c */
FcCharSetCreate (void);
/* deprecated alias for FcCharSetCreate */
FcCharSetNew (void);
FcPublic void
FcCharSetCount (const FcCharSet *a);
FcCharSetFirstPage (const FcCharSet *a,
FcCharSetNextPage (const FcCharSet *a,
/*
* old coverage API, rather hard to use correctly
*/
/* fcdbg.c */
FcPublic void
FcValuePrint (const FcValue v);
FcPublic void
FcPatternPrint (const FcPattern *p);
FcPublic void
FcFontSetPrint (const FcFontSet *s);
/* fcdefault.c */
FcPublic void
/* fcdir.c */
FcPublic void
/* fcfreetype.c */
/* fcfs.c */
FcFontSetCreate (void);
FcPublic void
FcFontSetDestroy (FcFontSet *s);
/* fcinit.c */
FcInitLoadConfig (void);
FcInitLoadConfigAndFonts (void);
FcInit (void);
FcPublic void
FcFini (void);
FcPublic int
FcGetVersion (void);
FcInitReinitialize (void);
FcInitBringUptoDate (void);
/* fclang.c */
FcGetLangs (void);
FcLangSetCreate (void);
FcPublic void
/* fclist.c */
FcObjectSetCreate (void);
FcPublic void
int nsets,
FcPattern *p,
FcObjectSet *os);
FcPattern *p,
FcObjectSet *os);
/* fcatomic.c */
FcPublic void
FcPublic void
FcPublic void
/* fcmatch.c */
int nsets,
FcPattern *p,
FcPattern *p,
int nsets,
FcPattern *p,
FcPattern *p,
FcPublic void
/* fcmatrix.c */
FcPublic void
FcPublic void
FcMatrixRotate (FcMatrix *m, double c, double s);
FcPublic void
FcPublic void
/* fcname.c */
FcPublic const FcObjectType *
FcNameGetObjectType (const char *object);
FcPublic const FcConstant *
/* fcpat.c */
FcPatternCreate (void);
FcPatternDuplicate (const FcPattern *p);
FcPublic void
FcPatternReference (FcPattern *p);
FcPublic void
FcValueDestroy (FcValue v);
FcValueSave (FcValue v);
FcPublic void
FcPatternDestroy (FcPattern *p);
FcPatternHash (const FcPattern *p);
/* fcstr.c */
FcStrCopyFilename (const FcChar8 *s);
FcPublic void
/* These are ASCII only, suitable only for pattern element names */
FcStrDowncase (const FcChar8 *s);
FcPublic int
FcPublic int
FcPublic int
int len);
int len,
int *nchar,
int *wchar);
FcPublic int
FcPublic int
int len); /* in bytes */
int len, /* in bytes */
int *nchar,
int *wchar);
FcStrSetCreate (void);
FcPublic void
FcPublic void
/* fcxml.c */
#ifndef _FCINT_H_
/*
* Deprecated functions are placed here to help users fix their code without
* digging through documentation
*/
#endif
#endif /* _FONTCONFIG_H_ */