|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* fontconfig/src/fcint.h
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* Copyright © 2000 Keith Packard
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* Permission to use, copy, modify, distribute, and sell this software and its
|
|
Packit |
352660 |
* documentation for any purpose is hereby granted without fee, provided that
|
|
Packit |
352660 |
* the above copyright notice appear in all copies and that both that
|
|
Packit |
352660 |
* copyright notice and this permission notice appear in supporting
|
|
Packit |
352660 |
* documentation, and that the name of the author(s) not be used in
|
|
Packit |
352660 |
* advertising or publicity pertaining to distribution of the software without
|
|
Packit |
352660 |
* specific, written prior permission. The authors make no
|
|
Packit |
352660 |
* representations about the suitability of this software for any purpose. It
|
|
Packit |
352660 |
* is provided "as is" without express or implied warranty.
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
Packit |
352660 |
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
Packit |
352660 |
* EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
Packit |
352660 |
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
Packit |
352660 |
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
Packit |
352660 |
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
Packit |
352660 |
* PERFORMANCE OF THIS SOFTWARE.
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#ifndef _FCINT_H_
|
|
Packit |
352660 |
#define _FCINT_H_
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#ifdef HAVE_CONFIG_H
|
|
Packit |
352660 |
#include <config.h>
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#include "fcstdint.h"
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#include <stdlib.h>
|
|
Packit |
352660 |
#include <stdio.h>
|
|
Packit |
352660 |
#include <string.h>
|
|
Packit |
352660 |
#include <ctype.h>
|
|
Packit |
352660 |
#include <assert.h>
|
|
Packit |
352660 |
#include <errno.h>
|
|
Packit |
352660 |
#include <limits.h>
|
|
Packit |
352660 |
#include <float.h>
|
|
Packit |
352660 |
#include <math.h>
|
|
Packit |
352660 |
#include <unistd.h>
|
|
Packit |
352660 |
#include <stddef.h>
|
|
Packit |
352660 |
#include <sys/types.h>
|
|
Packit |
352660 |
#include <sys/stat.h>
|
|
Packit |
352660 |
#include <time.h>
|
|
Packit |
352660 |
#include <fontconfig/fontconfig.h>
|
|
Packit |
352660 |
#include <fontconfig/fcprivate.h>
|
|
Packit |
352660 |
#include "fcdeprecate.h"
|
|
Packit |
352660 |
#include "fcmutex.h"
|
|
Packit |
352660 |
#include "fcatomic.h"
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#ifndef FC_CONFIG_PATH
|
|
Packit |
352660 |
#define FC_CONFIG_PATH "fonts.conf"
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#ifdef _WIN32
|
|
Packit |
352660 |
# include "fcwindows.h"
|
|
Packit |
352660 |
typedef UINT (WINAPI *pfnGetSystemWindowsDirectory)(LPSTR, UINT);
|
|
Packit |
352660 |
typedef HRESULT (WINAPI *pfnSHGetFolderPathA)(HWND, int, HANDLE, DWORD, LPSTR);
|
|
Packit |
352660 |
extern pfnGetSystemWindowsDirectory pGetSystemWindowsDirectory;
|
|
Packit |
352660 |
extern pfnSHGetFolderPathA pSHGetFolderPathA;
|
|
Packit |
352660 |
# define FC_SEARCH_PATH_SEPARATOR ';'
|
|
Packit |
352660 |
# define FC_DIR_SEPARATOR '\\'
|
|
Packit |
352660 |
# define FC_DIR_SEPARATOR_S "\\"
|
|
Packit |
352660 |
#else
|
|
Packit |
352660 |
# define FC_SEARCH_PATH_SEPARATOR ':'
|
|
Packit |
352660 |
# define FC_DIR_SEPARATOR '/'
|
|
Packit |
352660 |
# define FC_DIR_SEPARATOR_S "/"
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#ifdef PATH_MAX
|
|
Packit |
352660 |
#define FC_PATH_MAX PATH_MAX
|
|
Packit |
352660 |
#else
|
|
Packit |
352660 |
#define FC_PATH_MAX 128
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#if __GNUC__ >= 4
|
|
Packit |
352660 |
#define FC_UNUSED __attribute__((unused))
|
|
Packit |
352660 |
#else
|
|
Packit |
352660 |
#define FC_UNUSED
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_DBG_MATCH 1
|
|
Packit |
352660 |
#define FC_DBG_MATCHV 2
|
|
Packit |
352660 |
#define FC_DBG_EDIT 4
|
|
Packit |
352660 |
#define FC_DBG_FONTSET 8
|
|
Packit |
352660 |
#define FC_DBG_CACHE 16
|
|
Packit |
352660 |
#define FC_DBG_CACHEV 32
|
|
Packit |
352660 |
#define FC_DBG_PARSE 64
|
|
Packit |
352660 |
#define FC_DBG_SCAN 128
|
|
Packit |
352660 |
#define FC_DBG_SCANV 256
|
|
Packit |
352660 |
#define FC_DBG_CONFIG 1024
|
|
Packit |
352660 |
#define FC_DBG_LANGSET 2048
|
|
Packit |
352660 |
#define FC_DBG_MATCH2 4096
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define _FC_ASSERT_STATIC1(_line, _cond) typedef int _static_assert_on_line_##_line##_failed[(_cond)?1:-1] FC_UNUSED
|
|
Packit |
352660 |
#define _FC_ASSERT_STATIC0(_line, _cond) _FC_ASSERT_STATIC1 (_line, (_cond))
|
|
Packit |
352660 |
#define FC_ASSERT_STATIC(_cond) _FC_ASSERT_STATIC0 (__LINE__, (_cond))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_MIN(a,b) ((a) < (b) ? (a) : (b))
|
|
Packit |
352660 |
#define FC_MAX(a,b) ((a) > (b) ? (a) : (b))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* slim_internal.h */
|
|
Packit |
352660 |
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
|
|
Packit |
352660 |
#define FcPrivate __attribute__((__visibility__("hidden")))
|
|
Packit |
352660 |
#define HAVE_GNUC_ATTRIBUTE 1
|
|
Packit |
352660 |
#include "fcalias.h"
|
|
Packit |
352660 |
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
|
|
Packit |
352660 |
#define FcPrivate __hidden
|
|
Packit |
352660 |
#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
|
|
Packit |
352660 |
#define FcPrivate
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* NLS */
|
|
Packit |
352660 |
#ifdef ENABLE_NLS
|
|
Packit |
352660 |
#include <libintl.h>
|
|
Packit |
352660 |
#define _(x) (dgettext(GETTEXT_PACKAGE, x))
|
|
Packit |
352660 |
#else
|
|
Packit |
352660 |
#define dgettext(d, s) (s)
|
|
Packit |
352660 |
#define _(x) (x)
|
|
Packit |
352660 |
#endif
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define N_(x) x
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FC_ASSERT_STATIC (sizeof (FcRef) == sizeof (int));
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcStrdup(s) ((FcChar8 *) strdup ((const char *) (s)))
|
|
Packit |
352660 |
#define FcFree(s) (free ((FcChar8 *) (s)))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Serialized data structures use only offsets instead of pointers
|
|
Packit |
352660 |
* A low bit of 1 indicates an offset.
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Is the provided pointer actually an offset? */
|
|
Packit |
352660 |
#define FcIsEncodedOffset(p) ((((intptr_t) (p)) & 1) != 0)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Encode offset in a pointer of type t */
|
|
Packit |
352660 |
#define FcOffsetEncode(o,t) ((t *) ((o) | 1))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Decode a pointer into an offset */
|
|
Packit |
352660 |
#define FcOffsetDecode(p) (((intptr_t) (p)) & ~1)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Compute pointer offset */
|
|
Packit |
352660 |
#define FcPtrToOffset(b,p) ((intptr_t) (p) - (intptr_t) (b))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given base address, offset and type, return a pointer */
|
|
Packit |
352660 |
#define FcOffsetToPtr(b,o,t) ((t *) ((intptr_t) (b) + (o)))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given base address, encoded offset and type, return a pointer */
|
|
Packit |
352660 |
#define FcEncodedOffsetToPtr(b,p,t) FcOffsetToPtr(b,FcOffsetDecode(p),t)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given base address, pointer and type, return an encoded offset */
|
|
Packit |
352660 |
#define FcPtrToEncodedOffset(b,p,t) FcOffsetEncode(FcPtrToOffset(b,p),t)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given a structure, offset member and type, return pointer */
|
|
Packit |
352660 |
#define FcOffsetMember(s,m,t) FcOffsetToPtr(s,(s)->m,t)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given a structure, encoded offset member and type, return pointer to member */
|
|
Packit |
352660 |
#define FcEncodedOffsetMember(s,m,t) FcOffsetToPtr(s,FcOffsetDecode((s)->m), t)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* Given a structure, member and type, convert the member to a pointer */
|
|
Packit |
352660 |
#define FcPointerMember(s,m,t) (FcIsEncodedOffset((s)->m) ? \
|
|
Packit |
352660 |
FcEncodedOffsetMember (s,m,t) : \
|
|
Packit |
352660 |
(s)->m)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Serialized values may hold strings, charsets and langsets as pointers,
|
|
Packit |
352660 |
* unfortunately FcValue is an exposed type so we can't just always use
|
|
Packit |
352660 |
* offsets
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
#define FcValueString(v) FcPointerMember(v,u.s,FcChar8)
|
|
Packit |
352660 |
#define FcValueCharSet(v) FcPointerMember(v,u.c,const FcCharSet)
|
|
Packit |
352660 |
#define FcValueLangSet(v) FcPointerMember(v,u.l,const FcLangSet)
|
|
Packit |
352660 |
#define FcValueRange(v) FcPointerMember(v,u.r,const FcRange)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcValueList *FcValueListPtr;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcValueList {
|
|
Packit |
352660 |
struct _FcValueList *next;
|
|
Packit |
352660 |
FcValue value;
|
|
Packit |
352660 |
FcValueBinding binding;
|
|
Packit |
352660 |
} FcValueList;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcValueListNext(vl) FcPointerMember(vl,next,FcValueList)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef int FcObject;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* The 1024 is to leave some room for future added internal objects, such
|
|
Packit |
352660 |
* that caches from newer fontconfig can still be used with older fontconfig
|
|
Packit |
352660 |
* without getting confused. */
|
|
Packit |
352660 |
#define FC_EXT_OBJ_INDEX 1024
|
|
Packit |
352660 |
#define FC_OBJ_ID(_n_) ((_n_) & (~FC_EXT_OBJ_INDEX))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcPatternElt *FcPatternEltPtr;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Pattern elts are stuck in a structure connected to the pattern,
|
|
Packit |
352660 |
* so they get moved around when the pattern is resized. Hence, the
|
|
Packit |
352660 |
* values field must be a pointer/offset instead of just an offset
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
typedef struct _FcPatternElt {
|
|
Packit |
352660 |
FcObject object;
|
|
Packit |
352660 |
FcValueList *values;
|
|
Packit |
352660 |
} FcPatternElt;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcPatternEltValues(pe) FcPointerMember(pe,values,FcValueList)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcPattern {
|
|
Packit |
352660 |
int num;
|
|
Packit |
352660 |
int size;
|
|
Packit |
352660 |
intptr_t elts_offset;
|
|
Packit |
352660 |
FcRef ref;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcPatternElts(p) FcOffsetMember(p,elts_offset,FcPatternElt)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcFontSetFonts(fs) FcPointerMember(fs,fonts,FcPattern *)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcFontSetFont(fs,i) (FcIsEncodedOffset((fs)->fonts) ? \
|
|
Packit |
352660 |
FcEncodedOffsetToPtr(fs, \
|
|
Packit |
352660 |
FcFontSetFonts(fs)[i], \
|
|
Packit |
352660 |
FcPattern) : \
|
|
Packit |
352660 |
fs->fonts[i])
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef enum _FcOp {
|
|
Packit |
352660 |
FcOpInteger, FcOpDouble, FcOpString, FcOpMatrix, FcOpRange, FcOpBool, FcOpCharSet, FcOpLangSet,
|
|
Packit |
352660 |
FcOpNil,
|
|
Packit |
352660 |
FcOpField, FcOpConst,
|
|
Packit |
352660 |
FcOpAssign, FcOpAssignReplace,
|
|
Packit |
352660 |
FcOpPrependFirst, FcOpPrepend, FcOpAppend, FcOpAppendLast,
|
|
Packit |
352660 |
FcOpDelete, FcOpDeleteAll,
|
|
Packit |
352660 |
FcOpQuest,
|
|
Packit |
352660 |
FcOpOr, FcOpAnd, FcOpEqual, FcOpNotEqual,
|
|
Packit |
352660 |
FcOpContains, FcOpListing, FcOpNotContains,
|
|
Packit |
352660 |
FcOpLess, FcOpLessEqual, FcOpMore, FcOpMoreEqual,
|
|
Packit |
352660 |
FcOpPlus, FcOpMinus, FcOpTimes, FcOpDivide,
|
|
Packit |
352660 |
FcOpNot, FcOpComma, FcOpFloor, FcOpCeil, FcOpRound, FcOpTrunc,
|
|
Packit |
352660 |
FcOpInvalid
|
|
Packit |
352660 |
} FcOp;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef enum _FcOpFlags {
|
|
Packit |
352660 |
FcOpFlagIgnoreBlanks = 1U << 0
|
|
Packit |
352660 |
} FcOpFlags;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_OP_GET_OP(_x_) ((_x_) & 0xffff)
|
|
Packit |
352660 |
#define FC_OP_GET_FLAGS(_x_) (((_x_) & 0xffff0000) >> 16)
|
|
Packit |
352660 |
#define FC_OP(_x_,_f_) (FC_OP_GET_OP (_x_) | ((_f_) << 16))
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcExprMatrix {
|
|
Packit |
352660 |
struct _FcExpr *xx, *xy, *yx, *yy;
|
|
Packit |
352660 |
} FcExprMatrix;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcExprName {
|
|
Packit |
352660 |
FcObject object;
|
|
Packit |
352660 |
FcMatchKind kind;
|
|
Packit |
352660 |
} FcExprName;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcRange {
|
|
Packit |
352660 |
double begin;
|
|
Packit |
352660 |
double end;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcExpr {
|
|
Packit |
352660 |
FcOp op;
|
|
Packit |
352660 |
union {
|
|
Packit |
352660 |
int ival;
|
|
Packit |
352660 |
double dval;
|
|
Packit |
352660 |
const FcChar8 *sval;
|
|
Packit |
352660 |
FcExprMatrix *mexpr;
|
|
Packit |
352660 |
FcBool bval;
|
|
Packit |
352660 |
FcCharSet *cval;
|
|
Packit |
352660 |
FcLangSet *lval;
|
|
Packit |
352660 |
FcRange *rval;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcExprName name;
|
|
Packit |
352660 |
const FcChar8 *constant;
|
|
Packit |
352660 |
struct {
|
|
Packit |
352660 |
struct _FcExpr *left, *right;
|
|
Packit |
352660 |
} tree;
|
|
Packit |
352660 |
} u;
|
|
Packit |
352660 |
} FcExpr;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcExprPage FcExprPage;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcExprPage {
|
|
Packit |
352660 |
FcExprPage *next_page;
|
|
Packit |
352660 |
FcExpr *next;
|
|
Packit |
352660 |
FcExpr exprs[(1024 - 2/* two pointers */ - 2/* malloc overhead */) * sizeof (void *) / sizeof (FcExpr)];
|
|
Packit |
352660 |
FcExpr end[FLEXIBLE_ARRAY_MEMBER];
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef enum _FcQual {
|
|
Packit |
352660 |
FcQualAny, FcQualAll, FcQualFirst, FcQualNotFirst
|
|
Packit |
352660 |
} FcQual;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcMatchDefault ((FcMatchKind) -1)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcTest {
|
|
Packit |
352660 |
FcMatchKind kind;
|
|
Packit |
352660 |
FcQual qual;
|
|
Packit |
352660 |
FcObject object;
|
|
Packit |
352660 |
FcOp op;
|
|
Packit |
352660 |
FcExpr *expr;
|
|
Packit |
352660 |
} FcTest;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcEdit {
|
|
Packit |
352660 |
FcObject object;
|
|
Packit |
352660 |
FcOp op;
|
|
Packit |
352660 |
FcExpr *expr;
|
|
Packit |
352660 |
FcValueBinding binding;
|
|
Packit |
352660 |
} FcEdit;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef void (* FcDestroyFunc) (void *data);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcPtrList FcPtrList;
|
|
Packit |
352660 |
/* need to sync with FcConfigFileInfoIter at fontconfig.h */
|
|
Packit |
352660 |
typedef struct _FcPtrListIter {
|
|
Packit |
352660 |
void *dummy1;
|
|
Packit |
352660 |
void *dummy2;
|
|
Packit |
352660 |
void *dummy3;
|
|
Packit |
352660 |
} FcPtrListIter;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef enum _FcRuleType {
|
|
Packit |
352660 |
FcRuleUnknown, FcRuleTest, FcRuleEdit
|
|
Packit |
352660 |
} FcRuleType;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcRule {
|
|
Packit |
352660 |
struct _FcRule *next;
|
|
Packit |
352660 |
FcRuleType type;
|
|
Packit |
352660 |
union {
|
|
Packit |
352660 |
FcTest *test;
|
|
Packit |
352660 |
FcEdit *edit;
|
|
Packit |
352660 |
} u;
|
|
Packit |
352660 |
} FcRule;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcRuleSet {
|
|
Packit |
352660 |
FcRef ref;
|
|
Packit |
352660 |
FcChar8 *name;
|
|
Packit |
352660 |
FcChar8 *description;
|
|
Packit |
352660 |
FcChar8 *domain;
|
|
Packit |
352660 |
FcBool enabled;
|
|
Packit |
352660 |
FcPtrList *subst[FcMatchKindEnd];
|
|
Packit |
352660 |
} FcRuleSet;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcCharLeaf {
|
|
Packit |
352660 |
FcChar32 map[256/32];
|
|
Packit |
352660 |
} FcCharLeaf;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcCharSet {
|
|
Packit |
352660 |
FcRef ref; /* reference count */
|
|
Packit |
352660 |
int num; /* size of leaves and numbers arrays */
|
|
Packit |
352660 |
intptr_t leaves_offset;
|
|
Packit |
352660 |
intptr_t numbers_offset;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcCharSetLeaves(c) FcOffsetMember(c,leaves_offset,intptr_t)
|
|
Packit |
352660 |
#define FcCharSetLeaf(c,i) (FcOffsetToPtr(FcCharSetLeaves(c), \
|
|
Packit |
352660 |
FcCharSetLeaves(c)[i], \
|
|
Packit |
352660 |
FcCharLeaf))
|
|
Packit |
352660 |
#define FcCharSetNumbers(c) FcOffsetMember(c,numbers_offset,FcChar16)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FCSS_DEFAULT 0 /* default behavior */
|
|
Packit |
352660 |
#define FCSS_ALLOW_DUPLICATES 1 /* allows for duplicate strings in the set */
|
|
Packit |
352660 |
#define FCSS_GROW_BY_64 2 /* grows buffer by 64 elements instead of 1 */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcStrSetHasControlBit(s,c) (s->control & c)
|
|
Packit |
352660 |
#define FcStrSetHasControlBits(s,c) ( (c) == (s->control & (c)) )
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcStrSet {
|
|
Packit |
352660 |
FcRef ref; /* reference count */
|
|
Packit |
352660 |
int num;
|
|
Packit |
352660 |
int size;
|
|
Packit |
352660 |
FcChar8 **strs;
|
|
Packit |
352660 |
unsigned int control; /* control bits for set behavior */
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcStrList {
|
|
Packit |
352660 |
FcStrSet *set;
|
|
Packit |
352660 |
int n;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcStrBuf {
|
|
Packit |
352660 |
FcChar8 *buf;
|
|
Packit |
352660 |
FcBool allocated;
|
|
Packit |
352660 |
FcBool failed;
|
|
Packit |
352660 |
int len;
|
|
Packit |
352660 |
int size;
|
|
Packit |
352660 |
FcChar8 buf_static[16 * sizeof (void *)];
|
|
Packit |
352660 |
} FcStrBuf;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcHashTable FcHashTable;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef FcChar32 (* FcHashFunc) (const void *data);
|
|
Packit |
352660 |
typedef int (* FcCompareFunc) (const void *v1, const void *v2);
|
|
Packit |
352660 |
typedef FcBool (* FcCopyFunc) (const void *src, void **dest);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcCache {
|
|
Packit |
352660 |
unsigned int magic; /* FC_CACHE_MAGIC_MMAP or FC_CACHE_ALLOC */
|
|
Packit |
352660 |
int version; /* FC_CACHE_VERSION_NUMBER */
|
|
Packit |
352660 |
intptr_t size; /* size of file */
|
|
Packit |
352660 |
intptr_t dir; /* offset to dir name */
|
|
Packit |
352660 |
intptr_t dirs; /* offset to subdirs */
|
|
Packit |
352660 |
int dirs_count; /* number of subdir strings */
|
|
Packit |
352660 |
intptr_t set; /* offset to font set */
|
|
Packit |
352660 |
int checksum; /* checksum of directory state */
|
|
Packit |
352660 |
int64_t checksum_nano; /* checksum of directory state */
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#undef FcCacheDir
|
|
Packit |
352660 |
#undef FcCacheSubdir
|
|
Packit |
352660 |
#define FcCacheDir(c) FcOffsetMember(c,dir,FcChar8)
|
|
Packit |
352660 |
#define FcCacheDirs(c) FcOffsetMember(c,dirs,intptr_t)
|
|
Packit |
352660 |
#define FcCacheSet(c) FcOffsetMember(c,set,FcFontSet)
|
|
Packit |
352660 |
#define FcCacheSubdir(c,i) FcOffsetToPtr (FcCacheDirs(c),\
|
|
Packit |
352660 |
FcCacheDirs(c)[i], \
|
|
Packit |
352660 |
FcChar8)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Used while constructing a directory cache object
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_SERIALIZE_HASH_SIZE 8191
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef union _FcAlign {
|
|
Packit |
352660 |
double d;
|
|
Packit |
352660 |
int i;
|
|
Packit |
352660 |
intptr_t ip;
|
|
Packit |
352660 |
FcBool b;
|
|
Packit |
352660 |
void *p;
|
|
Packit |
352660 |
} FcAlign;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcSerializeBucket {
|
|
Packit |
352660 |
struct _FcSerializeBucket *next;
|
|
Packit |
352660 |
const void *object;
|
|
Packit |
352660 |
intptr_t offset;
|
|
Packit |
352660 |
} FcSerializeBucket;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcCharSetFreezer FcCharSetFreezer;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcSerialize {
|
|
Packit |
352660 |
intptr_t size;
|
|
Packit |
352660 |
FcCharSetFreezer *cs_freezer;
|
|
Packit |
352660 |
void *linear;
|
|
Packit |
352660 |
FcSerializeBucket *buckets[FC_SERIALIZE_HASH_SIZE];
|
|
Packit |
352660 |
} FcSerialize;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* To map adobe glyph names to unicode values, a precomputed hash
|
|
Packit |
352660 |
* table is used
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcGlyphName {
|
|
Packit |
352660 |
FcChar32 ucs; /* unicode value */
|
|
Packit |
352660 |
FcChar8 name[1]; /* name extends beyond struct */
|
|
Packit |
352660 |
} FcGlyphName;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* To perform case-insensitive string comparisons, a table
|
|
Packit |
352660 |
* is used which holds three different kinds of folding data.
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* The first is a range of upper case values mapping to a range
|
|
Packit |
352660 |
* of their lower case equivalents. Within each range, the offset
|
|
Packit |
352660 |
* between upper and lower case is constant.
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* The second is a range of upper case values which are interleaved
|
|
Packit |
352660 |
* with their lower case equivalents.
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* The third is a set of raw unicode values mapping to a list
|
|
Packit |
352660 |
* of unicode values for comparison purposes. This allows conversion
|
|
Packit |
352660 |
* of ß to "ss" so that SS, ss and ß all match. A separate array
|
|
Packit |
352660 |
* holds the list of unicode values for each entry.
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* These are packed into a single table. Using a binary search,
|
|
Packit |
352660 |
* the appropriate entry can be located.
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_CASE_FOLD_RANGE 0
|
|
Packit |
352660 |
#define FC_CASE_FOLD_EVEN_ODD 1
|
|
Packit |
352660 |
#define FC_CASE_FOLD_FULL 2
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcCaseFold {
|
|
Packit |
352660 |
FcChar32 upper;
|
|
Packit |
352660 |
FcChar16 method : 2;
|
|
Packit |
352660 |
FcChar16 count : 14;
|
|
Packit |
352660 |
short offset; /* lower - upper for RANGE, table id for FULL */
|
|
Packit |
352660 |
} FcCaseFold;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_MAX_FILE_LEN 4096
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FC_CACHE_MAGIC_MMAP 0xFC02FC04
|
|
Packit |
352660 |
#define FC_CACHE_MAGIC_ALLOC 0xFC02FC05
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcAtomic {
|
|
Packit |
352660 |
FcChar8 *file; /* original file name */
|
|
Packit |
352660 |
FcChar8 *new; /* temp file name -- write data here */
|
|
Packit |
352660 |
FcChar8 *lck; /* lockfile name (used for locking) */
|
|
Packit |
352660 |
FcChar8 *tmp; /* tmpfile name (used for locking) */
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcConfig {
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* File names loaded from the configuration -- saved here as the
|
|
Packit |
352660 |
* cache file must be consulted before the directories are scanned,
|
|
Packit |
352660 |
* and those directives may occur in any order
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcStrSet *configDirs; /* directories to scan for fonts */
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* List of directories containing fonts,
|
|
Packit |
352660 |
* built by recursively scanning the set
|
|
Packit |
352660 |
* of configured directories
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcStrSet *fontDirs;
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* List of directories containing cache files.
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcStrSet *cacheDirs;
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Names of all of the configuration files used
|
|
Packit |
352660 |
* to create this configuration
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcStrSet *configFiles; /* config files loaded */
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Substitution instructions for patterns and fonts;
|
|
Packit |
352660 |
* maxObjects is used to allocate appropriate intermediate storage
|
|
Packit |
352660 |
* while performing a whole set of substitutions
|
|
Packit |
352660 |
*
|
|
Packit |
352660 |
* 0.. substitutions for patterns
|
|
Packit |
352660 |
* 1.. substitutions for fonts
|
|
Packit |
352660 |
* 2.. substitutions for scanned fonts
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcPtrList *subst[FcMatchKindEnd];
|
|
Packit |
352660 |
int maxObjects; /* maximum number of tests in all substs */
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* List of patterns used to control font file selection
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcStrSet *acceptGlobs;
|
|
Packit |
352660 |
FcStrSet *rejectGlobs;
|
|
Packit |
352660 |
FcFontSet *acceptPatterns;
|
|
Packit |
352660 |
FcFontSet *rejectPatterns;
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* The set of fonts loaded from the listed directories; the
|
|
Packit |
352660 |
* order within the set does not determine the font selection,
|
|
Packit |
352660 |
* except in the case of identical matches in which case earlier fonts
|
|
Packit |
352660 |
* match preferrentially
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
FcFontSet *fonts[FcSetApplication + 1];
|
|
Packit |
352660 |
/*
|
|
Packit |
352660 |
* Fontconfig can periodically rescan the system configuration
|
|
Packit |
352660 |
* and font directories. This rescanning occurs when font
|
|
Packit |
352660 |
* listing requests are made, but no more often than rescanInterval
|
|
Packit |
352660 |
* seconds apart.
|
|
Packit |
352660 |
*/
|
|
Packit |
352660 |
time_t rescanTime; /* last time information was scanned */
|
|
Packit |
352660 |
int rescanInterval; /* interval between scans */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcRef ref; /* reference count */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcExprPage *expr_pool; /* pool of FcExpr's */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcChar8 *sysRoot; /* override the system root directory */
|
|
Packit |
352660 |
FcStrSet *availConfigFiles; /* config files available */
|
|
Packit |
352660 |
FcPtrList *rulesetList; /* List of rulesets being installed */
|
|
Packit |
352660 |
FcHashTable *uuid_table; /* UUID table for cachedirs */
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcFileTime {
|
|
Packit |
352660 |
time_t time;
|
|
Packit |
352660 |
FcBool set;
|
|
Packit |
352660 |
} FcFileTime;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcCharMap FcCharMap;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcStatFS FcStatFS;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcStatFS {
|
|
Packit |
352660 |
FcBool is_remote_fs;
|
|
Packit |
352660 |
FcBool is_mtime_broken;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
typedef struct _FcValuePromotionBuffer FcValuePromotionBuffer;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
struct _FcValuePromotionBuffer {
|
|
Packit |
352660 |
union {
|
|
Packit |
352660 |
double d;
|
|
Packit |
352660 |
int i;
|
|
Packit |
352660 |
long l;
|
|
Packit |
352660 |
char c[256]; /* Enlarge as needed */
|
|
Packit |
352660 |
} u;
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fccache.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCache *
|
|
Packit |
352660 |
FcDirCacheScan (const FcChar8 *dir, FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCache *
|
|
Packit |
352660 |
FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, struct stat *dir_stat, FcStrSet *dirs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCache *
|
|
Packit |
352660 |
FcDirCacheRebuild (FcCache *cache, struct stat *dir_stat, FcStrSet *dirs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcDirCacheWrite (FcCache *cache, FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcDirCacheCreateTagFile (const FcChar8 *cache_dir);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcCacheObjectReference (void *object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcCacheObjectDereference (void *object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void *
|
|
Packit |
352660 |
FcCacheAllocate (FcCache *cache, size_t len);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcCacheFini (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcDirCacheReference (FcCache *cache, int nref);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcDirCacheLock (const FcChar8 *dir,
|
|
Packit |
352660 |
FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcDirCacheUnlock (int fd);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fccfg.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigInit (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcConfigFini (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcConfigXdgCacheHome (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcConfigXdgConfigHome (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcConfigXdgDataHome (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcExpr *
|
|
Packit |
352660 |
FcConfigAllocExpr (FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddConfigDir (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *d);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddFontDir (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *d);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddCacheDir (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *d);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddConfigFile (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *f);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddBlank (FcConfig *config,
|
|
Packit |
352660 |
FcChar32 blank);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcBool
|
|
Packit |
352660 |
FcConfigAddRule (FcConfig *config,
|
|
Packit |
352660 |
FcRule *rule,
|
|
Packit |
352660 |
FcMatchKind kind);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcConfigSetFonts (FcConfig *config,
|
|
Packit |
352660 |
FcFontSet *fonts,
|
|
Packit |
352660 |
FcSetName set);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigCompareValue (const FcValue *m,
|
|
Packit |
352660 |
unsigned int op_,
|
|
Packit |
352660 |
const FcValue *v);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigGlobAdd (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *glob,
|
|
Packit |
352660 |
FcBool accept);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAcceptFilename (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *filename);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigPatternsAdd (FcConfig *config,
|
|
Packit |
352660 |
FcPattern *pattern,
|
|
Packit |
352660 |
FcBool accept);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAcceptFont (FcConfig *config,
|
|
Packit |
352660 |
const FcPattern *font);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcFileTime
|
|
Packit |
352660 |
FcConfigModifiedTime (FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigAddCache (FcConfig *config, FcCache *cache,
|
|
Packit |
352660 |
FcSetName set, FcStrSet *dirSet, FcChar8 *forDir);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcRuleSet *
|
|
Packit |
352660 |
FcRuleSetCreate (const FcChar8 *name);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcRuleSetDestroy (FcRuleSet *rs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcRuleSetReference (FcRuleSet *rs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcRuleSetEnable (FcRuleSet *rs,
|
|
Packit |
352660 |
FcBool flag);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcRuleSetAddDescription (FcRuleSet *rs,
|
|
Packit |
352660 |
const FcChar8 *domain,
|
|
Packit |
352660 |
const FcChar8 *description);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcRuleSetAdd (FcRuleSet *rs,
|
|
Packit |
352660 |
FcRule *rule,
|
|
Packit |
352660 |
FcMatchKind kind);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcserialize.c */
|
|
Packit |
352660 |
FcPrivate intptr_t
|
|
Packit |
352660 |
FcAlignSize (intptr_t size);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcSerialize *
|
|
Packit |
352660 |
FcSerializeCreate (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcSerializeDestroy (FcSerialize *serialize);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcSerializeAlloc (FcSerialize *serialize, const void *object, int size);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate intptr_t
|
|
Packit |
352660 |
FcSerializeReserve (FcSerialize *serialize, int size);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate intptr_t
|
|
Packit |
352660 |
FcSerializeOffset (FcSerialize *serialize, const void *object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void *
|
|
Packit |
352660 |
FcSerializePtr (FcSerialize *serialize, const void *object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcLangSetSerializeAlloc (FcSerialize *serialize, const FcLangSet *l);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcLangSet *
|
|
Packit |
352660 |
FcLangSetSerialize(FcSerialize *serialize, const FcLangSet *l);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fccharset.c */
|
|
Packit |
352660 |
FcPrivate FcCharSet *
|
|
Packit |
352660 |
FcCharSetPromote (FcValuePromotionBuffer *vbuf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcLangCharSetPopulate (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCharSetFreezer *
|
|
Packit |
352660 |
FcCharSetFreezerCreate (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcCharSet *
|
|
Packit |
352660 |
FcCharSetFreeze (FcCharSetFreezer *freezer, const FcCharSet *fcs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcCharSetFreezerDestroy (FcCharSetFreezer *freezer);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcNameUnparseCharSet (FcStrBuf *buf, const FcCharSet *c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCharSet *
|
|
Packit |
352660 |
FcNameParseCharSet (FcChar8 *string);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcNameUnparseValue (FcStrBuf *buf,
|
|
Packit |
352660 |
FcValue *v0,
|
|
Packit |
352660 |
FcChar8 *escape);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcNameUnparseValueList (FcStrBuf *buf,
|
|
Packit |
352660 |
FcValueListPtr v,
|
|
Packit |
352660 |
FcChar8 *escape);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCharLeaf *
|
|
Packit |
352660 |
FcCharSetFindLeafCreate (FcCharSet *fcs, FcChar32 ucs4);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcCharSetSerializeAlloc(FcSerialize *serialize, const FcCharSet *cs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcCharSet *
|
|
Packit |
352660 |
FcCharSetSerialize(FcSerialize *serialize, const FcCharSet *cs);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar16 *
|
|
Packit |
352660 |
FcCharSetGetNumbers(const FcCharSet *c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fccompat.c */
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcOpen(const char *pathname, int flags, ...);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcMakeTempfile (char *template);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int32_t
|
|
Packit |
352660 |
FcRandom (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcMakeDirectory (const FcChar8 *dir);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate ssize_t
|
|
Packit |
352660 |
FcReadLink (const FcChar8 *pathname,
|
|
Packit |
352660 |
FcChar8 *buf,
|
|
Packit |
352660 |
size_t bufsiz);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcdbg.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcValuePrintFile (FILE *f, const FcValue v);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcValuePrintWithPosition (const FcValue v, FcBool show_pos_mark);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcValueListPrintWithPosition (FcValueListPtr l, const FcValueListPtr pos);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcValueListPrint (FcValueListPtr l);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcLangSetPrint (const FcLangSet *ls);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcOpPrint (FcOp op);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcTestPrint (const FcTest *test);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcExprPrint (const FcExpr *expr);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcEditPrint (const FcEdit *edit);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcRulePrint (const FcRule *rule);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcCharSetPrint (const FcCharSet *c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcPatternPrint2 (FcPattern *p1, FcPattern *p2, const FcObjectSet *os);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
extern FcPrivate int FcDebugVal;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcDebug() (FcDebugVal)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcInitDebug (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcdefault.c */
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcGetDefaultLang (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcGetPrgname (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcDefaultFini (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcdir.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcFileIsLink (const FcChar8 *file);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcFileIsFile (const FcChar8 *file);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcFileScanConfig (FcFontSet *set,
|
|
Packit |
352660 |
FcStrSet *dirs,
|
|
Packit |
352660 |
const FcChar8 *file,
|
|
Packit |
352660 |
FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcDirScanConfig (FcFontSet *set,
|
|
Packit |
352660 |
FcStrSet *dirs,
|
|
Packit |
352660 |
const FcChar8 *dir,
|
|
Packit |
352660 |
FcBool force,
|
|
Packit |
352660 |
FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcfont.c */
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcFontDebug (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcfs.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcFontSetSerializeAlloc (FcSerialize *serialize, const FcFontSet *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcFontSet *
|
|
Packit |
352660 |
FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcFontSet *
|
|
Packit |
352660 |
FcFontSetDeserialize (const FcFontSet *set);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcplist.c */
|
|
Packit |
352660 |
FcPrivate FcPtrList *
|
|
Packit |
352660 |
FcPtrListCreate (FcDestroyFunc func);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcPtrListDestroy (FcPtrList *list);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcPtrListIterInit (const FcPtrList *list,
|
|
Packit |
352660 |
FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcPtrListIterInitAtLast (FcPtrList *list,
|
|
Packit |
352660 |
FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPtrListIterNext (const FcPtrList *list,
|
|
Packit |
352660 |
FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPtrListIterIsValid (const FcPtrList *list,
|
|
Packit |
352660 |
const FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void *
|
|
Packit |
352660 |
FcPtrListIterGetValue (const FcPtrList *list,
|
|
Packit |
352660 |
const FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPtrListIterAdd (FcPtrList *list,
|
|
Packit |
352660 |
FcPtrListIter *iter,
|
|
Packit |
352660 |
void *data);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPtrListIterRemove (FcPtrList *list,
|
|
Packit |
352660 |
FcPtrListIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcinit.c */
|
|
Packit |
352660 |
FcPrivate FcConfig *
|
|
Packit |
352660 |
FcInitLoadOwnConfig (FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcConfig *
|
|
Packit |
352660 |
FcInitLoadOwnConfigAndFonts (FcConfig *config);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcxml.c */
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcConfigPathFini (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcTestDestroy (FcTest *test);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcEditDestroy (FcEdit *e);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
void
|
|
Packit |
352660 |
FcRuleDestroy (FcRule *rule);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fclang.c */
|
|
Packit |
352660 |
FcPrivate FcLangSet *
|
|
Packit |
352660 |
FcFreeTypeLangSet (const FcCharSet *charset,
|
|
Packit |
352660 |
const FcChar8 *exclusiveLang);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcLangResult
|
|
Packit |
352660 |
FcLangCompare (const FcChar8 *s1, const FcChar8 *s2);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcLangSet *
|
|
Packit |
352660 |
FcLangSetPromote (const FcChar8 *lang, FcValuePromotionBuffer *buf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcLangSet *
|
|
Packit |
352660 |
FcNameParseLangSet (const FcChar8 *string);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcNameUnparseEscaped (FcPattern *pat, FcBool escape);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcConfigParseOnly (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *name,
|
|
Packit |
352660 |
FcBool complain);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcConfigRealFilename (FcConfig *config,
|
|
Packit |
352660 |
const FcChar8 *url);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fclist.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcListPatternMatchAny (const FcPattern *p,
|
|
Packit |
352660 |
const FcPattern *font);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcmatch.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcname.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
enum {
|
|
Packit |
352660 |
FC_INVALID_OBJECT = 0,
|
|
Packit |
352660 |
#define FC_OBJECT(NAME, Type, Cmp) FC_##NAME##_OBJECT,
|
|
Packit |
352660 |
#include "fcobjs.h"
|
|
Packit |
352660 |
#undef FC_OBJECT
|
|
Packit |
352660 |
FC_ONE_AFTER_MAX_BASE_OBJECT
|
|
Packit |
352660 |
#define FC_MAX_BASE_OBJECT (FC_ONE_AFTER_MAX_BASE_OBJECT - 1)
|
|
Packit |
352660 |
};
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcNameBool (const FcChar8 *v, FcBool *result);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcObjectValidType (FcObject object, FcType type);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcObject
|
|
Packit |
352660 |
FcObjectFromName (const char * name);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const char *
|
|
Packit |
352660 |
FcObjectName (FcObject object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcObjectSet *
|
|
Packit |
352660 |
FcObjectGetSet (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#define FcObjectCompare(a, b) ((int) a - (int) b)
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcpat.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValue
|
|
Packit |
352660 |
FcValueCanonicalize (const FcValue *v);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueListPtr
|
|
Packit |
352660 |
FcValueListCreate (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcValueListDestroy (FcValueListPtr l);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueListPtr
|
|
Packit |
352660 |
FcValueListPrepend (FcValueListPtr vallist,
|
|
Packit |
352660 |
FcValue value,
|
|
Packit |
352660 |
FcValueBinding binding);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueListPtr
|
|
Packit |
352660 |
FcValueListAppend (FcValueListPtr vallist,
|
|
Packit |
352660 |
FcValue value,
|
|
Packit |
352660 |
FcValueBinding binding);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueListPtr
|
|
Packit |
352660 |
FcValueListDuplicate(FcValueListPtr orig);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcPatternElt *
|
|
Packit |
352660 |
FcPatternObjectFindElt (const FcPattern *p, FcObject object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcPatternElt *
|
|
Packit |
352660 |
FcPatternObjectInsertElt (FcPattern *p, FcObject object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectListAdd (FcPattern *p,
|
|
Packit |
352660 |
FcObject object,
|
|
Packit |
352660 |
FcValueListPtr list,
|
|
Packit |
352660 |
FcBool append);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddWithBinding (FcPattern *p,
|
|
Packit |
352660 |
FcObject object,
|
|
Packit |
352660 |
FcValue value,
|
|
Packit |
352660 |
FcValueBinding binding,
|
|
Packit |
352660 |
FcBool append);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAdd (FcPattern *p, FcObject object, FcValue value, FcBool append);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectDel (FcPattern *p, FcObject object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectRemove (FcPattern *p, FcObject object, int id);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddInteger (FcPattern *p, FcObject object, int i);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddDouble (FcPattern *p, FcObject object, double d);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddString (FcPattern *p, FcObject object, const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddMatrix (FcPattern *p, FcObject object, const FcMatrix *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddCharSet (FcPattern *p, FcObject object, const FcCharSet *c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddBool (FcPattern *p, FcObject object, FcBool b);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddLangSet (FcPattern *p, FcObject object, const FcLangSet *ls);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternObjectAddRange (FcPattern *p, FcObject object, const FcRange *r);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetInteger (const FcPattern *p, FcObject object, int n, int *i);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetDouble (const FcPattern *p, FcObject object, int n, double *d);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetString (const FcPattern *p, FcObject object, int n, FcChar8 ** s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetMatrix (const FcPattern *p, FcObject object, int n, FcMatrix **s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetCharSet (const FcPattern *p, FcObject object, int n, FcCharSet **c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetBool (const FcPattern *p, FcObject object, int n, FcBool *b);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetLangSet (const FcPattern *p, FcObject object, int n, FcLangSet **ls);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcResult
|
|
Packit |
352660 |
FcPatternObjectGetRange (const FcPattern *p, FcObject object, int id, FcRange **r);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternAppend (FcPattern *p, FcPattern *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcPatternPosition (const FcPattern *p, const char *object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternFindObjectIter (const FcPattern *pat, FcPatternIter *iter, FcObject object);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcObject
|
|
Packit |
352660 |
FcPatternIterGetObjectId (const FcPattern *pat, FcPatternIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueListPtr
|
|
Packit |
352660 |
FcPatternIterGetValues (const FcPattern *pat, FcPatternIter *iter);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcPattern *
|
|
Packit |
352660 |
FcPatternCacheRewriteFile (const FcPattern *pat, FcCache *cache, const FcChar8 *relocated_font_file);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar32
|
|
Packit |
352660 |
FcStringHash (const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcPatternSerializeAlloc (FcSerialize *serialize, const FcPattern *pat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcPattern *
|
|
Packit |
352660 |
FcPatternSerialize (FcSerialize *serialize, const FcPattern *pat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcValueListSerializeAlloc (FcSerialize *serialize, const FcValueList *pat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcValueList *
|
|
Packit |
352660 |
FcValueListSerialize (FcSerialize *serialize, const FcValueList *pat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcrender.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcmatrix.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
extern FcPrivate const FcMatrix FcIdentityMatrix;
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcMatrixFree (FcMatrix *mat);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcrange.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcRange *
|
|
Packit |
352660 |
FcRangePromote (double v, FcValuePromotionBuffer *vbuf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcRangeIsInRange (const FcRange *a, const FcRange *b);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcRangeCompare (FcOp op, const FcRange *a, const FcRange *b);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar32
|
|
Packit |
352660 |
FcRangeHash (const FcRange *r);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcRangeSerializeAlloc (FcSerialize *serialize, const FcRange *r);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcRange *
|
|
Packit |
352660 |
FcRangeSerialize (FcSerialize *serialize, const FcRange *r);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcstat.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcStat (const FcChar8 *file, struct stat *statb);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcStatChecksum (const FcChar8 *file, struct stat *statb);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcIsFsMmapSafe (int fd);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcIsFsMtimeBroken (const FcChar8 *dir);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcstr.c */
|
|
Packit |
352660 |
FcPrivate FcStrSet *
|
|
Packit |
352660 |
FcStrSetCreateEx (unsigned int control);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrSetAddLangs (FcStrSet *strs, const char *languages);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcStrSetSort (FcStrSet * set);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcStrBufInit (FcStrBuf *buf, FcChar8 *init, int size);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcStrBufDestroy (FcStrBuf *buf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrBufDone (FcStrBuf *buf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrBufDoneStatic (FcStrBuf *buf);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrBufChar (FcStrBuf *buf, FcChar8 c);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrBufString (FcStrBuf *buf, const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrBufData (FcStrBuf *buf, const FcChar8 *s, int len);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcStrCmpIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcStrCmpIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcChar8 *
|
|
Packit |
352660 |
FcStrContainsIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcChar8 *
|
|
Packit |
352660 |
FcStrContainsIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcChar8 *
|
|
Packit |
352660 |
FcStrContainsWord (const FcChar8 *s1, const FcChar8 *s2);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate int
|
|
Packit |
352660 |
FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrGlobMatch (const FcChar8 *glob,
|
|
Packit |
352660 |
const FcChar8 *string);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrUsesHome (const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrIsAbsoluteFilename (const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrBuildFilename (const FcChar8 *path,
|
|
Packit |
352660 |
...);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrLastSlash (const FcChar8 *path);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar32
|
|
Packit |
352660 |
FcStrHashIgnoreCase (const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrCanonFilename (const FcChar8 *s);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcStrSerializeAlloc (FcSerialize *serialize, const FcChar8 *str);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcChar8 *
|
|
Packit |
352660 |
FcStrSerialize (FcSerialize *serialize, const FcChar8 *str);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fcobjs.c */
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcObjectFini (void);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcObject
|
|
Packit |
352660 |
FcObjectLookupIdByName (const char *str);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcObject
|
|
Packit |
352660 |
FcObjectLookupBuiltinIdByName (const char *str);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const char *
|
|
Packit |
352660 |
FcObjectLookupOtherNameById (FcObject id);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcObjectType *
|
|
Packit |
352660 |
FcObjectLookupOtherTypeById (FcObject id);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate const FcObjectType *
|
|
Packit |
352660 |
FcObjectLookupOtherTypeByName (const char *str);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
/* fchash.c */
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashStrCopy (const void *src,
|
|
Packit |
352660 |
void **dest);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashUuidCopy (const void *src,
|
|
Packit |
352660 |
void **dest);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcHashUuidFree (void *data);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcHashTable *
|
|
Packit |
352660 |
FcHashTableCreate (FcHashFunc hash_func,
|
|
Packit |
352660 |
FcCompareFunc compare_func,
|
|
Packit |
352660 |
FcCopyFunc key_copy_func,
|
|
Packit |
352660 |
FcCopyFunc value_copy_func,
|
|
Packit |
352660 |
FcDestroyFunc key_destroy_func,
|
|
Packit |
352660 |
FcDestroyFunc value_destroy_func);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate void
|
|
Packit |
352660 |
FcHashTableDestroy (FcHashTable *table);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashTableFind (FcHashTable *table,
|
|
Packit |
352660 |
const void *key,
|
|
Packit |
352660 |
void **value);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashTableAdd (FcHashTable *table,
|
|
Packit |
352660 |
void *key,
|
|
Packit |
352660 |
void *value);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashTableReplace (FcHashTable *table,
|
|
Packit |
352660 |
void *key,
|
|
Packit |
352660 |
void *value);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
FcPrivate FcBool
|
|
Packit |
352660 |
FcHashTableRemove (FcHashTable *table,
|
|
Packit |
352660 |
void *key);
|
|
Packit |
352660 |
|
|
Packit |
352660 |
#endif /* _FC_INT_H_ */
|