1#![allow(non_upper_case_globals)]
11#![allow(non_camel_case_types)]
12
13use libc::*;
14
15pub type FcChar8 = c_uchar;
16pub type FcChar16 = c_ushort;
17pub type FcChar32 = c_uint;
18pub type FcBool = c_int;
19
20pub type enum__FcType = c_uint;
21pub const FcTypeVoid: u32 = 0_u32;
22pub const FcTypeInteger: u32 = 1_u32;
23pub const FcTypeDouble: u32 = 2_u32;
24pub const FcTypeString: u32 = 3_u32;
25pub const FcTypeBool: u32 = 4_u32;
26pub const FcTypeMatrix: u32 = 5_u32;
27pub const FcTypeCharSet: u32 = 6_u32;
28pub const FcTypeFTFace: u32 = 7_u32;
29pub const FcTypeLangSet: u32 = 8_u32;
30
31pub type FcType = enum__FcType;
32
33pub const FC_WEIGHT_THIN: c_int = 0;
34pub const FC_WEIGHT_EXTRALIGHT: c_int = 40;
35pub const FC_WEIGHT_ULTRALIGHT: c_int = FC_WEIGHT_EXTRALIGHT;
36pub const FC_WEIGHT_LIGHT: c_int = 50;
37pub const FC_WEIGHT_BOOK: c_int = 75;
38pub const FC_WEIGHT_REGULAR: c_int = 80;
39pub const FC_WEIGHT_NORMAL: c_int = FC_WEIGHT_REGULAR;
40pub const FC_WEIGHT_MEDIUM: c_int = 100;
41pub const FC_WEIGHT_DEMIBOLD: c_int = 180;
42pub const FC_WEIGHT_SEMIBOLD: c_int = FC_WEIGHT_DEMIBOLD;
43pub const FC_WEIGHT_BOLD: c_int = 200;
44pub const FC_WEIGHT_EXTRABOLD: c_int = 205;
45pub const FC_WEIGHT_ULTRABOLD: c_int = FC_WEIGHT_EXTRABOLD;
46pub const FC_WEIGHT_BLACK: c_int = 210;
47pub const FC_WEIGHT_HEAVY: c_int = FC_WEIGHT_BLACK;
48pub const FC_WEIGHT_EXTRABLACK: c_int = 215;
49pub const FC_WEIGHT_ULTRABLACK: c_int = FC_WEIGHT_EXTRABLACK;
50
51pub const FC_SLANT_ROMAN: c_int = 0;
52pub const FC_SLANT_ITALIC: c_int = 100;
53pub const FC_SLANT_OBLIQUE: c_int = 110;
54
55#[repr(C)]
56#[derive(Copy, Clone)]
57pub struct struct__FcMatrix {
58 pub xx: c_double,
59 pub xy: c_double,
60 pub yx: c_double,
61 pub yy: c_double,
62}
63
64pub type FcMatrix = struct__FcMatrix;
65
66pub type struct__FcCharSet = c_void;
67
68pub type FcCharSet = struct__FcCharSet;
69
70#[repr(C)]
71#[allow(missing_copy_implementations)]
72pub struct struct__FcObjectType {
73 pub object: *mut c_char,
74 pub _type: FcType,
75}
76
77pub type FcObjectType = struct__FcObjectType;
78
79#[repr(C)]
80#[allow(missing_copy_implementations)]
81pub struct struct__FcConstant {
82 pub name: *mut FcChar8,
83 pub object: *mut c_char,
84 pub value: c_int,
85}
86
87pub type FcConstant = struct__FcConstant;
88
89pub type enum__FcResult = c_uint;
90pub const FcResultMatch: u32 = 0_u32;
91pub const FcResultNoMatch: u32 = 1_u32;
92pub const FcResultTypeMismatch: u32 = 2_u32;
93pub const FcResultNoId: u32 = 3_u32;
94pub const FcResultOutOfMemory: u32 = 4_u32;
95
96pub type FcResult = enum__FcResult;
97
98pub type struct__FcPattern = c_void;
99
100pub type FcPattern = struct__FcPattern;
101
102pub type struct__FcLangSet = c_void;
103
104pub type FcLangSet = struct__FcLangSet;
105
106#[repr(C)]
107#[allow(missing_copy_implementations)]
108pub struct struct__FcValue {
109 pub _type: FcType,
110 pub u: union_unnamed1,
111}
112
113pub type FcValue = struct__FcValue;
114
115#[repr(C)]
116#[allow(missing_copy_implementations)]
117pub struct struct__FcFontSet {
118 pub nfont: c_int,
119 pub sfont: c_int,
120 pub fonts: *mut *mut FcPattern,
121}
122
123pub type FcFontSet = struct__FcFontSet;
124
125#[repr(C)]
126#[allow(missing_copy_implementations)]
127pub struct struct__FcObjectSet {
128 pub nobject: c_int,
129 pub sobject: c_int,
130 pub objects: *mut *mut c_char,
131}
132
133pub type FcObjectSet = struct__FcObjectSet;
134
135pub type enum__FcMatchKind = c_uint;
136pub const FcMatchPattern: u32 = 0_u32;
137pub const FcMatchFont: u32 = 1_u32;
138pub const FcMatchScan: u32 = 2_u32;
139
140pub type FcMatchKind = enum__FcMatchKind;
141
142pub type enum__FcLangResult = c_uint;
143pub const FcLangEqual: u32 = 0_u32;
144pub const FcLangDifferentCountry: u32 = 1_u32;
145pub const FcLangDifferentTerritory: u32 = 1_u32;
146pub const FcLangDifferentLang: u32 = 2_u32;
147
148pub type FcLangResult = enum__FcLangResult;
149
150pub type enum__FcSetName = c_uint;
151pub const FcSetSystem: u32 = 0_u32;
152pub const FcSetApplication: u32 = 1_u32;
153
154pub type FcSetName = enum__FcSetName;
155
156pub type struct__FcAtomic = c_void;
157
158pub type FcAtomic = struct__FcAtomic;
159
160
161pub type FcEndian = c_uint;
162pub const FcEndianBig: u32 = 0_u32;
163pub const FcEndianLittle: u32 = 1_u32;
164
165pub type struct__FcConfig = c_void;
166
167pub type FcConfig = struct__FcConfig;
168
169pub type struct__FcGlobalCache = c_void;
170
171pub type FcFileCache = struct__FcGlobalCache;
172
173pub type struct__FcBlanks = c_void;
174
175pub type FcBlanks = struct__FcBlanks;
176
177pub type struct__FcStrList = c_void;
178
179pub type FcStrList = struct__FcStrList;
180
181pub type struct__FcStrSet = c_void;
182
183pub type FcStrSet = struct__FcStrSet;
184
185pub type struct__FcCache = c_void;
186
187pub type FcCache = struct__FcCache;
188
189pub type union_unnamed1 = c_void ;
190
191
192
193extern {
194
195pub fn FcBlanksCreate() -> *mut FcBlanks;
196
197pub fn FcBlanksDestroy(b: *mut FcBlanks);
198
199pub fn FcBlanksAdd(b: *mut FcBlanks, ucs4: FcChar32) -> FcBool;
200
201pub fn FcBlanksIsMember(b: *mut FcBlanks, ucs4: FcChar32) -> FcBool;
202
203pub fn FcCacheDir(c: *mut FcCache) -> *const FcChar8;
204
205pub fn FcCacheCopySet(c: *const FcCache) -> *mut FcFontSet;
206
207pub fn FcCacheSubdir(c: *const FcCache, i: c_int) -> *const FcChar8;
208
209pub fn FcCacheNumSubdir(c: *const FcCache) -> c_int;
210
211pub fn FcCacheNumFont(c: *const FcCache) -> c_int;
212
213pub fn FcDirCacheUnlink(dir: *const FcChar8, config: *mut FcConfig) -> FcBool;
214
215pub fn FcDirCacheValid(cache_file: *const FcChar8) -> FcBool;
216
217pub fn FcConfigHome() -> *mut FcChar8;
218
219pub fn FcConfigEnableHome(enable: FcBool) -> FcBool;
220
221pub fn FcConfigFilename(url: *const FcChar8) -> *mut FcChar8;
222
223pub fn FcConfigCreate() -> *mut FcConfig;
224
225pub fn FcConfigReference(config: *mut FcConfig) -> *mut FcConfig;
226
227pub fn FcConfigDestroy(config: *mut FcConfig);
228
229pub fn FcConfigSetCurrent(config: *mut FcConfig) -> FcBool;
230
231pub fn FcConfigGetCurrent() -> *mut FcConfig;
232
233pub fn FcConfigUptoDate(config: *mut FcConfig) -> FcBool;
234
235pub fn FcConfigBuildFonts(config: *mut FcConfig) -> FcBool;
236
237pub fn FcConfigGetFontDirs(config: *mut FcConfig) -> *mut FcStrList;
238
239pub fn FcConfigGetConfigDirs(config: *mut FcConfig) -> *mut FcStrList;
240
241pub fn FcConfigGetConfigFiles(config: *mut FcConfig) -> *mut FcStrList;
242
243pub fn FcConfigGetCache(config: *mut FcConfig) -> *mut FcChar8;
244
245pub fn FcConfigGetBlanks(config: *mut FcConfig) -> *mut FcBlanks;
246
247pub fn FcConfigGetCacheDirs(config: *const FcConfig) -> *mut FcStrList;
248
249pub fn FcConfigGetRescanInterval(config: *mut FcConfig) -> c_int;
250
251pub fn FcConfigSetRescanInterval(config: *mut FcConfig, rescanInterval: c_int) -> FcBool;
252
253pub fn FcConfigGetFonts(config: *mut FcConfig, set: FcSetName) -> *mut FcFontSet;
254
255pub fn FcConfigAppFontAddFile(config: *mut FcConfig, file: *const FcChar8) -> FcBool;
256
257pub fn FcConfigAppFontAddDir(config: *mut FcConfig, dir: *const FcChar8) -> FcBool;
258
259pub fn FcConfigAppFontClear(config: *mut FcConfig);
260
261pub fn FcConfigSubstituteWithPat(config: *mut FcConfig, p: *mut FcPattern, p_pat: *mut FcPattern, kind: FcMatchKind) -> FcBool;
262
263pub fn FcConfigSubstitute(config: *mut FcConfig, p: *mut FcPattern, kind: FcMatchKind) -> FcBool;
264
265pub fn FcCharSetCreate() -> *mut FcCharSet;
266
267pub fn FcCharSetNew() -> *mut FcCharSet;
268
269pub fn FcCharSetDestroy(fcs: *mut FcCharSet);
270
271pub fn FcCharSetAddChar(fcs: *mut FcCharSet, ucs4: FcChar32) -> FcBool;
272
273pub fn FcCharSetCopy(src: *mut FcCharSet) -> *mut FcCharSet;
274
275pub fn FcCharSetEqual(a: *const FcCharSet, b: *const FcCharSet) -> FcBool;
276
277pub fn FcCharSetIntersect(a: *const FcCharSet, b: *const FcCharSet) -> *mut FcCharSet;
278
279pub fn FcCharSetUnion(a: *const FcCharSet, b: *const FcCharSet) -> *mut FcCharSet;
280
281pub fn FcCharSetSubtract(a: *const FcCharSet, b: *const FcCharSet) -> *mut FcCharSet;
282
283pub fn FcCharSetMerge(a: *mut FcCharSet, b: *const FcCharSet, changed: *mut FcBool) -> FcBool;
284
285pub fn FcCharSetHasChar(fcs: *const FcCharSet, ucs4: FcChar32) -> FcBool;
286
287pub fn FcCharSetCount(a: *const FcCharSet) -> FcChar32;
288
289pub fn FcCharSetIntersectCount(a: *const FcCharSet, b: *const FcCharSet) -> FcChar32;
290
291pub fn FcCharSetSubtractCount(a: *const FcCharSet, b: *const FcCharSet) -> FcChar32;
292
293pub fn FcCharSetIsSubset(a: *const FcCharSet, bi: *const FcCharSet) -> FcBool;
294
295pub fn FcCharSetFirstPage(a: *const FcCharSet, map: *mut FcChar32, next: *mut FcChar32) -> FcChar32;
296
297pub fn FcCharSetNextPage(a: *const FcCharSet, map: *mut FcChar32, next: *mut FcChar32) -> FcChar32;
298
299pub fn FcCharSetCoverage(a: *const FcCharSet, page: FcChar32, result: *mut FcChar32) -> FcChar32;
300
301pub fn FcValuePrint(v: FcValue);
302
303pub fn FcPatternPrint(p: *const FcPattern);
304
305pub fn FcFontSetPrint(s: *mut FcFontSet);
306
307pub fn FcDefaultSubstitute(pattern: *mut FcPattern);
308
309pub fn FcFileIsDir(file: *const FcChar8) -> FcBool;
310
311pub fn FcFileScan(set: *mut FcFontSet, dirs: *mut FcStrSet, cache: *mut FcFileCache, blanks: *mut FcBlanks, file: *const FcChar8, force: FcBool) -> FcBool;
312
313pub fn FcDirScan(set: *mut FcFontSet, dirs: *mut FcStrSet, cache: *mut FcFileCache, blanks: *mut FcBlanks, dir: *const FcChar8, force: FcBool) -> FcBool;
314
315pub fn FcDirSave(set: *mut FcFontSet, dirs: *const FcStrSet, dir: *mut FcChar8) -> FcBool;
316
317pub fn FcDirCacheLoad(dir: *const FcChar8, config: *mut FcConfig, cache_file: *mut *mut FcChar8) -> *mut FcCache;
318
319pub fn FcDirCacheRead(dir: *const FcChar8, force: FcBool, config: *mut FcConfig) -> *mut FcCache;
320
321pub fn FcDirCacheUnload(cache: *mut FcCache);
324
325pub fn FcFreeTypeQuery(file: *const FcChar8, id: c_int, blanks: *mut FcBlanks, count: *mut c_int) -> *mut FcPattern;
326
327pub fn FcFontSetCreate() -> *mut FcFontSet;
328
329pub fn FcFontSetDestroy(s: *mut FcFontSet);
330
331pub fn FcFontSetAdd(s: *mut FcFontSet, font: *mut FcPattern) -> FcBool;
332
333pub fn FcInitLoadConfig() -> *mut FcConfig;
334
335pub fn FcInitLoadConfigAndFonts() -> *mut FcConfig;
336
337pub fn FcInit() -> FcBool;
338
339pub fn FcFini();
340
341pub fn FcGetVersion() -> c_int;
342
343pub fn FcInitReinitialize() -> FcBool;
344
345pub fn FcInitBringUptoDate() -> FcBool;
346
347pub fn FcGetLangs() -> *mut FcStrSet;
348
349pub fn FcLangGetCharSet(lang: *const FcChar8) -> *mut FcCharSet;
350
351pub fn FcLangSetCreate() -> *mut FcLangSet;
352
353pub fn FcLangSetDestroy(ls: *mut FcLangSet);
354
355pub fn FcLangSetCopy(ls: *const FcLangSet) -> *mut FcLangSet;
356
357pub fn FcLangSetAdd(ls: *mut FcLangSet, lang: *const FcChar8) -> FcBool;
358
359pub fn FcLangSetHasLang(ls: *const FcLangSet, lang: *const FcChar8) -> FcLangResult;
360
361pub fn FcLangSetCompare(lsa: *const FcLangSet, lsb: *const FcLangSet) -> FcLangResult;
362
363pub fn FcLangSetContains(lsa: *const FcLangSet, lsb: *const FcLangSet) -> FcBool;
364
365pub fn FcLangSetEqual(lsa: *const FcLangSet, lsb: *const FcLangSet) -> FcBool;
366
367pub fn FcLangSetHash(ls: *const FcLangSet) -> FcChar32;
368
369pub fn FcLangSetGetLangs(ls: *const FcLangSet) -> *mut FcStrSet;
370
371pub fn FcObjectSetCreate() -> *mut FcObjectSet;
372
373pub fn FcObjectSetAdd(os: *mut FcObjectSet, object: *const c_char) -> FcBool;
374
375pub fn FcObjectSetDestroy(os: *mut FcObjectSet);
376
377pub fn FcObjectSetBuild(first: *mut c_char, ...) -> *mut FcObjectSet;
380
381pub fn FcFontSetList(config: *mut FcConfig, sets: *mut *mut FcFontSet, nsets: c_int, p: *mut FcPattern, os: *mut FcObjectSet) -> *mut FcFontSet;
382
383pub fn FcFontList(config: *mut FcConfig, p: *mut FcPattern, os: *mut FcObjectSet) -> *mut FcFontSet;
384
385pub fn FcAtomicCreate(file: *const FcChar8) -> *mut FcAtomic;
386
387pub fn FcAtomicLock(atomic: *mut FcAtomic) -> FcBool;
388
389pub fn FcAtomicNewFile(atomic: *mut FcAtomic) -> *mut FcChar8;
390
391pub fn FcAtomicOrigFile(atomic: *mut FcAtomic) -> *mut FcChar8;
392
393pub fn FcAtomicReplaceOrig(atomic: *mut FcAtomic) -> FcBool;
394
395pub fn FcAtomicDeleteNew(atomic: *mut FcAtomic);
396
397pub fn FcAtomicUnlock(atomic: *mut FcAtomic);
398
399pub fn FcAtomicDestroy(atomic: *mut FcAtomic);
400
401pub fn FcFontSetMatch(config: *mut FcConfig, sets: *mut *mut FcFontSet, nsets: c_int, p: *mut FcPattern, result: *mut FcResult) -> *mut FcPattern;
402
403pub fn FcFontMatch(config: *mut FcConfig, p: *mut FcPattern, result: *mut FcResult) -> *mut FcPattern;
404
405pub fn FcFontRenderPrepare(config: *mut FcConfig, pat: *mut FcPattern, font: *mut FcPattern) -> *mut FcPattern;
406
407pub fn FcFontSetSort(config: *mut FcConfig, sets: *mut *mut FcFontSet, nsets: c_int, p: *mut FcPattern, trim: FcBool, csp: *mut *mut FcCharSet, result: *mut FcResult) -> *mut FcFontSet;
408
409pub fn FcFontSort(config: *mut FcConfig, p: *mut FcPattern, trim: FcBool, csp: *mut *mut FcCharSet, result: *mut FcResult) -> *mut FcFontSet;
410
411pub fn FcFontSetSortDestroy(fs: *mut FcFontSet);
412
413pub fn FcMatrixCopy(mat: *const FcMatrix) -> *mut FcMatrix;
414
415pub fn FcMatrixEqual(mat1: *const FcMatrix, mat2: *const FcMatrix) -> FcBool;
416
417pub fn FcMatrixMultiply(result: *mut FcMatrix, a: *const FcMatrix, b: *const FcMatrix);
418
419pub fn FcMatrixRotate(m: *mut FcMatrix, c: c_double, s: c_double);
420
421pub fn FcMatrixScale(m: *mut FcMatrix, sx: c_double, sy: c_double);
422
423pub fn FcMatrixShear(m: *mut FcMatrix, sh: c_double, sv: c_double);
424
425pub fn FcNameRegisterObjectTypes(types: *const FcObjectType, ntype: c_int) -> FcBool;
426
427pub fn FcNameUnregisterObjectTypes(types: *const FcObjectType, ntype: c_int) -> FcBool;
428
429pub fn FcNameGetObjectType(object: *const c_char) -> *const FcObjectType;
430
431pub fn FcNameRegisterConstants(consts: *const FcConstant, nconsts: c_int) -> FcBool;
432
433pub fn FcNameUnregisterConstants(consts: *const FcConstant, nconsts: c_int) -> FcBool;
434
435pub fn FcNameGetConstant(string: *mut FcChar8) -> *const FcConstant;
436
437pub fn FcNameConstant(string: *mut FcChar8, result: *mut c_int) -> FcBool;
438
439pub fn FcNameParse(name: *const FcChar8) -> *mut FcPattern;
440
441pub fn FcNameUnparse(pat: *mut FcPattern) -> *mut FcChar8;
442
443pub fn FcPatternCreate() -> *mut FcPattern;
444
445pub fn FcPatternDuplicate(p: *const FcPattern) -> *mut FcPattern;
446
447pub fn FcPatternReference(p: *mut FcPattern);
448
449pub fn FcPatternFilter(p: *mut FcPattern, os: *const FcObjectSet) -> *mut FcPattern;
450
451pub fn FcValueDestroy(v: FcValue);
452
453pub fn FcValueEqual(va: FcValue, vb: FcValue) -> FcBool;
454
455pub fn FcValueSave(v: FcValue) -> FcValue;
456
457pub fn FcPatternDestroy(p: *mut FcPattern);
458
459pub fn FcPatternEqual(pa: *const FcPattern, pb: *const FcPattern) -> FcBool;
460
461pub fn FcPatternEqualSubset(pa: *const FcPattern, pb: *const FcPattern, os: *const FcObjectSet) -> FcBool;
462
463pub fn FcPatternHash(p: *const FcPattern) -> FcChar32;
464
465pub fn FcPatternAdd(p: *mut FcPattern, object: *const c_char, value: FcValue, append: FcBool) -> FcBool;
466
467pub fn FcPatternAddWeak(p: *mut FcPattern, object: *const c_char, value: FcValue, append: FcBool) -> FcBool;
468
469pub fn FcPatternGet(p: *mut FcPattern, object: *const c_char, id: c_int, v: *mut FcValue) -> FcResult;
470
471pub fn FcPatternDel(p: *mut FcPattern, object: *const c_char) -> FcBool;
472
473pub fn FcPatternRemove(p: *mut FcPattern, object: *const c_char, id: c_int) -> FcBool;
474
475pub fn FcPatternAddInteger(p: *mut FcPattern, object: *const c_char, i: c_int) -> FcBool;
476
477pub fn FcPatternAddDouble(p: *mut FcPattern, object: *const c_char, d: c_double) -> FcBool;
478
479pub fn FcPatternAddString(p: *mut FcPattern, object: *const c_char, s: *const FcChar8) -> FcBool;
480
481pub fn FcPatternAddMatrix(p: *mut FcPattern, object: *const c_char, s: *const FcMatrix) -> FcBool;
482
483pub fn FcPatternAddCharSet(p: *mut FcPattern, object: *const c_char, c: *const FcCharSet) -> FcBool;
484
485pub fn FcPatternAddBool(p: *mut FcPattern, object: *const c_char, b: FcBool) -> FcBool;
486
487pub fn FcPatternAddLangSet(p: *mut FcPattern, object: *const c_char, ls: *const FcLangSet) -> FcBool;
488
489pub fn FcPatternGetInteger(p: *mut FcPattern, object: *const c_char, n: c_int, i: *mut c_int) -> FcResult;
490
491pub fn FcPatternGetDouble(p: *mut FcPattern, object: *const c_char, n: c_int, d: *mut c_double) -> FcResult;
492
493pub fn FcPatternGetString(p: *mut FcPattern, object: *const c_char, n: c_int, s: *mut *mut FcChar8) -> FcResult;
494
495pub fn FcPatternGetMatrix(p: *mut FcPattern, object: *const c_char, n: c_int, s: *mut *mut FcMatrix) -> FcResult;
496
497pub fn FcPatternGetCharSet(p: *mut FcPattern, object: *const c_char, n: c_int, c: *mut *mut FcCharSet) -> FcResult;
498
499pub fn FcPatternGetBool(p: *mut FcPattern, object: *const c_char, n: c_int, b: *mut FcBool) -> FcResult;
500
501pub fn FcPatternGetLangSet(p: *mut FcPattern, object: *const c_char, n: c_int, ls: *mut *mut FcLangSet) -> FcResult;
502
503pub fn FcPatternBuild(p: *mut FcPattern, ...) -> *mut FcPattern;
506
507pub fn FcPatternFormat(pat: *mut FcPattern, format: *const FcChar8) -> *mut FcChar8;
508
509pub fn FcStrCopy(s: *const FcChar8) -> *mut FcChar8;
510
511pub fn FcStrCopyFilename(s: *const FcChar8) -> *mut FcChar8;
512
513pub fn FcStrPlus(s1: *const FcChar8, s2: *const FcChar8) -> *mut FcChar8;
514
515pub fn FcStrFree(s: *mut FcChar8);
516
517pub fn FcStrDowncase(s: *const FcChar8) -> *mut FcChar8;
518
519pub fn FcStrCmpIgnoreCase(s1: *const FcChar8, s2: *const FcChar8) -> c_int;
520
521pub fn FcStrCmp(s1: *const FcChar8, s2: *const FcChar8) -> c_int;
522
523pub fn FcStrStrIgnoreCase(s1: *const FcChar8, s2: *const FcChar8) -> *mut FcChar8;
524
525pub fn FcStrStr(s1: *const FcChar8, s2: *const FcChar8) -> *mut FcChar8;
526
527pub fn FcUtf8ToUcs4(src_orig: *mut FcChar8, dst: *mut FcChar32, len: c_int) -> c_int;
528
529pub fn FcUtf8Len(string: *mut FcChar8, len: c_int, nchar: *mut c_int, wchar: *mut c_int) -> FcBool;
530
531pub fn FcUcs4ToUtf8(ucs4: FcChar32, dest: *mut FcChar8) -> c_int;
532
533pub fn FcUtf16ToUcs4(src_orig: *mut FcChar8, endian: FcEndian, dst: *mut FcChar32, len: c_int) -> c_int;
534
535pub fn FcUtf16Len(string: *mut FcChar8, endian: FcEndian, len: c_int, nchar: *mut c_int, wchar: *mut c_int) -> FcBool;
536
537pub fn FcStrDirname(file: *const FcChar8) -> *mut FcChar8;
538
539pub fn FcStrBasename(file: *const FcChar8) -> *mut FcChar8;
540
541pub fn FcStrSetCreate() -> *mut FcStrSet;
542
543pub fn FcStrSetMember(set: *mut FcStrSet, s: *const FcChar8) -> FcBool;
544
545pub fn FcStrSetEqual(sa: *mut FcStrSet, sb: *mut FcStrSet) -> FcBool;
546
547pub fn FcStrSetAdd(set: *mut FcStrSet, s: *const FcChar8) -> FcBool;
548
549pub fn FcStrSetAddFilename(set: *mut FcStrSet, s: *const FcChar8) -> FcBool;
550
551pub fn FcStrSetDel(set: *mut FcStrSet, s: *const FcChar8) -> FcBool;
552
553pub fn FcStrSetDestroy(set: *mut FcStrSet);
554
555pub fn FcStrListCreate(set: *mut FcStrSet) -> *mut FcStrList;
556
557pub fn FcStrListNext(list: *mut FcStrList) -> *mut FcChar8;
558
559pub fn FcStrListDone(list: *mut FcStrList);
560
561pub fn FcConfigParseAndLoad(config: *mut FcConfig, file: *const FcChar8, complain: FcBool) -> FcBool;
562
563}