|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963 |
- /*
- * fontconfig/fontconfig/fontconfig.h
- *
- * 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.
- *
- * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THE AUTHOR(S) 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 <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <stdarg.h>
-
- #if defined(__GNUC__) && (__GNUC__ >= 4)
- #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
- #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_MAJOR 2
- #define FC_MINOR 8
- #define FC_REVISION 0
-
- #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
-
- /*
- * 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 FC_CACHE_VERSION "3"
-
- #define FcTrue 1
- #define FcFalse 0
-
- #define FC_FAMILY "family" /* String */
- #define FC_STYLE "style" /* String */
- #define FC_SLANT "slant" /* Int */
- #define FC_WEIGHT "weight" /* Int */
- #define FC_SIZE "size" /* Double */
- #define FC_ASPECT "aspect" /* Double */
- #define FC_PIXEL_SIZE "pixelsize" /* Double */
- #define FC_SPACING "spacing" /* Int */
- #define FC_FOUNDRY "foundry" /* String */
- #define FC_ANTIALIAS "antialias" /* Bool (depends) */
- #define FC_HINTING "hinting" /* Bool (true) */
- #define FC_HINT_STYLE "hintstyle" /* Int */
- #define FC_VERTICAL_LAYOUT "verticallayout" /* Bool (false) */
- #define FC_AUTOHINT "autohint" /* Bool (false) */
- #define FC_GLOBAL_ADVANCE "globaladvance" /* Bool (true) */
- #define FC_WIDTH "width" /* Int */
- #define FC_FILE "file" /* String */
- #define FC_INDEX "index" /* Int */
- #define FC_FT_FACE "ftface" /* FT_Face */
- #define FC_RASTERIZER "rasterizer" /* String */
- #define FC_OUTLINE "outline" /* Bool */
- #define FC_SCALABLE "scalable" /* Bool */
- #define FC_SCALE "scale" /* double */
- #define FC_DPI "dpi" /* double */
- #define FC_RGBA "rgba" /* Int */
- #define FC_MINSPACE "minspace" /* Bool use minimum line spacing */
- #define FC_SOURCE "source" /* String (deprecated) */
- #define FC_CHARSET "charset" /* CharSet */
- #define FC_LANG "lang" /* String RFC 3066 langs */
- #define FC_FONTVERSION "fontversion" /* Int from 'head' table */
- #define FC_FULLNAME "fullname" /* String */
- #define FC_FAMILYLANG "familylang" /* String RFC 3066 langs */
- #define FC_STYLELANG "stylelang" /* String RFC 3066 langs */
- #define FC_FULLNAMELANG "fullnamelang" /* String RFC 3066 langs */
- #define FC_CAPABILITY "capability" /* String */
- #define FC_FONTFORMAT "fontformat" /* String */
- #define FC_EMBOLDEN "embolden" /* Bool - true if emboldening needed*/
- #define FC_EMBEDDED_BITMAP "embeddedbitmap" /* Bool - true to enable embedded bitmaps */
- #define FC_DECORATIVE "decorative" /* Bool - true if style is a decorative variant */
- #define FC_LCD_FILTER "lcdfilter" /* Int */
-
- #define FC_CACHE_SUFFIX ".cache-"FC_CACHE_VERSION
- #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
- #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
-
- /* Adjust outline rasterizer */
- #define FC_CHAR_WIDTH "charwidth" /* Int */
- #define FC_CHAR_HEIGHT "charheight"/* Int */
- #define FC_MATRIX "matrix" /* FcMatrix */
-
- #define FC_WEIGHT_THIN 0
- #define FC_WEIGHT_EXTRALIGHT 40
- #define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
- #define FC_WEIGHT_LIGHT 50
- #define FC_WEIGHT_BOOK 75
- #define FC_WEIGHT_REGULAR 80
- #define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
- #define FC_WEIGHT_MEDIUM 100
- #define FC_WEIGHT_DEMIBOLD 180
- #define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
- #define FC_WEIGHT_BOLD 200
- #define FC_WEIGHT_EXTRABOLD 205
- #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
- #define FC_WEIGHT_BLACK 210
- #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
- #define FC_WEIGHT_EXTRABLACK 215
- #define FC_WEIGHT_ULTRABLACK FC_WEIGHT_EXTRABLACK
-
- #define FC_SLANT_ROMAN 0
- #define FC_SLANT_ITALIC 100
- #define FC_SLANT_OBLIQUE 110
-
- #define FC_WIDTH_ULTRACONDENSED 50
- #define FC_WIDTH_EXTRACONDENSED 63
- #define FC_WIDTH_CONDENSED 75
- #define FC_WIDTH_SEMICONDENSED 87
- #define FC_WIDTH_NORMAL 100
- #define FC_WIDTH_SEMIEXPANDED 113
- #define FC_WIDTH_EXPANDED 125
- #define FC_WIDTH_EXTRAEXPANDED 150
- #define FC_WIDTH_ULTRAEXPANDED 200
-
- #define FC_PROPORTIONAL 0
- #define FC_DUAL 90
- #define FC_MONO 100
- #define FC_CHARCELL 110
-
- /* sub-pixel order */
- #define FC_RGBA_UNKNOWN 0
- #define FC_RGBA_RGB 1
- #define FC_RGBA_BGR 2
- #define FC_RGBA_VRGB 3
- #define FC_RGBA_VBGR 4
- #define FC_RGBA_NONE 5
-
- /* hinting style */
- #define FC_HINT_NONE 0
- #define FC_HINT_SLIGHT 1
- #define FC_HINT_MEDIUM 2
- #define FC_HINT_FULL 3
-
- /* LCD filter */
- #define FC_LCD_NONE 0
- #define FC_LCD_DEFAULT 1
- #define FC_LCD_LIGHT 2
- #define FC_LCD_LEGACY 3
-
- typedef enum _FcType {
- FcTypeVoid,
- FcTypeInteger,
- FcTypeDouble,
- FcTypeString,
- FcTypeBool,
- FcTypeMatrix,
- FcTypeCharSet,
- FcTypeFTFace,
- FcTypeLangSet
- } FcType;
-
- typedef struct _FcMatrix {
- double xx, xy, yx, yy;
- } FcMatrix;
-
- #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, \
- (m)->xy = (m)->yx = 0)
-
- /*
- * A data structure to represent the available glyphs in a font.
- * This is represented as a sparse boolean btree.
- */
-
- typedef struct _FcCharSet FcCharSet;
-
- typedef struct _FcObjectType {
- const char *object;
- FcType type;
- } FcObjectType;
-
- typedef struct _FcConstant {
- const FcChar8 *name;
- const char *object;
- int value;
- } FcConstant;
-
- typedef enum _FcResult {
- FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId,
- FcResultOutOfMemory
- } FcResult;
-
- typedef struct _FcPattern FcPattern;
-
- typedef struct _FcLangSet FcLangSet;
-
- typedef struct _FcValue {
- FcType type;
- 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;
- FcPattern **fonts;
- } FcFontSet;
-
- typedef struct _FcObjectSet {
- int nobject;
- int sobject;
- const char **objects;
- } FcObjectSet;
-
- typedef enum _FcMatchKind {
- FcMatchPattern, FcMatchFont, FcMatchScan
- } FcMatchKind;
-
- typedef enum _FcLangResult {
- FcLangEqual = 0,
- FcLangDifferentCountry = 1,
- FcLangDifferentTerritory = 1,
- FcLangDifferentLang = 2
- } FcLangResult;
-
- typedef enum _FcSetName {
- FcSetSystem = 0,
- FcSetApplication = 1
- } FcSetName;
-
- typedef struct _FcAtomic FcAtomic;
-
- #if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
- #define _FCFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
- #define _FCFUNCPROTOEND }
- #else
- #define _FCFUNCPROTOBEGIN
- #define _FCFUNCPROTOEND
- #endif
-
- typedef enum { FcEndianBig, FcEndianLittle } FcEndian;
-
- typedef struct _FcConfig FcConfig;
-
- typedef struct _FcGlobalCache FcFileCache;
-
- typedef struct _FcBlanks FcBlanks;
-
- typedef struct _FcStrList FcStrList;
-
- typedef struct _FcStrSet FcStrSet;
-
- typedef struct _FcCache FcCache;
-
- _FCFUNCPROTOBEGIN
-
- /* fcblanks.c */
- FcPublic FcBlanks *
- FcBlanksCreate (void);
-
- FcPublic void
- FcBlanksDestroy (FcBlanks *b);
-
- FcPublic FcBool
- FcBlanksAdd (FcBlanks *b, FcChar32 ucs4);
-
- FcPublic FcBool
- FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4);
-
- /* fccache.c */
-
- FcPublic const FcChar8 *
- FcCacheDir(const FcCache *c);
-
- FcPublic FcFontSet *
- FcCacheCopySet(const FcCache *c);
-
- FcPublic const FcChar8 *
- FcCacheSubdir (const FcCache *c, int i);
-
- FcPublic int
- FcCacheNumSubdir (const FcCache *c);
-
- FcPublic int
- FcCacheNumFont (const FcCache *c);
-
- FcPublic FcBool
- FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config);
-
- FcPublic FcBool
- FcDirCacheValid (const FcChar8 *cache_file);
-
- /* fccfg.c */
- FcPublic FcChar8 *
- FcConfigHome (void);
-
- FcPublic FcBool
- FcConfigEnableHome (FcBool enable);
-
- FcPublic FcChar8 *
- FcConfigFilename (const FcChar8 *url);
-
- FcPublic FcConfig *
- FcConfigCreate (void);
-
- FcPublic FcConfig *
- FcConfigReference (FcConfig *config);
-
- FcPublic void
- FcConfigDestroy (FcConfig *config);
-
- FcPublic FcBool
- FcConfigSetCurrent (FcConfig *config);
-
- FcPublic FcConfig *
- FcConfigGetCurrent (void);
-
- FcPublic FcBool
- FcConfigUptoDate (FcConfig *config);
-
- FcPublic FcBool
- FcConfigBuildFonts (FcConfig *config);
-
- FcPublic FcStrList *
- FcConfigGetFontDirs (FcConfig *config);
-
- FcPublic FcStrList *
- FcConfigGetConfigDirs (FcConfig *config);
-
- FcPublic FcStrList *
- FcConfigGetConfigFiles (FcConfig *config);
-
- FcPublic FcChar8 *
- FcConfigGetCache (FcConfig *config);
-
- FcPublic FcBlanks *
- FcConfigGetBlanks (FcConfig *config);
-
- FcPublic FcStrList *
- FcConfigGetCacheDirs (FcConfig *config);
-
- FcPublic int
- FcConfigGetRescanInterval (FcConfig *config);
-
- FcPublic FcBool
- FcConfigSetRescanInterval (FcConfig *config, int rescanInterval);
-
- FcPublic FcFontSet *
- FcConfigGetFonts (FcConfig *config,
- FcSetName set);
-
- FcPublic FcBool
- FcConfigAppFontAddFile (FcConfig *config,
- const FcChar8 *file);
-
- FcPublic FcBool
- FcConfigAppFontAddDir (FcConfig *config,
- const FcChar8 *dir);
-
- FcPublic void
- FcConfigAppFontClear (FcConfig *config);
-
- FcPublic FcBool
- FcConfigSubstituteWithPat (FcConfig *config,
- FcPattern *p,
- FcPattern *p_pat,
- FcMatchKind kind);
-
- FcPublic FcBool
- FcConfigSubstitute (FcConfig *config,
- FcPattern *p,
- FcMatchKind kind);
-
- /* fccharset.c */
- FcPublic FcCharSet*
- FcCharSetCreate (void);
-
- /* deprecated alias for FcCharSetCreate */
- FcPublic FcCharSet *
- FcCharSetNew (void);
-
- FcPublic void
- FcCharSetDestroy (FcCharSet *fcs);
-
- FcPublic FcBool
- FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4);
-
- FcPublic FcCharSet*
- FcCharSetCopy (FcCharSet *src);
-
- FcPublic FcBool
- FcCharSetEqual (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcCharSet*
- FcCharSetIntersect (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcCharSet*
- FcCharSetUnion (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcCharSet*
- FcCharSetSubtract (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcBool
- FcCharSetMerge (FcCharSet *a, const FcCharSet *b, FcBool *changed);
-
- FcPublic FcBool
- FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4);
-
- FcPublic FcChar32
- FcCharSetCount (const FcCharSet *a);
-
- FcPublic FcChar32
- FcCharSetIntersectCount (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcChar32
- FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b);
-
- FcPublic FcBool
- FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b);
-
- #define FC_CHARSET_MAP_SIZE (256/32)
- #define FC_CHARSET_DONE ((FcChar32) -1)
-
- FcPublic FcChar32
- FcCharSetFirstPage (const FcCharSet *a,
- FcChar32 map[FC_CHARSET_MAP_SIZE],
- FcChar32 *next);
-
- FcPublic FcChar32
- FcCharSetNextPage (const FcCharSet *a,
- FcChar32 map[FC_CHARSET_MAP_SIZE],
- FcChar32 *next);
-
- /*
- * old coverage API, rather hard to use correctly
- */
-
- FcPublic FcChar32
- FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result);
-
- /* fcdbg.c */
- FcPublic void
- FcValuePrint (const FcValue v);
-
- FcPublic void
- FcPatternPrint (const FcPattern *p);
-
- FcPublic void
- FcFontSetPrint (const FcFontSet *s);
-
- /* fcdefault.c */
- FcPublic void
- FcDefaultSubstitute (FcPattern *pattern);
-
- /* fcdir.c */
- FcPublic FcBool
- FcFileIsDir (const FcChar8 *file);
-
- FcPublic FcBool
- FcFileScan (FcFontSet *set,
- FcStrSet *dirs,
- FcFileCache *cache,
- FcBlanks *blanks,
- const FcChar8 *file,
- FcBool force);
-
- FcPublic FcBool
- FcDirScan (FcFontSet *set,
- FcStrSet *dirs,
- FcFileCache *cache,
- FcBlanks *blanks,
- const FcChar8 *dir,
- FcBool force);
-
- FcPublic FcBool
- FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
-
- FcPublic FcCache *
- FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file);
-
- FcPublic FcCache *
- FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config);
-
- FcPublic FcCache *
- FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat);
-
- FcPublic void
- FcDirCacheUnload (FcCache *cache);
-
- /* fcfreetype.c */
- FcPublic FcPattern *
- FcFreeTypeQuery (const FcChar8 *file, int id, FcBlanks *blanks, int *count);
-
- /* fcfs.c */
-
- FcPublic FcFontSet *
- FcFontSetCreate (void);
-
- FcPublic void
- FcFontSetDestroy (FcFontSet *s);
-
- FcPublic FcBool
- FcFontSetAdd (FcFontSet *s, FcPattern *font);
-
- /* fcinit.c */
- FcPublic FcConfig *
- FcInitLoadConfig (void);
-
- FcPublic FcConfig *
- FcInitLoadConfigAndFonts (void);
-
- FcPublic FcBool
- FcInit (void);
-
- FcPublic void
- FcFini (void);
-
- FcPublic int
- FcGetVersion (void);
-
- FcPublic FcBool
- FcInitReinitialize (void);
-
- FcPublic FcBool
- FcInitBringUptoDate (void);
-
- /* fclang.c */
- FcPublic FcStrSet *
- FcGetLangs (void);
-
- FcPublic const FcCharSet *
- FcLangGetCharSet (const FcChar8 *lang);
-
- FcPublic FcLangSet*
- FcLangSetCreate (void);
-
- FcPublic void
- FcLangSetDestroy (FcLangSet *ls);
-
- FcPublic FcLangSet*
- FcLangSetCopy (const FcLangSet *ls);
-
- FcPublic FcBool
- FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang);
-
- FcPublic FcLangResult
- FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang);
-
- FcPublic FcLangResult
- FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb);
-
- FcPublic FcBool
- FcLangSetContains (const FcLangSet *lsa, const FcLangSet *lsb);
-
- FcPublic FcBool
- FcLangSetEqual (const FcLangSet *lsa, const FcLangSet *lsb);
-
- FcPublic FcChar32
- FcLangSetHash (const FcLangSet *ls);
-
- FcPublic FcStrSet *
- FcLangSetGetLangs (const FcLangSet *ls);
-
- /* fclist.c */
- FcPublic FcObjectSet *
- FcObjectSetCreate (void);
-
- FcPublic FcBool
- FcObjectSetAdd (FcObjectSet *os, const char *object);
-
- FcPublic void
- FcObjectSetDestroy (FcObjectSet *os);
-
- FcPublic FcObjectSet *
- FcObjectSetVaBuild (const char *first, va_list va);
-
- FcPublic FcObjectSet *
- FcObjectSetBuild (const char *first, ...) FC_ATTRIBUTE_SENTINEL(0);
-
- FcPublic FcFontSet *
- FcFontSetList (FcConfig *config,
- FcFontSet **sets,
- int nsets,
- FcPattern *p,
- FcObjectSet *os);
-
- FcPublic FcFontSet *
- FcFontList (FcConfig *config,
- FcPattern *p,
- FcObjectSet *os);
-
- /* fcatomic.c */
-
- FcPublic FcAtomic *
- FcAtomicCreate (const FcChar8 *file);
-
- FcPublic FcBool
- FcAtomicLock (FcAtomic *atomic);
-
- FcPublic FcChar8 *
- FcAtomicNewFile (FcAtomic *atomic);
-
- FcPublic FcChar8 *
- FcAtomicOrigFile (FcAtomic *atomic);
-
- FcPublic FcBool
- FcAtomicReplaceOrig (FcAtomic *atomic);
-
- FcPublic void
- FcAtomicDeleteNew (FcAtomic *atomic);
-
- FcPublic void
- FcAtomicUnlock (FcAtomic *atomic);
-
- FcPublic void
- FcAtomicDestroy (FcAtomic *atomic);
-
- /* fcmatch.c */
- FcPublic FcPattern *
- FcFontSetMatch (FcConfig *config,
- FcFontSet **sets,
- int nsets,
- FcPattern *p,
- FcResult *result);
-
- FcPublic FcPattern *
- FcFontMatch (FcConfig *config,
- FcPattern *p,
- FcResult *result);
-
- FcPublic FcPattern *
- FcFontRenderPrepare (FcConfig *config,
- FcPattern *pat,
- FcPattern *font);
-
- FcPublic FcFontSet *
- FcFontSetSort (FcConfig *config,
- FcFontSet **sets,
- int nsets,
- FcPattern *p,
- FcBool trim,
- FcCharSet **csp,
- FcResult *result);
-
- FcPublic FcFontSet *
- FcFontSort (FcConfig *config,
- FcPattern *p,
- FcBool trim,
- FcCharSet **csp,
- FcResult *result);
-
- FcPublic void
- FcFontSetSortDestroy (FcFontSet *fs);
-
- /* fcmatrix.c */
- FcPublic FcMatrix *
- FcMatrixCopy (const FcMatrix *mat);
-
- FcPublic FcBool
- FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2);
-
- FcPublic void
- FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b);
-
- FcPublic void
- FcMatrixRotate (FcMatrix *m, double c, double s);
-
- FcPublic void
- FcMatrixScale (FcMatrix *m, double sx, double sy);
-
- FcPublic void
- FcMatrixShear (FcMatrix *m, double sh, double sv);
-
- /* fcname.c */
-
- FcPublic FcBool
- FcNameRegisterObjectTypes (const FcObjectType *types, int ntype);
-
- FcPublic FcBool
- FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype);
-
- FcPublic const FcObjectType *
- FcNameGetObjectType (const char *object);
-
- FcPublic FcBool
- FcNameRegisterConstants (const FcConstant *consts, int nconsts);
-
- FcPublic FcBool
- FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
-
- FcPublic const FcConstant *
- FcNameGetConstant (FcChar8 *string);
-
- FcPublic FcBool
- FcNameConstant (FcChar8 *string, int *result);
-
- FcPublic FcPattern *
- FcNameParse (const FcChar8 *name);
-
- FcPublic FcChar8 *
- FcNameUnparse (FcPattern *pat);
-
- /* fcpat.c */
- FcPublic FcPattern *
- FcPatternCreate (void);
-
- FcPublic FcPattern *
- FcPatternDuplicate (const FcPattern *p);
-
- FcPublic void
- FcPatternReference (FcPattern *p);
-
- FcPublic FcPattern *
- FcPatternFilter (FcPattern *p, const FcObjectSet *os);
-
- FcPublic void
- FcValueDestroy (FcValue v);
-
- FcPublic FcBool
- FcValueEqual (FcValue va, FcValue vb);
-
- FcPublic FcValue
- FcValueSave (FcValue v);
-
- FcPublic void
- FcPatternDestroy (FcPattern *p);
-
- FcPublic FcBool
- FcPatternEqual (const FcPattern *pa, const FcPattern *pb);
-
- FcPublic FcBool
- FcPatternEqualSubset (const FcPattern *pa, const FcPattern *pb, const FcObjectSet *os);
-
- FcPublic FcChar32
- FcPatternHash (const FcPattern *p);
-
- FcPublic FcBool
- FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append);
-
- FcPublic FcBool
- FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append);
-
- FcPublic FcResult
- FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
-
- FcPublic FcBool
- FcPatternDel (FcPattern *p, const char *object);
-
- FcPublic FcBool
- FcPatternRemove (FcPattern *p, const char *object, int id);
-
- FcPublic FcBool
- FcPatternAddInteger (FcPattern *p, const char *object, int i);
-
- FcPublic FcBool
- FcPatternAddDouble (FcPattern *p, const char *object, double d);
-
- FcPublic FcBool
- FcPatternAddString (FcPattern *p, const char *object, const FcChar8 *s);
-
- FcPublic FcBool
- FcPatternAddMatrix (FcPattern *p, const char *object, const FcMatrix *s);
-
- FcPublic FcBool
- FcPatternAddCharSet (FcPattern *p, const char *object, const FcCharSet *c);
-
- FcPublic FcBool
- FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
-
- FcPublic FcBool
- FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
-
- FcPublic FcResult
- FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
-
- FcPublic FcResult
- FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d);
-
- FcPublic FcResult
- FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s);
-
- FcPublic FcResult
- FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s);
-
- FcPublic FcResult
- FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c);
-
- FcPublic FcResult
- FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
-
- FcPublic FcResult
- FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
-
- FcPublic FcPattern *
- FcPatternVaBuild (FcPattern *p, va_list va);
-
- FcPublic FcPattern *
- FcPatternBuild (FcPattern *p, ...) FC_ATTRIBUTE_SENTINEL(0);
-
- FcPublic FcChar8 *
- FcPatternFormat (FcPattern *pat, const FcChar8 *format);
-
- /* fcstr.c */
-
- FcPublic FcChar8 *
- FcStrCopy (const FcChar8 *s);
-
- FcPublic FcChar8 *
- FcStrCopyFilename (const FcChar8 *s);
-
- FcPublic FcChar8 *
- FcStrPlus (const FcChar8 *s1, const FcChar8 *s2);
-
- FcPublic void
- FcStrFree (FcChar8 *s);
-
- /* These are ASCII only, suitable only for pattern element names */
- #define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
- #define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
- #define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
-
- FcPublic FcChar8 *
- FcStrDowncase (const FcChar8 *s);
-
- FcPublic int
- FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
-
- FcPublic int
- FcStrCmp (const FcChar8 *s1, const FcChar8 *s2);
-
- FcPublic const FcChar8 *
- FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
-
- FcPublic const FcChar8 *
- FcStrStr (const FcChar8 *s1, const FcChar8 *s2);
-
- FcPublic int
- FcUtf8ToUcs4 (const FcChar8 *src_orig,
- FcChar32 *dst,
- int len);
-
- FcPublic FcBool
- FcUtf8Len (const FcChar8 *string,
- int len,
- int *nchar,
- int *wchar);
-
- #define FC_UTF8_MAX_LEN 6
-
- FcPublic int
- FcUcs4ToUtf8 (FcChar32 ucs4,
- FcChar8 dest[FC_UTF8_MAX_LEN]);
-
- FcPublic int
- FcUtf16ToUcs4 (const FcChar8 *src_orig,
- FcEndian endian,
- FcChar32 *dst,
- int len); /* in bytes */
-
- FcPublic FcBool
- FcUtf16Len (const FcChar8 *string,
- FcEndian endian,
- int len, /* in bytes */
- int *nchar,
- int *wchar);
-
- FcPublic FcChar8 *
- FcStrDirname (const FcChar8 *file);
-
- FcPublic FcChar8 *
- FcStrBasename (const FcChar8 *file);
-
- FcPublic FcStrSet *
- FcStrSetCreate (void);
-
- FcPublic FcBool
- FcStrSetMember (FcStrSet *set, const FcChar8 *s);
-
- FcPublic FcBool
- FcStrSetEqual (FcStrSet *sa, FcStrSet *sb);
-
- FcPublic FcBool
- FcStrSetAdd (FcStrSet *set, const FcChar8 *s);
-
- FcPublic FcBool
- FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s);
-
- FcPublic FcBool
- FcStrSetDel (FcStrSet *set, const FcChar8 *s);
-
- FcPublic void
- FcStrSetDestroy (FcStrSet *set);
-
- FcPublic FcStrList *
- FcStrListCreate (FcStrSet *set);
-
- FcPublic FcChar8 *
- FcStrListNext (FcStrList *list);
-
- FcPublic void
- FcStrListDone (FcStrList *list);
-
- /* fcxml.c */
- FcPublic FcBool
- FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
-
- _FCFUNCPROTOEND
-
- #undef FC_ATTRIBUTE_SENTINEL
-
-
- #ifndef _FCINT_H_
-
- /*
- * Deprecated functions are placed here to help users fix their code without
- * digging through documentation
- */
-
- #define FcConfigGetRescanInverval FcConfigGetRescanInverval_REPLACE_BY_FcConfigGetRescanInterval
- #define FcConfigSetRescanInverval FcConfigSetRescanInverval_REPLACE_BY_FcConfigSetRescanInterval
-
- #endif
-
- #endif /* _FONTCONFIG_H_ */
|