]> git.wh0rd.org - fontconfig.git/blob - fontconfig/fontconfig.h
Switch to automake
[fontconfig.git] / fontconfig / fontconfig.h
1 /*
2 * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.30 2002/09/26 00:17:27 keithp Exp $
3 *
4 * Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
10 * documentation, and that the name of Keith Packard not be used in
11 * advertising or publicity pertaining to distribution of the software without
12 * specific, written prior permission. Keith Packard makes no
13 * representations about the suitability of this software for any purpose. It
14 * is provided "as is" without express or implied warranty.
15 *
16 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 * PERFORMANCE OF THIS SOFTWARE.
23 */
24
25 #ifndef _FONTCONFIG_H_
26 #define _FONTCONFIG_H_
27
28 #include <stdarg.h>
29
30 typedef unsigned char FcChar8;
31 typedef unsigned short FcChar16;
32 typedef unsigned int FcChar32;
33 typedef int FcBool;
34
35 /*
36 * Current Fontconfig version number
37 */
38
39 #define FC_MAJOR 1
40 #define FC_MINOR 0
41 #define FC_REVISION 3
42
43 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
44
45 /*
46 * Current font cache file format version
47 * This is appended to the cache files so that multiple
48 * versions of the library will peacefully coexist
49 *
50 * Change this value whenever the disk format for the cache file
51 * changes in any non-compatible way. Try to avoid such changes as
52 * it means multiple copies of the font information.
53 */
54
55 #define FC_CACHE_VERSION "1"
56
57 #define FcTrue 1
58 #define FcFalse 0
59
60 #define FC_FAMILY "family" /* String */
61 #define FC_STYLE "style" /* String */
62 #define FC_SLANT "slant" /* Int */
63 #define FC_WEIGHT "weight" /* Int */
64 #define FC_SIZE "size" /* Double */
65 #define FC_ASPECT "aspect" /* Double */
66 #define FC_PIXEL_SIZE "pixelsize" /* Double */
67 #define FC_SPACING "spacing" /* Int */
68 #define FC_FOUNDRY "foundry" /* String */
69 #define FC_ANTIALIAS "antialias" /* Bool (depends) */
70 #define FC_HINTING "hinting" /* Bool (true) */
71 #define FC_VERTICAL_LAYOUT "verticallayout" /* Bool (false) */
72 #define FC_AUTOHINT "autohint" /* Bool (false) */
73 #define FC_GLOBAL_ADVANCE "globaladvance" /* Bool (true) */
74 #define FC_FILE "file" /* String */
75 #define FC_INDEX "index" /* Int */
76 #define FC_FT_FACE "ftface" /* FT_Face */
77 #define FC_RASTERIZER "rasterizer" /* String */
78 #define FC_OUTLINE "outline" /* Bool */
79 #define FC_SCALABLE "scalable" /* Bool */
80 #define FC_SCALE "scale" /* double */
81 #define FC_DPI "dpi" /* double */
82 #define FC_RGBA "rgba" /* Int */
83 #define FC_MINSPACE "minspace" /* Bool use minimum line spacing */
84 #define FC_SOURCE "source" /* String (X11, freetype) */
85 #define FC_CHARSET "charset" /* CharSet */
86 #define FC_LANG "lang" /* String RFC 3066 langs */
87 #define FC_FONTVERSION "fontversion" /* Int from 'head' table */
88
89 #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
90 #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
91
92 /* Adjust outline rasterizer */
93 #define FC_CHAR_WIDTH "charwidth" /* Int */
94 #define FC_CHAR_HEIGHT "charheight"/* Int */
95 #define FC_MATRIX "matrix" /* FcMatrix */
96
97 #define FC_WEIGHT_LIGHT 0
98 #define FC_WEIGHT_MEDIUM 100
99 #define FC_WEIGHT_DEMIBOLD 180
100 #define FC_WEIGHT_BOLD 200
101 #define FC_WEIGHT_BLACK 210
102
103 #define FC_SLANT_ROMAN 0
104 #define FC_SLANT_ITALIC 100
105 #define FC_SLANT_OBLIQUE 110
106
107 #define FC_PROPORTIONAL 0
108 #define FC_MONO 100
109 #define FC_CHARCELL 110
110
111 /* sub-pixel order */
112 #define FC_RGBA_UNKNOWN 0
113 #define FC_RGBA_RGB 1
114 #define FC_RGBA_BGR 2
115 #define FC_RGBA_VRGB 3
116 #define FC_RGBA_VBGR 4
117 #define FC_RGBA_NONE 5
118
119 typedef enum _FcType {
120 FcTypeVoid,
121 FcTypeInteger,
122 FcTypeDouble,
123 FcTypeString,
124 FcTypeBool,
125 FcTypeMatrix,
126 FcTypeCharSet,
127 FcTypeFTFace,
128 FcTypeLangSet
129 } FcType;
130
131 typedef struct _FcMatrix {
132 double xx, xy, yx, yy;
133 } FcMatrix;
134
135 #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, \
136 (m)->xy = (m)->yx = 0)
137
138 /*
139 * A data structure to represent the available glyphs in a font.
140 * This is represented as a sparse boolean btree.
141 */
142
143 typedef struct _FcCharSet FcCharSet;
144
145 typedef struct _FcObjectType {
146 const char *object;
147 FcType type;
148 } FcObjectType;
149
150 typedef struct _FcConstant {
151 const FcChar8 *name;
152 const char *object;
153 int value;
154 } FcConstant;
155
156 typedef enum _FcResult {
157 FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId
158 } FcResult;
159
160 typedef struct _FcPattern FcPattern;
161
162 typedef struct _FcLangSet FcLangSet;
163
164 typedef struct _FcValue {
165 FcType type;
166 union {
167 const FcChar8 *s;
168 int i;
169 FcBool b;
170 double d;
171 const FcMatrix *m;
172 const FcCharSet *c;
173 void *f;
174 const FcPattern *p;
175 const FcLangSet *l;
176 } u;
177 } FcValue;
178
179 typedef struct _FcFontSet {
180 int nfont;
181 int sfont;
182 FcPattern **fonts;
183 } FcFontSet;
184
185 typedef struct _FcObjectSet {
186 int nobject;
187 int sobject;
188 const char **objects;
189 } FcObjectSet;
190
191 typedef enum _FcMatchKind {
192 FcMatchPattern, FcMatchFont
193 } FcMatchKind;
194
195 typedef enum _FcLangResult {
196 FcLangEqual, FcLangDifferentCountry, FcLangDifferentLang
197 } FcLangResult;
198
199 typedef enum _FcSetName {
200 FcSetSystem = 0,
201 FcSetApplication = 1
202 } FcSetName;
203
204 typedef struct _FcAtomic FcAtomic;
205
206 #if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
207 #define _FCFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
208 #define _FCFUNCPROTOEND }
209 #else
210 #define _FCFUNCPROTOBEGIN
211 #define _FCFUNCPROTOEND
212 #endif
213
214 typedef enum { FcEndianBig, FcEndianLittle } FcEndian;
215
216 typedef struct _FcConfig FcConfig;
217
218 typedef struct _FcGlobalCache FcFileCache;
219
220 typedef struct _FcBlanks FcBlanks;
221
222 typedef struct _FcStrList FcStrList;
223
224 typedef struct _FcStrSet FcStrSet;
225
226 _FCFUNCPROTOBEGIN
227
228 FcBool
229 FcDirCacheValid (const FcChar8 *cache_file);
230
231 /* fcblanks.c */
232 FcBlanks *
233 FcBlanksCreate (void);
234
235 void
236 FcBlanksDestroy (FcBlanks *b);
237
238 FcBool
239 FcBlanksAdd (FcBlanks *b, FcChar32 ucs4);
240
241 FcBool
242 FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4);
243
244 /* fccfg.c */
245 FcChar8 *
246 FcConfigFilename (const FcChar8 *url);
247
248 FcConfig *
249 FcConfigCreate (void);
250
251 void
252 FcConfigDestroy (FcConfig *config);
253
254 FcBool
255 FcConfigSetCurrent (FcConfig *config);
256
257 FcConfig *
258 FcConfigGetCurrent (void);
259
260 FcBool
261 FcConfigUptoDate (FcConfig *config);
262
263 FcBool
264 FcConfigBuildFonts (FcConfig *config);
265
266 FcStrList *
267 FcConfigGetFontDirs (FcConfig *config);
268
269 FcStrList *
270 FcConfigGetConfigDirs (FcConfig *config);
271
272 FcStrList *
273 FcConfigGetConfigFiles (FcConfig *config);
274
275 FcChar8 *
276 FcConfigGetCache (FcConfig *config);
277
278 FcBlanks *
279 FcConfigGetBlanks (FcConfig *config);
280
281 int
282 FcConfigGetRescanInverval (FcConfig *config);
283
284 FcBool
285 FcConfigSetRescanInverval (FcConfig *config, int rescanInterval);
286
287 FcFontSet *
288 FcConfigGetFonts (FcConfig *config,
289 FcSetName set);
290
291 FcBool
292 FcConfigAppFontAddFile (FcConfig *config,
293 const FcChar8 *file);
294
295 FcBool
296 FcConfigAppFontAddDir (FcConfig *config,
297 const FcChar8 *dir);
298
299 void
300 FcConfigAppFontClear (FcConfig *config);
301
302 FcBool
303 FcConfigSubstituteWithPat (FcConfig *config,
304 FcPattern *p,
305 FcPattern *p_pat,
306 FcMatchKind kind);
307
308 FcBool
309 FcConfigSubstitute (FcConfig *config,
310 FcPattern *p,
311 FcMatchKind kind);
312
313 /* fccharset.c */
314 FcCharSet *
315 FcCharSetCreate (void);
316
317 void
318 FcCharSetDestroy (FcCharSet *fcs);
319
320 FcBool
321 FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4);
322
323 FcCharSet *
324 FcCharSetCopy (FcCharSet *src);
325
326 FcBool
327 FcCharSetEqual (const FcCharSet *a, const FcCharSet *b);
328
329 FcCharSet *
330 FcCharSetIntersect (const FcCharSet *a, const FcCharSet *b);
331
332 FcCharSet *
333 FcCharSetUnion (const FcCharSet *a, const FcCharSet *b);
334
335 FcCharSet *
336 FcCharSetSubtract (const FcCharSet *a, const FcCharSet *b);
337
338 FcBool
339 FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4);
340
341 FcChar32
342 FcCharSetCount (const FcCharSet *a);
343
344 FcChar32
345 FcCharSetIntersectCount (const FcCharSet *a, const FcCharSet *b);
346
347 FcChar32
348 FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b);
349
350 FcBool
351 FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b);
352
353 #define FC_CHARSET_MAP_SIZE (256/32)
354 #define FC_CHARSET_DONE ((FcChar32) -1)
355
356 FcChar32
357 FcCharSetFirstPage (const FcCharSet *a,
358 FcChar32 map[FC_CHARSET_MAP_SIZE],
359 FcChar32 *next);
360
361 FcChar32
362 FcCharSetNextPage (const FcCharSet *a,
363 FcChar32 map[FC_CHARSET_MAP_SIZE],
364 FcChar32 *next);
365
366
367 /* fcdbg.c */
368 void
369 FcValuePrint (const FcValue v);
370
371 void
372 FcPatternPrint (const FcPattern *p);
373
374 void
375 FcFontSetPrint (const FcFontSet *s);
376
377 /* fcdefault.c */
378 void
379 FcDefaultSubstitute (FcPattern *pattern);
380
381 /* fcdir.c */
382 FcBool
383 FcFileScan (FcFontSet *set,
384 FcStrSet *dirs,
385 FcFileCache *cache,
386 FcBlanks *blanks,
387 const FcChar8 *file,
388 FcBool force);
389
390 FcBool
391 FcDirScan (FcFontSet *set,
392 FcStrSet *dirs,
393 FcFileCache *cache,
394 FcBlanks *blanks,
395 const FcChar8 *dir,
396 FcBool force);
397
398 FcBool
399 FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
400
401 /* fcfreetype.c */
402 FcPattern *
403 FcFreeTypeQuery (const FcChar8 *file, int id, FcBlanks *blanks, int *count);
404
405 /* fcfs.c */
406
407 FcFontSet *
408 FcFontSetCreate (void);
409
410 void
411 FcFontSetDestroy (FcFontSet *s);
412
413 FcBool
414 FcFontSetAdd (FcFontSet *s, FcPattern *font);
415
416 /* fcinit.c */
417 FcConfig *
418 FcInitLoadConfig (void);
419
420 FcConfig *
421 FcInitLoadConfigAndFonts (void);
422
423 FcBool
424 FcInit (void);
425
426 int
427 FcGetVersion (void);
428
429 FcBool
430 FcInitReinitialize (void);
431
432 FcBool
433 FcInitBringUptoDate (void);
434
435 /* fclang.c */
436 FcLangSet *
437 FcLangSetCreate (void);
438
439 void
440 FcLangSetDestroy (FcLangSet *ls);
441
442 FcLangSet *
443 FcLangSetCopy (const FcLangSet *ls);
444
445 FcBool
446 FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang);
447
448 FcLangResult
449 FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang);
450
451 FcLangResult
452 FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb);
453
454 FcBool
455 FcLangSetEqual (const FcLangSet *lsa, const FcLangSet *lsb);
456
457 FcChar32
458 FcLangSetHash (const FcLangSet *ls);
459
460 /* fclist.c */
461 FcObjectSet *
462 FcObjectSetCreate (void);
463
464 FcBool
465 FcObjectSetAdd (FcObjectSet *os, const char *object);
466
467 void
468 FcObjectSetDestroy (FcObjectSet *os);
469
470 FcObjectSet *
471 FcObjectSetVaBuild (const char *first, va_list va);
472
473 FcObjectSet *
474 FcObjectSetBuild (const char *first, ...);
475
476 FcFontSet *
477 FcFontSetList (FcConfig *config,
478 FcFontSet **sets,
479 int nsets,
480 FcPattern *p,
481 FcObjectSet *os);
482
483 FcFontSet *
484 FcFontList (FcConfig *config,
485 FcPattern *p,
486 FcObjectSet *os);
487
488 /* fcatomic.c */
489
490 FcAtomic *
491 FcAtomicCreate (const FcChar8 *file);
492
493 FcBool
494 FcAtomicLock (FcAtomic *atomic);
495
496 FcChar8 *
497 FcAtomicNewFile (FcAtomic *atomic);
498
499 FcChar8 *
500 FcAtomicOrigFile (FcAtomic *atomic);
501
502 FcBool
503 FcAtomicReplaceOrig (FcAtomic *atomic);
504
505 void
506 FcAtomicDeleteNew (FcAtomic *atomic);
507
508 void
509 FcAtomicUnlock (FcAtomic *atomic);
510
511 void
512 FcAtomicDestroy (FcAtomic *atomic);
513
514 /* fcmatch.c */
515 FcPattern *
516 FcFontSetMatch (FcConfig *config,
517 FcFontSet **sets,
518 int nsets,
519 FcPattern *p,
520 FcResult *result);
521
522 FcPattern *
523 FcFontMatch (FcConfig *config,
524 FcPattern *p,
525 FcResult *result);
526
527 FcPattern *
528 FcFontRenderPrepare (FcConfig *config,
529 FcPattern *pat,
530 FcPattern *font);
531
532 FcFontSet *
533 FcFontSetSort (FcConfig *config,
534 FcFontSet **sets,
535 int nsets,
536 FcPattern *p,
537 FcBool trim,
538 FcCharSet **csp,
539 FcResult *result);
540
541 FcFontSet *
542 FcFontSort (FcConfig *config,
543 FcPattern *p,
544 FcBool trim,
545 FcCharSet **csp,
546 FcResult *result);
547
548 void
549 FcFontSetSortDestroy (FcFontSet *fs);
550
551 /* fcmatrix.c */
552 FcMatrix *
553 FcMatrixCopy (const FcMatrix *mat);
554
555 FcBool
556 FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2);
557
558 void
559 FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b);
560
561 void
562 FcMatrixRotate (FcMatrix *m, double c, double s);
563
564 void
565 FcMatrixScale (FcMatrix *m, double sx, double sy);
566
567 void
568 FcMatrixShear (FcMatrix *m, double sh, double sv);
569
570 /* fcname.c */
571
572 FcBool
573 FcNameRegisterObjectTypes (const FcObjectType *types, int ntype);
574
575 FcBool
576 FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype);
577
578 const FcObjectType *
579 FcNameGetObjectType (const char *object);
580
581 FcBool
582 FcNameRegisterConstants (const FcConstant *consts, int nconsts);
583
584 FcBool
585 FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
586
587 const FcConstant *
588 FcNameGetConstant (FcChar8 *string);
589
590 FcBool
591 FcNameConstant (FcChar8 *string, int *result);
592
593 FcPattern *
594 FcNameParse (const FcChar8 *name);
595
596 FcChar8 *
597 FcNameUnparse (FcPattern *pat);
598
599 /* fcpat.c */
600 FcPattern *
601 FcPatternCreate (void);
602
603 FcPattern *
604 FcPatternDuplicate (const FcPattern *p);
605
606 void
607 FcPatternReference (FcPattern *p);
608
609 void
610 FcValueDestroy (FcValue v);
611
612 FcBool
613 FcValueEqual (FcValue va, FcValue vb);
614
615 FcValue
616 FcValueSave (FcValue v);
617
618 void
619 FcPatternDestroy (FcPattern *p);
620
621 FcBool
622 FcPatternEqual (const FcPattern *pa, const FcPattern *pb);
623
624 FcBool
625 FcPatternEqualSubset (const FcPattern *pa, const FcPattern *pb, const FcObjectSet *os);
626
627 FcChar32
628 FcPatternHash (const FcPattern *p);
629
630 FcBool
631 FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append);
632
633 FcBool
634 FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append);
635
636 FcResult
637 FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
638
639 FcBool
640 FcPatternDel (FcPattern *p, const char *object);
641
642 FcBool
643 FcPatternAddInteger (FcPattern *p, const char *object, int i);
644
645 FcBool
646 FcPatternAddDouble (FcPattern *p, const char *object, double d);
647
648 FcBool
649 FcPatternAddString (FcPattern *p, const char *object, const FcChar8 *s);
650
651 FcBool
652 FcPatternAddMatrix (FcPattern *p, const char *object, const FcMatrix *s);
653
654 FcBool
655 FcPatternAddCharSet (FcPattern *p, const char *object, const FcCharSet *c);
656
657 FcBool
658 FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
659
660 FcBool
661 FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
662
663 FcResult
664 FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
665
666 FcResult
667 FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d);
668
669 FcResult
670 FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s);
671
672 FcResult
673 FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s);
674
675 FcResult
676 FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c);
677
678 FcResult
679 FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
680
681 FcResult
682 FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
683
684 FcPattern *
685 FcPatternVaBuild (FcPattern *orig, va_list va);
686
687 FcPattern *
688 FcPatternBuild (FcPattern *orig, ...);
689
690 /* fcstr.c */
691
692 FcChar8 *
693 FcStrCopy (const FcChar8 *s);
694
695 FcChar8 *
696 FcStrCopyFilename (const FcChar8 *s);
697
698 #define FcToLower(c) (('A' <= (c) && (c) <= 'Z') ? (c) - 'A' + 'a' : (c))
699
700 int
701 FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
702
703 int
704 FcStrCmp (const FcChar8 *s1, const FcChar8 *s2);
705
706 int
707 FcUtf8ToUcs4 (const FcChar8 *src_orig,
708 FcChar32 *dst,
709 int len);
710
711 FcBool
712 FcUtf8Len (const FcChar8 *string,
713 int len,
714 int *nchar,
715 int *wchar);
716
717 #define FC_UTF8_MAX_LEN 6
718
719 int
720 FcUcs4ToUtf8 (FcChar32 ucs4,
721 FcChar8 dest[FC_UTF8_MAX_LEN]);
722
723 int
724 FcUtf16ToUcs4 (const FcChar8 *src_orig,
725 FcEndian endian,
726 FcChar32 *dst,
727 int len); /* in bytes */
728
729 FcBool
730 FcUtf16Len (const FcChar8 *string,
731 FcEndian endian,
732 int len, /* in bytes */
733 int *nchar,
734 int *wchar);
735
736 FcChar8 *
737 FcStrDirname (const FcChar8 *file);
738
739 FcChar8 *
740 FcStrBasename (const FcChar8 *file);
741
742 FcStrSet *
743 FcStrSetCreate (void);
744
745 FcBool
746 FcStrSetMember (FcStrSet *set, const FcChar8 *s);
747
748 FcBool
749 FcStrSetEqual (FcStrSet *sa, FcStrSet *sb);
750
751 FcBool
752 FcStrSetAdd (FcStrSet *set, const FcChar8 *s);
753
754 FcBool
755 FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s);
756
757 FcBool
758 FcStrSetDel (FcStrSet *set, const FcChar8 *s);
759
760 void
761 FcStrSetDestroy (FcStrSet *set);
762
763 FcStrList *
764 FcStrListCreate (FcStrSet *set);
765
766 FcChar8 *
767 FcStrListNext (FcStrList *list);
768
769 void
770 FcStrListDone (FcStrList *list);
771
772 /* fcxml.c */
773 FcBool
774 FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
775
776 _FCFUNCPROTOEND
777
778 #endif /* _FONTCONFIG_H_ */