mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1067 lines
		
	
	
	
		
			26 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			1067 lines
		
	
	
	
		
			26 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * 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>
 | |
| #include <limits.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	6
 | |
| 
 | |
| #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 enum _FcValueBinding {
 | |
|     FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
 | |
|     /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
 | |
|     FcValueBindingEnd = INT_MAX
 | |
| } FcValueBinding;
 | |
| 
 | |
| 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 FcResult
 | |
| FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b);
 | |
| 
 | |
| 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);
 | |
| 
 | |
| FcPublic FcBool
 | |
| FcConfigParseAndLoadFromMemory (FcConfig       *config,
 | |
| 				const FcChar8  *buffer,
 | |
| 				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_ */
 | 
