12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052 |
- /*
- * 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 the author(s) not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. The authors make 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 <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 12
- #define FC_REVISION 1
- #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_NUMBER 7
- #define _FC_STRINGIFY_(s) #s
- #define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
- #define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
- #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" /* Range (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) */
- /* FC_GLOBAL_ADVANCE is deprecated. this is simply ignored on freetype 2.4.5 or later */
- #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 (deprecated) */
- #define FC_OUTLINE "outline" /* Bool */
- #define FC_SCALABLE "scalable" /* Bool */
- #define FC_COLOR "color" /* Bool */
- #define FC_SCALE "scale" /* double (deprecated) */
- #define FC_SYMBOL "symbol" /* Bool */
- #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_FONT_FEATURES "fontfeatures" /* String */
- #define FC_NAMELANG "namelang" /* String RFC 3866 langs */
- #define FC_PRGNAME "prgname" /* String */
- #define FC_HASH "hash" /* String (deprecated) */
- #define FC_POSTSCRIPT_NAME "postscriptname" /* String */
- #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_CHARWIDTH "charwidth" /* Int */
- #define FC_CHAR_WIDTH FC_CHARWIDTH
- #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_DEMILIGHT 55
- #define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT
- #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 {
- FcTypeUnknown = -1,
- FcTypeVoid,
- FcTypeInteger,
- FcTypeDouble,
- FcTypeString,
- FcTypeBool,
- FcTypeMatrix,
- FcTypeCharSet,
- FcTypeFTFace,
- FcTypeLangSet,
- FcTypeRange
- } 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 {
- 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 _FcRange FcRange;
- 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;
- const FcRange *r;
- } 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);
- FcPublic FcBool
- FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose);
- FcPublic void
- FcCacheCreateTagFile (const FcConfig *config);
- /* 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 (const 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);
- FcPublic const FcChar8 *
- FcConfigGetSysRoot (const FcConfig *config);
- FcPublic void
- FcConfigSetSysRoot (FcConfig *config,
- const FcChar8 *sysroot);
- /* 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 FcBool
- FcCharSetDelChar (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 FcStrSet *
- FcGetDefaultLangs (void);
- 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 *
- FcDirCacheRescan (const FcChar8 *dir, FcConfig *config);
-
- 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 FcChar8 *
- FcLangNormalize (const FcChar8 *lang);
- 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 FcBool
- FcLangSetDel (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);
- FcPublic FcLangSet *
- FcLangSetUnion (const FcLangSet *a, const FcLangSet *b);
- FcPublic FcLangSet *
- FcLangSetSubtract (const FcLangSet *a, const FcLangSet *b);
- /* 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 */
- /* Deprecated. Does nothing. Returns FcFalse. */
- FcPublic FcBool
- FcNameRegisterObjectTypes (const FcObjectType *types, int ntype);
- /* Deprecated. Does nothing. Returns FcFalse. */
- FcPublic FcBool
- FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype);
- FcPublic const FcObjectType *
- FcNameGetObjectType (const char *object);
- /* Deprecated. Does nothing. Returns FcFalse. */
- FcPublic FcBool
- FcNameRegisterConstants (const FcConstant *consts, int nconsts);
- /* Deprecated. Does nothing. Returns FcFalse. */
- FcPublic FcBool
- FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
- FcPublic const FcConstant *
- FcNameGetConstant (const FcChar8 *string);
- FcPublic FcBool
- FcNameConstant (const 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 FcBool
- FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r);
- 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 FcResult
- FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r);
- 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);
- /* fcrange.c */
- FcPublic FcRange *
- FcRangeCreateDouble (double begin, double end);
- FcPublic FcRange *
- FcRangeCreateInteger (FcChar32 begin, FcChar32 end);
- FcPublic void
- FcRangeDestroy (FcRange *range);
- FcPublic FcRange *
- FcRangeCopy (const FcRange *r);
- FcPublic FcBool
- FcRangeGetDouble(const FcRange *range, double *begin, double *end);
- /* fcweight.c */
- FcPublic int
- FcWeightFromOpenType (int ot_weight);
- FcPublic int
- FcWeightToOpenType (int fc_weight);
- /* 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 void
- FcStrListFirst (FcStrList *list);
- 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_ */
|