jpayne@69
|
1 /*
|
jpayne@69
|
2 * fontconfig/fontconfig/fontconfig.h
|
jpayne@69
|
3 *
|
jpayne@69
|
4 * Copyright © 2001 Keith Packard
|
jpayne@69
|
5 *
|
jpayne@69
|
6 * Permission to use, copy, modify, distribute, and sell this software and its
|
jpayne@69
|
7 * documentation for any purpose is hereby granted without fee, provided that
|
jpayne@69
|
8 * the above copyright notice appear in all copies and that both that
|
jpayne@69
|
9 * copyright notice and this permission notice appear in supporting
|
jpayne@69
|
10 * documentation, and that the name of the author(s) not be used in
|
jpayne@69
|
11 * advertising or publicity pertaining to distribution of the software without
|
jpayne@69
|
12 * specific, written prior permission. The authors make no
|
jpayne@69
|
13 * representations about the suitability of this software for any purpose. It
|
jpayne@69
|
14 * is provided "as is" without express or implied warranty.
|
jpayne@69
|
15 *
|
jpayne@69
|
16 * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
jpayne@69
|
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
jpayne@69
|
18 * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
jpayne@69
|
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
jpayne@69
|
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
jpayne@69
|
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
jpayne@69
|
22 * PERFORMANCE OF THIS SOFTWARE.
|
jpayne@69
|
23 */
|
jpayne@69
|
24
|
jpayne@69
|
25 #ifndef _FONTCONFIG_H_
|
jpayne@69
|
26 #define _FONTCONFIG_H_
|
jpayne@69
|
27
|
jpayne@69
|
28 #include <sys/types.h>
|
jpayne@69
|
29 #include <sys/stat.h>
|
jpayne@69
|
30 #include <stdarg.h>
|
jpayne@69
|
31 #include <limits.h>
|
jpayne@69
|
32
|
jpayne@69
|
33 #if defined(__GNUC__) && (__GNUC__ >= 4)
|
jpayne@69
|
34 #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
|
jpayne@69
|
35 #else
|
jpayne@69
|
36 #define FC_ATTRIBUTE_SENTINEL(x)
|
jpayne@69
|
37 #endif
|
jpayne@69
|
38
|
jpayne@69
|
39 #ifndef FcPublic
|
jpayne@69
|
40 #define FcPublic
|
jpayne@69
|
41 #endif
|
jpayne@69
|
42
|
jpayne@69
|
43 typedef unsigned char FcChar8;
|
jpayne@69
|
44 typedef unsigned short FcChar16;
|
jpayne@69
|
45 typedef unsigned int FcChar32;
|
jpayne@69
|
46 typedef int FcBool;
|
jpayne@69
|
47
|
jpayne@69
|
48 /*
|
jpayne@69
|
49 * Current Fontconfig version number. This same number
|
jpayne@69
|
50 * must appear in the fontconfig configure.in file. Yes,
|
jpayne@69
|
51 * it'a a pain to synchronize version numbers like this.
|
jpayne@69
|
52 */
|
jpayne@69
|
53
|
jpayne@69
|
54 #define FC_MAJOR 2
|
jpayne@69
|
55 #define FC_MINOR 14
|
jpayne@69
|
56 #define FC_REVISION 2
|
jpayne@69
|
57
|
jpayne@69
|
58 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
|
jpayne@69
|
59
|
jpayne@69
|
60 /*
|
jpayne@69
|
61 * Current font cache file format version
|
jpayne@69
|
62 * This is appended to the cache files so that multiple
|
jpayne@69
|
63 * versions of the library will peacefully coexist
|
jpayne@69
|
64 *
|
jpayne@69
|
65 * Change this value whenever the disk format for the cache file
|
jpayne@69
|
66 * changes in any non-compatible way. Try to avoid such changes as
|
jpayne@69
|
67 * it means multiple copies of the font information.
|
jpayne@69
|
68 */
|
jpayne@69
|
69
|
jpayne@69
|
70 #define FC_CACHE_VERSION_NUMBER 8
|
jpayne@69
|
71 #define _FC_STRINGIFY_(s) #s
|
jpayne@69
|
72 #define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
|
jpayne@69
|
73 #define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
|
jpayne@69
|
74
|
jpayne@69
|
75 #define FcFalse 0
|
jpayne@69
|
76 #define FcTrue 1
|
jpayne@69
|
77 #define FcDontCare 2
|
jpayne@69
|
78
|
jpayne@69
|
79 #define FC_FAMILY "family" /* String */
|
jpayne@69
|
80 #define FC_STYLE "style" /* String */
|
jpayne@69
|
81 #define FC_SLANT "slant" /* Int */
|
jpayne@69
|
82 #define FC_WEIGHT "weight" /* Int */
|
jpayne@69
|
83 #define FC_SIZE "size" /* Range (double) */
|
jpayne@69
|
84 #define FC_ASPECT "aspect" /* Double */
|
jpayne@69
|
85 #define FC_PIXEL_SIZE "pixelsize" /* Double */
|
jpayne@69
|
86 #define FC_SPACING "spacing" /* Int */
|
jpayne@69
|
87 #define FC_FOUNDRY "foundry" /* String */
|
jpayne@69
|
88 #define FC_ANTIALIAS "antialias" /* Bool (depends) */
|
jpayne@69
|
89 #define FC_HINTING "hinting" /* Bool (true) */
|
jpayne@69
|
90 #define FC_HINT_STYLE "hintstyle" /* Int */
|
jpayne@69
|
91 #define FC_VERTICAL_LAYOUT "verticallayout" /* Bool (false) */
|
jpayne@69
|
92 #define FC_AUTOHINT "autohint" /* Bool (false) */
|
jpayne@69
|
93 /* FC_GLOBAL_ADVANCE is deprecated. this is simply ignored on freetype 2.4.5 or later */
|
jpayne@69
|
94 #define FC_GLOBAL_ADVANCE "globaladvance" /* Bool (true) */
|
jpayne@69
|
95 #define FC_WIDTH "width" /* Int */
|
jpayne@69
|
96 #define FC_FILE "file" /* String */
|
jpayne@69
|
97 #define FC_INDEX "index" /* Int */
|
jpayne@69
|
98 #define FC_FT_FACE "ftface" /* FT_Face */
|
jpayne@69
|
99 #define FC_RASTERIZER "rasterizer" /* String (deprecated) */
|
jpayne@69
|
100 #define FC_OUTLINE "outline" /* Bool */
|
jpayne@69
|
101 #define FC_SCALABLE "scalable" /* Bool */
|
jpayne@69
|
102 #define FC_COLOR "color" /* Bool */
|
jpayne@69
|
103 #define FC_VARIABLE "variable" /* Bool */
|
jpayne@69
|
104 #define FC_SCALE "scale" /* double (deprecated) */
|
jpayne@69
|
105 #define FC_SYMBOL "symbol" /* Bool */
|
jpayne@69
|
106 #define FC_DPI "dpi" /* double */
|
jpayne@69
|
107 #define FC_RGBA "rgba" /* Int */
|
jpayne@69
|
108 #define FC_MINSPACE "minspace" /* Bool use minimum line spacing */
|
jpayne@69
|
109 #define FC_SOURCE "source" /* String (deprecated) */
|
jpayne@69
|
110 #define FC_CHARSET "charset" /* CharSet */
|
jpayne@69
|
111 #define FC_LANG "lang" /* LangSet Set of RFC 3066 langs */
|
jpayne@69
|
112 #define FC_FONTVERSION "fontversion" /* Int from 'head' table */
|
jpayne@69
|
113 #define FC_FULLNAME "fullname" /* String */
|
jpayne@69
|
114 #define FC_FAMILYLANG "familylang" /* String RFC 3066 langs */
|
jpayne@69
|
115 #define FC_STYLELANG "stylelang" /* String RFC 3066 langs */
|
jpayne@69
|
116 #define FC_FULLNAMELANG "fullnamelang" /* String RFC 3066 langs */
|
jpayne@69
|
117 #define FC_CAPABILITY "capability" /* String */
|
jpayne@69
|
118 #define FC_FONTFORMAT "fontformat" /* String */
|
jpayne@69
|
119 #define FC_EMBOLDEN "embolden" /* Bool - true if emboldening needed*/
|
jpayne@69
|
120 #define FC_EMBEDDED_BITMAP "embeddedbitmap" /* Bool - true to enable embedded bitmaps */
|
jpayne@69
|
121 #define FC_DECORATIVE "decorative" /* Bool - true if style is a decorative variant */
|
jpayne@69
|
122 #define FC_LCD_FILTER "lcdfilter" /* Int */
|
jpayne@69
|
123 #define FC_FONT_FEATURES "fontfeatures" /* String */
|
jpayne@69
|
124 #define FC_FONT_VARIATIONS "fontvariations" /* String */
|
jpayne@69
|
125 #define FC_NAMELANG "namelang" /* String RFC 3866 langs */
|
jpayne@69
|
126 #define FC_PRGNAME "prgname" /* String */
|
jpayne@69
|
127 #define FC_HASH "hash" /* String (deprecated) */
|
jpayne@69
|
128 #define FC_POSTSCRIPT_NAME "postscriptname" /* String */
|
jpayne@69
|
129 #define FC_FONT_HAS_HINT "fonthashint" /* Bool - true if font has hinting */
|
jpayne@69
|
130 #define FC_ORDER "order" /* Integer */
|
jpayne@69
|
131 #define FC_DESKTOP_NAME "desktop" /* String */
|
jpayne@69
|
132
|
jpayne@69
|
133 #define FC_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION
|
jpayne@69
|
134 #define FC_DIR_CACHE_FILE "fonts.cache-" FC_CACHE_VERSION
|
jpayne@69
|
135 #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
|
jpayne@69
|
136
|
jpayne@69
|
137 /* Adjust outline rasterizer */
|
jpayne@69
|
138 #define FC_CHARWIDTH "charwidth" /* Int */
|
jpayne@69
|
139 #define FC_CHAR_WIDTH FC_CHARWIDTH
|
jpayne@69
|
140 #define FC_CHAR_HEIGHT "charheight"/* Int */
|
jpayne@69
|
141 #define FC_MATRIX "matrix" /* FcMatrix */
|
jpayne@69
|
142
|
jpayne@69
|
143 #define FC_WEIGHT_THIN 0
|
jpayne@69
|
144 #define FC_WEIGHT_EXTRALIGHT 40
|
jpayne@69
|
145 #define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
|
jpayne@69
|
146 #define FC_WEIGHT_LIGHT 50
|
jpayne@69
|
147 #define FC_WEIGHT_DEMILIGHT 55
|
jpayne@69
|
148 #define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT
|
jpayne@69
|
149 #define FC_WEIGHT_BOOK 75
|
jpayne@69
|
150 #define FC_WEIGHT_REGULAR 80
|
jpayne@69
|
151 #define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
|
jpayne@69
|
152 #define FC_WEIGHT_MEDIUM 100
|
jpayne@69
|
153 #define FC_WEIGHT_DEMIBOLD 180
|
jpayne@69
|
154 #define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
|
jpayne@69
|
155 #define FC_WEIGHT_BOLD 200
|
jpayne@69
|
156 #define FC_WEIGHT_EXTRABOLD 205
|
jpayne@69
|
157 #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
|
jpayne@69
|
158 #define FC_WEIGHT_BLACK 210
|
jpayne@69
|
159 #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
|
jpayne@69
|
160 #define FC_WEIGHT_EXTRABLACK 215
|
jpayne@69
|
161 #define FC_WEIGHT_ULTRABLACK FC_WEIGHT_EXTRABLACK
|
jpayne@69
|
162
|
jpayne@69
|
163 #define FC_SLANT_ROMAN 0
|
jpayne@69
|
164 #define FC_SLANT_ITALIC 100
|
jpayne@69
|
165 #define FC_SLANT_OBLIQUE 110
|
jpayne@69
|
166
|
jpayne@69
|
167 #define FC_WIDTH_ULTRACONDENSED 50
|
jpayne@69
|
168 #define FC_WIDTH_EXTRACONDENSED 63
|
jpayne@69
|
169 #define FC_WIDTH_CONDENSED 75
|
jpayne@69
|
170 #define FC_WIDTH_SEMICONDENSED 87
|
jpayne@69
|
171 #define FC_WIDTH_NORMAL 100
|
jpayne@69
|
172 #define FC_WIDTH_SEMIEXPANDED 113
|
jpayne@69
|
173 #define FC_WIDTH_EXPANDED 125
|
jpayne@69
|
174 #define FC_WIDTH_EXTRAEXPANDED 150
|
jpayne@69
|
175 #define FC_WIDTH_ULTRAEXPANDED 200
|
jpayne@69
|
176
|
jpayne@69
|
177 #define FC_PROPORTIONAL 0
|
jpayne@69
|
178 #define FC_DUAL 90
|
jpayne@69
|
179 #define FC_MONO 100
|
jpayne@69
|
180 #define FC_CHARCELL 110
|
jpayne@69
|
181
|
jpayne@69
|
182 /* sub-pixel order */
|
jpayne@69
|
183 #define FC_RGBA_UNKNOWN 0
|
jpayne@69
|
184 #define FC_RGBA_RGB 1
|
jpayne@69
|
185 #define FC_RGBA_BGR 2
|
jpayne@69
|
186 #define FC_RGBA_VRGB 3
|
jpayne@69
|
187 #define FC_RGBA_VBGR 4
|
jpayne@69
|
188 #define FC_RGBA_NONE 5
|
jpayne@69
|
189
|
jpayne@69
|
190 /* hinting style */
|
jpayne@69
|
191 #define FC_HINT_NONE 0
|
jpayne@69
|
192 #define FC_HINT_SLIGHT 1
|
jpayne@69
|
193 #define FC_HINT_MEDIUM 2
|
jpayne@69
|
194 #define FC_HINT_FULL 3
|
jpayne@69
|
195
|
jpayne@69
|
196 /* LCD filter */
|
jpayne@69
|
197 #define FC_LCD_NONE 0
|
jpayne@69
|
198 #define FC_LCD_DEFAULT 1
|
jpayne@69
|
199 #define FC_LCD_LIGHT 2
|
jpayne@69
|
200 #define FC_LCD_LEGACY 3
|
jpayne@69
|
201
|
jpayne@69
|
202 typedef enum _FcType {
|
jpayne@69
|
203 FcTypeUnknown = -1,
|
jpayne@69
|
204 FcTypeVoid,
|
jpayne@69
|
205 FcTypeInteger,
|
jpayne@69
|
206 FcTypeDouble,
|
jpayne@69
|
207 FcTypeString,
|
jpayne@69
|
208 FcTypeBool,
|
jpayne@69
|
209 FcTypeMatrix,
|
jpayne@69
|
210 FcTypeCharSet,
|
jpayne@69
|
211 FcTypeFTFace,
|
jpayne@69
|
212 FcTypeLangSet,
|
jpayne@69
|
213 FcTypeRange
|
jpayne@69
|
214 } FcType;
|
jpayne@69
|
215
|
jpayne@69
|
216 typedef struct _FcMatrix {
|
jpayne@69
|
217 double xx, xy, yx, yy;
|
jpayne@69
|
218 } FcMatrix;
|
jpayne@69
|
219
|
jpayne@69
|
220 #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, \
|
jpayne@69
|
221 (m)->xy = (m)->yx = 0)
|
jpayne@69
|
222
|
jpayne@69
|
223 /*
|
jpayne@69
|
224 * A data structure to represent the available glyphs in a font.
|
jpayne@69
|
225 * This is represented as a sparse boolean btree.
|
jpayne@69
|
226 */
|
jpayne@69
|
227
|
jpayne@69
|
228 typedef struct _FcCharSet FcCharSet;
|
jpayne@69
|
229
|
jpayne@69
|
230 typedef struct _FcObjectType {
|
jpayne@69
|
231 char *object;
|
jpayne@69
|
232 FcType type;
|
jpayne@69
|
233 } FcObjectType;
|
jpayne@69
|
234
|
jpayne@69
|
235 typedef struct _FcConstant {
|
jpayne@69
|
236 const FcChar8 *name;
|
jpayne@69
|
237 const char *object;
|
jpayne@69
|
238 int value;
|
jpayne@69
|
239 } FcConstant;
|
jpayne@69
|
240
|
jpayne@69
|
241 typedef enum _FcResult {
|
jpayne@69
|
242 FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId,
|
jpayne@69
|
243 FcResultOutOfMemory
|
jpayne@69
|
244 } FcResult;
|
jpayne@69
|
245
|
jpayne@69
|
246 typedef enum _FcValueBinding {
|
jpayne@69
|
247 FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
|
jpayne@69
|
248 /* to make sure sizeof (FcValueBinding) == 4 even with -fshort-enums */
|
jpayne@69
|
249 FcValueBindingEnd = INT_MAX
|
jpayne@69
|
250 } FcValueBinding;
|
jpayne@69
|
251
|
jpayne@69
|
252 typedef struct _FcPattern FcPattern;
|
jpayne@69
|
253
|
jpayne@69
|
254 typedef struct _FcPatternIter {
|
jpayne@69
|
255 void *dummy1;
|
jpayne@69
|
256 void *dummy2;
|
jpayne@69
|
257 } FcPatternIter;
|
jpayne@69
|
258
|
jpayne@69
|
259 typedef struct _FcLangSet FcLangSet;
|
jpayne@69
|
260
|
jpayne@69
|
261 typedef struct _FcRange FcRange;
|
jpayne@69
|
262
|
jpayne@69
|
263 typedef struct _FcValue {
|
jpayne@69
|
264 FcType type;
|
jpayne@69
|
265 union {
|
jpayne@69
|
266 const FcChar8 *s;
|
jpayne@69
|
267 int i;
|
jpayne@69
|
268 FcBool b;
|
jpayne@69
|
269 double d;
|
jpayne@69
|
270 const FcMatrix *m;
|
jpayne@69
|
271 const FcCharSet *c;
|
jpayne@69
|
272 void *f;
|
jpayne@69
|
273 const FcLangSet *l;
|
jpayne@69
|
274 const FcRange *r;
|
jpayne@69
|
275 } u;
|
jpayne@69
|
276 } FcValue;
|
jpayne@69
|
277
|
jpayne@69
|
278 typedef struct _FcFontSet {
|
jpayne@69
|
279 int nfont;
|
jpayne@69
|
280 int sfont;
|
jpayne@69
|
281 FcPattern **fonts;
|
jpayne@69
|
282 } FcFontSet;
|
jpayne@69
|
283
|
jpayne@69
|
284 typedef struct _FcObjectSet {
|
jpayne@69
|
285 int nobject;
|
jpayne@69
|
286 int sobject;
|
jpayne@69
|
287 const char **objects;
|
jpayne@69
|
288 } FcObjectSet;
|
jpayne@69
|
289
|
jpayne@69
|
290 typedef enum _FcMatchKind {
|
jpayne@69
|
291 FcMatchPattern, FcMatchFont, FcMatchScan,
|
jpayne@69
|
292 FcMatchKindEnd,
|
jpayne@69
|
293 FcMatchKindBegin = FcMatchPattern
|
jpayne@69
|
294 } FcMatchKind;
|
jpayne@69
|
295
|
jpayne@69
|
296 typedef enum _FcLangResult {
|
jpayne@69
|
297 FcLangEqual = 0,
|
jpayne@69
|
298 FcLangDifferentCountry = 1,
|
jpayne@69
|
299 FcLangDifferentTerritory = 1,
|
jpayne@69
|
300 FcLangDifferentLang = 2
|
jpayne@69
|
301 } FcLangResult;
|
jpayne@69
|
302
|
jpayne@69
|
303 typedef enum _FcSetName {
|
jpayne@69
|
304 FcSetSystem = 0,
|
jpayne@69
|
305 FcSetApplication = 1
|
jpayne@69
|
306 } FcSetName;
|
jpayne@69
|
307
|
jpayne@69
|
308 typedef struct _FcConfigFileInfoIter {
|
jpayne@69
|
309 void *dummy1;
|
jpayne@69
|
310 void *dummy2;
|
jpayne@69
|
311 void *dummy3;
|
jpayne@69
|
312 } FcConfigFileInfoIter;
|
jpayne@69
|
313
|
jpayne@69
|
314 typedef struct _FcAtomic FcAtomic;
|
jpayne@69
|
315
|
jpayne@69
|
316 #if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
|
jpayne@69
|
317 #define _FCFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
|
jpayne@69
|
318 #define _FCFUNCPROTOEND }
|
jpayne@69
|
319 #else
|
jpayne@69
|
320 #define _FCFUNCPROTOBEGIN
|
jpayne@69
|
321 #define _FCFUNCPROTOEND
|
jpayne@69
|
322 #endif
|
jpayne@69
|
323
|
jpayne@69
|
324 typedef enum { FcEndianBig, FcEndianLittle } FcEndian;
|
jpayne@69
|
325
|
jpayne@69
|
326 typedef struct _FcConfig FcConfig;
|
jpayne@69
|
327
|
jpayne@69
|
328 typedef struct _FcGlobalCache FcFileCache;
|
jpayne@69
|
329
|
jpayne@69
|
330 typedef struct _FcBlanks FcBlanks;
|
jpayne@69
|
331
|
jpayne@69
|
332 typedef struct _FcStrList FcStrList;
|
jpayne@69
|
333
|
jpayne@69
|
334 typedef struct _FcStrSet FcStrSet;
|
jpayne@69
|
335
|
jpayne@69
|
336 typedef struct _FcCache FcCache;
|
jpayne@69
|
337
|
jpayne@69
|
338 _FCFUNCPROTOBEGIN
|
jpayne@69
|
339
|
jpayne@69
|
340 /* fcblanks.c */
|
jpayne@69
|
341 FcPublic FcBlanks *
|
jpayne@69
|
342 FcBlanksCreate (void);
|
jpayne@69
|
343
|
jpayne@69
|
344 FcPublic void
|
jpayne@69
|
345 FcBlanksDestroy (FcBlanks *b);
|
jpayne@69
|
346
|
jpayne@69
|
347 FcPublic FcBool
|
jpayne@69
|
348 FcBlanksAdd (FcBlanks *b, FcChar32 ucs4);
|
jpayne@69
|
349
|
jpayne@69
|
350 FcPublic FcBool
|
jpayne@69
|
351 FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4);
|
jpayne@69
|
352
|
jpayne@69
|
353 /* fccache.c */
|
jpayne@69
|
354
|
jpayne@69
|
355 FcPublic const FcChar8 *
|
jpayne@69
|
356 FcCacheDir(const FcCache *c);
|
jpayne@69
|
357
|
jpayne@69
|
358 FcPublic FcFontSet *
|
jpayne@69
|
359 FcCacheCopySet(const FcCache *c);
|
jpayne@69
|
360
|
jpayne@69
|
361 FcPublic const FcChar8 *
|
jpayne@69
|
362 FcCacheSubdir (const FcCache *c, int i);
|
jpayne@69
|
363
|
jpayne@69
|
364 FcPublic int
|
jpayne@69
|
365 FcCacheNumSubdir (const FcCache *c);
|
jpayne@69
|
366
|
jpayne@69
|
367 FcPublic int
|
jpayne@69
|
368 FcCacheNumFont (const FcCache *c);
|
jpayne@69
|
369
|
jpayne@69
|
370 FcPublic FcBool
|
jpayne@69
|
371 FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config);
|
jpayne@69
|
372
|
jpayne@69
|
373 FcPublic FcBool
|
jpayne@69
|
374 FcDirCacheValid (const FcChar8 *cache_file);
|
jpayne@69
|
375
|
jpayne@69
|
376 FcPublic FcBool
|
jpayne@69
|
377 FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose);
|
jpayne@69
|
378
|
jpayne@69
|
379 FcPublic void
|
jpayne@69
|
380 FcCacheCreateTagFile (FcConfig *config);
|
jpayne@69
|
381
|
jpayne@69
|
382 FcPublic FcBool
|
jpayne@69
|
383 FcDirCacheCreateUUID (FcChar8 *dir,
|
jpayne@69
|
384 FcBool force,
|
jpayne@69
|
385 FcConfig *config);
|
jpayne@69
|
386
|
jpayne@69
|
387 FcPublic FcBool
|
jpayne@69
|
388 FcDirCacheDeleteUUID (const FcChar8 *dir,
|
jpayne@69
|
389 FcConfig *config);
|
jpayne@69
|
390
|
jpayne@69
|
391 /* fccfg.c */
|
jpayne@69
|
392 FcPublic FcChar8 *
|
jpayne@69
|
393 FcConfigHome (void);
|
jpayne@69
|
394
|
jpayne@69
|
395 FcPublic FcBool
|
jpayne@69
|
396 FcConfigEnableHome (FcBool enable);
|
jpayne@69
|
397
|
jpayne@69
|
398 FcPublic FcChar8 *
|
jpayne@69
|
399 FcConfigGetFilename (FcConfig *config,
|
jpayne@69
|
400 const FcChar8 *url);
|
jpayne@69
|
401
|
jpayne@69
|
402 FcPublic FcChar8 *
|
jpayne@69
|
403 FcConfigFilename (const FcChar8 *url);
|
jpayne@69
|
404
|
jpayne@69
|
405 FcPublic FcConfig *
|
jpayne@69
|
406 FcConfigCreate (void);
|
jpayne@69
|
407
|
jpayne@69
|
408 FcPublic FcConfig *
|
jpayne@69
|
409 FcConfigReference (FcConfig *config);
|
jpayne@69
|
410
|
jpayne@69
|
411 FcPublic void
|
jpayne@69
|
412 FcConfigDestroy (FcConfig *config);
|
jpayne@69
|
413
|
jpayne@69
|
414 FcPublic FcBool
|
jpayne@69
|
415 FcConfigSetCurrent (FcConfig *config);
|
jpayne@69
|
416
|
jpayne@69
|
417 FcPublic FcConfig *
|
jpayne@69
|
418 FcConfigGetCurrent (void);
|
jpayne@69
|
419
|
jpayne@69
|
420 FcPublic FcBool
|
jpayne@69
|
421 FcConfigUptoDate (FcConfig *config);
|
jpayne@69
|
422
|
jpayne@69
|
423 FcPublic FcBool
|
jpayne@69
|
424 FcConfigBuildFonts (FcConfig *config);
|
jpayne@69
|
425
|
jpayne@69
|
426 FcPublic FcStrList *
|
jpayne@69
|
427 FcConfigGetFontDirs (FcConfig *config);
|
jpayne@69
|
428
|
jpayne@69
|
429 FcPublic FcStrList *
|
jpayne@69
|
430 FcConfigGetConfigDirs (FcConfig *config);
|
jpayne@69
|
431
|
jpayne@69
|
432 FcPublic FcStrList *
|
jpayne@69
|
433 FcConfigGetConfigFiles (FcConfig *config);
|
jpayne@69
|
434
|
jpayne@69
|
435 FcPublic FcChar8 *
|
jpayne@69
|
436 FcConfigGetCache (FcConfig *config);
|
jpayne@69
|
437
|
jpayne@69
|
438 FcPublic FcBlanks *
|
jpayne@69
|
439 FcConfigGetBlanks (FcConfig *config);
|
jpayne@69
|
440
|
jpayne@69
|
441 FcPublic FcStrList *
|
jpayne@69
|
442 FcConfigGetCacheDirs (FcConfig *config);
|
jpayne@69
|
443
|
jpayne@69
|
444 FcPublic int
|
jpayne@69
|
445 FcConfigGetRescanInterval (FcConfig *config);
|
jpayne@69
|
446
|
jpayne@69
|
447 FcPublic FcBool
|
jpayne@69
|
448 FcConfigSetRescanInterval (FcConfig *config, int rescanInterval);
|
jpayne@69
|
449
|
jpayne@69
|
450 FcPublic FcFontSet *
|
jpayne@69
|
451 FcConfigGetFonts (FcConfig *config,
|
jpayne@69
|
452 FcSetName set);
|
jpayne@69
|
453
|
jpayne@69
|
454 FcPublic FcBool
|
jpayne@69
|
455 FcConfigAppFontAddFile (FcConfig *config,
|
jpayne@69
|
456 const FcChar8 *file);
|
jpayne@69
|
457
|
jpayne@69
|
458 FcPublic FcBool
|
jpayne@69
|
459 FcConfigAppFontAddDir (FcConfig *config,
|
jpayne@69
|
460 const FcChar8 *dir);
|
jpayne@69
|
461
|
jpayne@69
|
462 FcPublic void
|
jpayne@69
|
463 FcConfigAppFontClear (FcConfig *config);
|
jpayne@69
|
464
|
jpayne@69
|
465 FcPublic FcBool
|
jpayne@69
|
466 FcConfigSubstituteWithPat (FcConfig *config,
|
jpayne@69
|
467 FcPattern *p,
|
jpayne@69
|
468 FcPattern *p_pat,
|
jpayne@69
|
469 FcMatchKind kind);
|
jpayne@69
|
470
|
jpayne@69
|
471 FcPublic FcBool
|
jpayne@69
|
472 FcConfigSubstitute (FcConfig *config,
|
jpayne@69
|
473 FcPattern *p,
|
jpayne@69
|
474 FcMatchKind kind);
|
jpayne@69
|
475
|
jpayne@69
|
476 FcPublic const FcChar8 *
|
jpayne@69
|
477 FcConfigGetSysRoot (const FcConfig *config);
|
jpayne@69
|
478
|
jpayne@69
|
479 FcPublic void
|
jpayne@69
|
480 FcConfigSetSysRoot (FcConfig *config,
|
jpayne@69
|
481 const FcChar8 *sysroot);
|
jpayne@69
|
482
|
jpayne@69
|
483 FcPublic void
|
jpayne@69
|
484 FcConfigFileInfoIterInit (FcConfig *config,
|
jpayne@69
|
485 FcConfigFileInfoIter *iter);
|
jpayne@69
|
486
|
jpayne@69
|
487 FcPublic FcBool
|
jpayne@69
|
488 FcConfigFileInfoIterNext (FcConfig *config,
|
jpayne@69
|
489 FcConfigFileInfoIter *iter);
|
jpayne@69
|
490
|
jpayne@69
|
491 FcPublic FcBool
|
jpayne@69
|
492 FcConfigFileInfoIterGet (FcConfig *config,
|
jpayne@69
|
493 FcConfigFileInfoIter *iter,
|
jpayne@69
|
494 FcChar8 **name,
|
jpayne@69
|
495 FcChar8 **description,
|
jpayne@69
|
496 FcBool *enabled);
|
jpayne@69
|
497
|
jpayne@69
|
498 /* fccharset.c */
|
jpayne@69
|
499 FcPublic FcCharSet*
|
jpayne@69
|
500 FcCharSetCreate (void);
|
jpayne@69
|
501
|
jpayne@69
|
502 /* deprecated alias for FcCharSetCreate */
|
jpayne@69
|
503 FcPublic FcCharSet *
|
jpayne@69
|
504 FcCharSetNew (void);
|
jpayne@69
|
505
|
jpayne@69
|
506 FcPublic void
|
jpayne@69
|
507 FcCharSetDestroy (FcCharSet *fcs);
|
jpayne@69
|
508
|
jpayne@69
|
509 FcPublic FcBool
|
jpayne@69
|
510 FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4);
|
jpayne@69
|
511
|
jpayne@69
|
512 FcPublic FcBool
|
jpayne@69
|
513 FcCharSetDelChar (FcCharSet *fcs, FcChar32 ucs4);
|
jpayne@69
|
514
|
jpayne@69
|
515 FcPublic FcCharSet*
|
jpayne@69
|
516 FcCharSetCopy (FcCharSet *src);
|
jpayne@69
|
517
|
jpayne@69
|
518 FcPublic FcBool
|
jpayne@69
|
519 FcCharSetEqual (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
520
|
jpayne@69
|
521 FcPublic FcCharSet*
|
jpayne@69
|
522 FcCharSetIntersect (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
523
|
jpayne@69
|
524 FcPublic FcCharSet*
|
jpayne@69
|
525 FcCharSetUnion (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
526
|
jpayne@69
|
527 FcPublic FcCharSet*
|
jpayne@69
|
528 FcCharSetSubtract (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
529
|
jpayne@69
|
530 FcPublic FcBool
|
jpayne@69
|
531 FcCharSetMerge (FcCharSet *a, const FcCharSet *b, FcBool *changed);
|
jpayne@69
|
532
|
jpayne@69
|
533 FcPublic FcBool
|
jpayne@69
|
534 FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4);
|
jpayne@69
|
535
|
jpayne@69
|
536 FcPublic FcChar32
|
jpayne@69
|
537 FcCharSetCount (const FcCharSet *a);
|
jpayne@69
|
538
|
jpayne@69
|
539 FcPublic FcChar32
|
jpayne@69
|
540 FcCharSetIntersectCount (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
541
|
jpayne@69
|
542 FcPublic FcChar32
|
jpayne@69
|
543 FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
544
|
jpayne@69
|
545 FcPublic FcBool
|
jpayne@69
|
546 FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b);
|
jpayne@69
|
547
|
jpayne@69
|
548 #define FC_CHARSET_MAP_SIZE (256/32)
|
jpayne@69
|
549 #define FC_CHARSET_DONE ((FcChar32) -1)
|
jpayne@69
|
550
|
jpayne@69
|
551 FcPublic FcChar32
|
jpayne@69
|
552 FcCharSetFirstPage (const FcCharSet *a,
|
jpayne@69
|
553 FcChar32 map[FC_CHARSET_MAP_SIZE],
|
jpayne@69
|
554 FcChar32 *next);
|
jpayne@69
|
555
|
jpayne@69
|
556 FcPublic FcChar32
|
jpayne@69
|
557 FcCharSetNextPage (const FcCharSet *a,
|
jpayne@69
|
558 FcChar32 map[FC_CHARSET_MAP_SIZE],
|
jpayne@69
|
559 FcChar32 *next);
|
jpayne@69
|
560
|
jpayne@69
|
561 /*
|
jpayne@69
|
562 * old coverage API, rather hard to use correctly
|
jpayne@69
|
563 */
|
jpayne@69
|
564
|
jpayne@69
|
565 FcPublic FcChar32
|
jpayne@69
|
566 FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result);
|
jpayne@69
|
567
|
jpayne@69
|
568 /* fcdbg.c */
|
jpayne@69
|
569 FcPublic void
|
jpayne@69
|
570 FcValuePrint (const FcValue v);
|
jpayne@69
|
571
|
jpayne@69
|
572 FcPublic void
|
jpayne@69
|
573 FcPatternPrint (const FcPattern *p);
|
jpayne@69
|
574
|
jpayne@69
|
575 FcPublic void
|
jpayne@69
|
576 FcFontSetPrint (const FcFontSet *s);
|
jpayne@69
|
577
|
jpayne@69
|
578 /* fcdefault.c */
|
jpayne@69
|
579 FcPublic FcStrSet *
|
jpayne@69
|
580 FcGetDefaultLangs (void);
|
jpayne@69
|
581
|
jpayne@69
|
582 FcPublic void
|
jpayne@69
|
583 FcDefaultSubstitute (FcPattern *pattern);
|
jpayne@69
|
584
|
jpayne@69
|
585 /* fcdir.c */
|
jpayne@69
|
586 FcPublic FcBool
|
jpayne@69
|
587 FcFileIsDir (const FcChar8 *file);
|
jpayne@69
|
588
|
jpayne@69
|
589 FcPublic FcBool
|
jpayne@69
|
590 FcFileScan (FcFontSet *set,
|
jpayne@69
|
591 FcStrSet *dirs,
|
jpayne@69
|
592 FcFileCache *cache,
|
jpayne@69
|
593 FcBlanks *blanks,
|
jpayne@69
|
594 const FcChar8 *file,
|
jpayne@69
|
595 FcBool force);
|
jpayne@69
|
596
|
jpayne@69
|
597 FcPublic FcBool
|
jpayne@69
|
598 FcDirScan (FcFontSet *set,
|
jpayne@69
|
599 FcStrSet *dirs,
|
jpayne@69
|
600 FcFileCache *cache,
|
jpayne@69
|
601 FcBlanks *blanks,
|
jpayne@69
|
602 const FcChar8 *dir,
|
jpayne@69
|
603 FcBool force);
|
jpayne@69
|
604
|
jpayne@69
|
605 FcPublic FcBool
|
jpayne@69
|
606 FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
|
jpayne@69
|
607
|
jpayne@69
|
608 FcPublic FcCache *
|
jpayne@69
|
609 FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file);
|
jpayne@69
|
610
|
jpayne@69
|
611 FcPublic FcCache *
|
jpayne@69
|
612 FcDirCacheRescan (const FcChar8 *dir, FcConfig *config);
|
jpayne@69
|
613
|
jpayne@69
|
614 FcPublic FcCache *
|
jpayne@69
|
615 FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config);
|
jpayne@69
|
616
|
jpayne@69
|
617 FcPublic FcCache *
|
jpayne@69
|
618 FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat);
|
jpayne@69
|
619
|
jpayne@69
|
620 FcPublic void
|
jpayne@69
|
621 FcDirCacheUnload (FcCache *cache);
|
jpayne@69
|
622
|
jpayne@69
|
623 /* fcfreetype.c */
|
jpayne@69
|
624 FcPublic FcPattern *
|
jpayne@69
|
625 FcFreeTypeQuery (const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count);
|
jpayne@69
|
626
|
jpayne@69
|
627 FcPublic unsigned int
|
jpayne@69
|
628 FcFreeTypeQueryAll(const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count, FcFontSet *set);
|
jpayne@69
|
629
|
jpayne@69
|
630 /* fcfs.c */
|
jpayne@69
|
631
|
jpayne@69
|
632 FcPublic FcFontSet *
|
jpayne@69
|
633 FcFontSetCreate (void);
|
jpayne@69
|
634
|
jpayne@69
|
635 FcPublic void
|
jpayne@69
|
636 FcFontSetDestroy (FcFontSet *s);
|
jpayne@69
|
637
|
jpayne@69
|
638 FcPublic FcBool
|
jpayne@69
|
639 FcFontSetAdd (FcFontSet *s, FcPattern *font);
|
jpayne@69
|
640
|
jpayne@69
|
641 /* fcinit.c */
|
jpayne@69
|
642 FcPublic FcConfig *
|
jpayne@69
|
643 FcInitLoadConfig (void);
|
jpayne@69
|
644
|
jpayne@69
|
645 FcPublic FcConfig *
|
jpayne@69
|
646 FcInitLoadConfigAndFonts (void);
|
jpayne@69
|
647
|
jpayne@69
|
648 FcPublic FcBool
|
jpayne@69
|
649 FcInit (void);
|
jpayne@69
|
650
|
jpayne@69
|
651 FcPublic void
|
jpayne@69
|
652 FcFini (void);
|
jpayne@69
|
653
|
jpayne@69
|
654 FcPublic int
|
jpayne@69
|
655 FcGetVersion (void);
|
jpayne@69
|
656
|
jpayne@69
|
657 FcPublic FcBool
|
jpayne@69
|
658 FcInitReinitialize (void);
|
jpayne@69
|
659
|
jpayne@69
|
660 FcPublic FcBool
|
jpayne@69
|
661 FcInitBringUptoDate (void);
|
jpayne@69
|
662
|
jpayne@69
|
663 /* fclang.c */
|
jpayne@69
|
664 FcPublic FcStrSet *
|
jpayne@69
|
665 FcGetLangs (void);
|
jpayne@69
|
666
|
jpayne@69
|
667 FcPublic FcChar8 *
|
jpayne@69
|
668 FcLangNormalize (const FcChar8 *lang);
|
jpayne@69
|
669
|
jpayne@69
|
670 FcPublic const FcCharSet *
|
jpayne@69
|
671 FcLangGetCharSet (const FcChar8 *lang);
|
jpayne@69
|
672
|
jpayne@69
|
673 FcPublic FcLangSet*
|
jpayne@69
|
674 FcLangSetCreate (void);
|
jpayne@69
|
675
|
jpayne@69
|
676 FcPublic void
|
jpayne@69
|
677 FcLangSetDestroy (FcLangSet *ls);
|
jpayne@69
|
678
|
jpayne@69
|
679 FcPublic FcLangSet*
|
jpayne@69
|
680 FcLangSetCopy (const FcLangSet *ls);
|
jpayne@69
|
681
|
jpayne@69
|
682 FcPublic FcBool
|
jpayne@69
|
683 FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang);
|
jpayne@69
|
684
|
jpayne@69
|
685 FcPublic FcBool
|
jpayne@69
|
686 FcLangSetDel (FcLangSet *ls, const FcChar8 *lang);
|
jpayne@69
|
687
|
jpayne@69
|
688 FcPublic FcLangResult
|
jpayne@69
|
689 FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang);
|
jpayne@69
|
690
|
jpayne@69
|
691 FcPublic FcLangResult
|
jpayne@69
|
692 FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb);
|
jpayne@69
|
693
|
jpayne@69
|
694 FcPublic FcBool
|
jpayne@69
|
695 FcLangSetContains (const FcLangSet *lsa, const FcLangSet *lsb);
|
jpayne@69
|
696
|
jpayne@69
|
697 FcPublic FcBool
|
jpayne@69
|
698 FcLangSetEqual (const FcLangSet *lsa, const FcLangSet *lsb);
|
jpayne@69
|
699
|
jpayne@69
|
700 FcPublic FcChar32
|
jpayne@69
|
701 FcLangSetHash (const FcLangSet *ls);
|
jpayne@69
|
702
|
jpayne@69
|
703 FcPublic FcStrSet *
|
jpayne@69
|
704 FcLangSetGetLangs (const FcLangSet *ls);
|
jpayne@69
|
705
|
jpayne@69
|
706 FcPublic FcLangSet *
|
jpayne@69
|
707 FcLangSetUnion (const FcLangSet *a, const FcLangSet *b);
|
jpayne@69
|
708
|
jpayne@69
|
709 FcPublic FcLangSet *
|
jpayne@69
|
710 FcLangSetSubtract (const FcLangSet *a, const FcLangSet *b);
|
jpayne@69
|
711
|
jpayne@69
|
712 /* fclist.c */
|
jpayne@69
|
713 FcPublic FcObjectSet *
|
jpayne@69
|
714 FcObjectSetCreate (void);
|
jpayne@69
|
715
|
jpayne@69
|
716 FcPublic FcBool
|
jpayne@69
|
717 FcObjectSetAdd (FcObjectSet *os, const char *object);
|
jpayne@69
|
718
|
jpayne@69
|
719 FcPublic void
|
jpayne@69
|
720 FcObjectSetDestroy (FcObjectSet *os);
|
jpayne@69
|
721
|
jpayne@69
|
722 FcPublic FcObjectSet *
|
jpayne@69
|
723 FcObjectSetVaBuild (const char *first, va_list va);
|
jpayne@69
|
724
|
jpayne@69
|
725 FcPublic FcObjectSet *
|
jpayne@69
|
726 FcObjectSetBuild (const char *first, ...) FC_ATTRIBUTE_SENTINEL(0);
|
jpayne@69
|
727
|
jpayne@69
|
728 FcPublic FcFontSet *
|
jpayne@69
|
729 FcFontSetList (FcConfig *config,
|
jpayne@69
|
730 FcFontSet **sets,
|
jpayne@69
|
731 int nsets,
|
jpayne@69
|
732 FcPattern *p,
|
jpayne@69
|
733 FcObjectSet *os);
|
jpayne@69
|
734
|
jpayne@69
|
735 FcPublic FcFontSet *
|
jpayne@69
|
736 FcFontList (FcConfig *config,
|
jpayne@69
|
737 FcPattern *p,
|
jpayne@69
|
738 FcObjectSet *os);
|
jpayne@69
|
739
|
jpayne@69
|
740 /* fcatomic.c */
|
jpayne@69
|
741
|
jpayne@69
|
742 FcPublic FcAtomic *
|
jpayne@69
|
743 FcAtomicCreate (const FcChar8 *file);
|
jpayne@69
|
744
|
jpayne@69
|
745 FcPublic FcBool
|
jpayne@69
|
746 FcAtomicLock (FcAtomic *atomic);
|
jpayne@69
|
747
|
jpayne@69
|
748 FcPublic FcChar8 *
|
jpayne@69
|
749 FcAtomicNewFile (FcAtomic *atomic);
|
jpayne@69
|
750
|
jpayne@69
|
751 FcPublic FcChar8 *
|
jpayne@69
|
752 FcAtomicOrigFile (FcAtomic *atomic);
|
jpayne@69
|
753
|
jpayne@69
|
754 FcPublic FcBool
|
jpayne@69
|
755 FcAtomicReplaceOrig (FcAtomic *atomic);
|
jpayne@69
|
756
|
jpayne@69
|
757 FcPublic void
|
jpayne@69
|
758 FcAtomicDeleteNew (FcAtomic *atomic);
|
jpayne@69
|
759
|
jpayne@69
|
760 FcPublic void
|
jpayne@69
|
761 FcAtomicUnlock (FcAtomic *atomic);
|
jpayne@69
|
762
|
jpayne@69
|
763 FcPublic void
|
jpayne@69
|
764 FcAtomicDestroy (FcAtomic *atomic);
|
jpayne@69
|
765
|
jpayne@69
|
766 /* fcmatch.c */
|
jpayne@69
|
767 FcPublic FcPattern *
|
jpayne@69
|
768 FcFontSetMatch (FcConfig *config,
|
jpayne@69
|
769 FcFontSet **sets,
|
jpayne@69
|
770 int nsets,
|
jpayne@69
|
771 FcPattern *p,
|
jpayne@69
|
772 FcResult *result);
|
jpayne@69
|
773
|
jpayne@69
|
774 FcPublic FcPattern *
|
jpayne@69
|
775 FcFontMatch (FcConfig *config,
|
jpayne@69
|
776 FcPattern *p,
|
jpayne@69
|
777 FcResult *result);
|
jpayne@69
|
778
|
jpayne@69
|
779 FcPublic FcPattern *
|
jpayne@69
|
780 FcFontRenderPrepare (FcConfig *config,
|
jpayne@69
|
781 FcPattern *pat,
|
jpayne@69
|
782 FcPattern *font);
|
jpayne@69
|
783
|
jpayne@69
|
784 FcPublic FcFontSet *
|
jpayne@69
|
785 FcFontSetSort (FcConfig *config,
|
jpayne@69
|
786 FcFontSet **sets,
|
jpayne@69
|
787 int nsets,
|
jpayne@69
|
788 FcPattern *p,
|
jpayne@69
|
789 FcBool trim,
|
jpayne@69
|
790 FcCharSet **csp,
|
jpayne@69
|
791 FcResult *result);
|
jpayne@69
|
792
|
jpayne@69
|
793 FcPublic FcFontSet *
|
jpayne@69
|
794 FcFontSort (FcConfig *config,
|
jpayne@69
|
795 FcPattern *p,
|
jpayne@69
|
796 FcBool trim,
|
jpayne@69
|
797 FcCharSet **csp,
|
jpayne@69
|
798 FcResult *result);
|
jpayne@69
|
799
|
jpayne@69
|
800 FcPublic void
|
jpayne@69
|
801 FcFontSetSortDestroy (FcFontSet *fs);
|
jpayne@69
|
802
|
jpayne@69
|
803 /* fcmatrix.c */
|
jpayne@69
|
804 FcPublic FcMatrix *
|
jpayne@69
|
805 FcMatrixCopy (const FcMatrix *mat);
|
jpayne@69
|
806
|
jpayne@69
|
807 FcPublic FcBool
|
jpayne@69
|
808 FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2);
|
jpayne@69
|
809
|
jpayne@69
|
810 FcPublic void
|
jpayne@69
|
811 FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b);
|
jpayne@69
|
812
|
jpayne@69
|
813 FcPublic void
|
jpayne@69
|
814 FcMatrixRotate (FcMatrix *m, double c, double s);
|
jpayne@69
|
815
|
jpayne@69
|
816 FcPublic void
|
jpayne@69
|
817 FcMatrixScale (FcMatrix *m, double sx, double sy);
|
jpayne@69
|
818
|
jpayne@69
|
819 FcPublic void
|
jpayne@69
|
820 FcMatrixShear (FcMatrix *m, double sh, double sv);
|
jpayne@69
|
821
|
jpayne@69
|
822 /* fcname.c */
|
jpayne@69
|
823
|
jpayne@69
|
824 /* Deprecated. Does nothing. Returns FcFalse. */
|
jpayne@69
|
825 FcPublic FcBool
|
jpayne@69
|
826 FcNameRegisterObjectTypes (const FcObjectType *types, int ntype);
|
jpayne@69
|
827
|
jpayne@69
|
828 /* Deprecated. Does nothing. Returns FcFalse. */
|
jpayne@69
|
829 FcPublic FcBool
|
jpayne@69
|
830 FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype);
|
jpayne@69
|
831
|
jpayne@69
|
832 FcPublic const FcObjectType *
|
jpayne@69
|
833 FcNameGetObjectType (const char *object);
|
jpayne@69
|
834
|
jpayne@69
|
835 /* Deprecated. Does nothing. Returns FcFalse. */
|
jpayne@69
|
836 FcPublic FcBool
|
jpayne@69
|
837 FcNameRegisterConstants (const FcConstant *consts, int nconsts);
|
jpayne@69
|
838
|
jpayne@69
|
839 /* Deprecated. Does nothing. Returns FcFalse. */
|
jpayne@69
|
840 FcPublic FcBool
|
jpayne@69
|
841 FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
|
jpayne@69
|
842
|
jpayne@69
|
843 FcPublic const FcConstant *
|
jpayne@69
|
844 FcNameGetConstant (const FcChar8 *string);
|
jpayne@69
|
845
|
jpayne@69
|
846 FcPublic const FcConstant *
|
jpayne@69
|
847 FcNameGetConstantFor (const FcChar8 *string, const char *object);
|
jpayne@69
|
848
|
jpayne@69
|
849 FcPublic FcBool
|
jpayne@69
|
850 FcNameConstant (const FcChar8 *string, int *result);
|
jpayne@69
|
851
|
jpayne@69
|
852 FcPublic FcPattern *
|
jpayne@69
|
853 FcNameParse (const FcChar8 *name);
|
jpayne@69
|
854
|
jpayne@69
|
855 FcPublic FcChar8 *
|
jpayne@69
|
856 FcNameUnparse (FcPattern *pat);
|
jpayne@69
|
857
|
jpayne@69
|
858 /* fcpat.c */
|
jpayne@69
|
859 FcPublic FcPattern *
|
jpayne@69
|
860 FcPatternCreate (void);
|
jpayne@69
|
861
|
jpayne@69
|
862 FcPublic FcPattern *
|
jpayne@69
|
863 FcPatternDuplicate (const FcPattern *p);
|
jpayne@69
|
864
|
jpayne@69
|
865 FcPublic void
|
jpayne@69
|
866 FcPatternReference (FcPattern *p);
|
jpayne@69
|
867
|
jpayne@69
|
868 FcPublic FcPattern *
|
jpayne@69
|
869 FcPatternFilter (FcPattern *p, const FcObjectSet *os);
|
jpayne@69
|
870
|
jpayne@69
|
871 FcPublic void
|
jpayne@69
|
872 FcValueDestroy (FcValue v);
|
jpayne@69
|
873
|
jpayne@69
|
874 FcPublic FcBool
|
jpayne@69
|
875 FcValueEqual (FcValue va, FcValue vb);
|
jpayne@69
|
876
|
jpayne@69
|
877 FcPublic FcValue
|
jpayne@69
|
878 FcValueSave (FcValue v);
|
jpayne@69
|
879
|
jpayne@69
|
880 FcPublic void
|
jpayne@69
|
881 FcPatternDestroy (FcPattern *p);
|
jpayne@69
|
882
|
jpayne@69
|
883 int
|
jpayne@69
|
884 FcPatternObjectCount (const FcPattern *pat);
|
jpayne@69
|
885
|
jpayne@69
|
886 FcPublic FcBool
|
jpayne@69
|
887 FcPatternEqual (const FcPattern *pa, const FcPattern *pb);
|
jpayne@69
|
888
|
jpayne@69
|
889 FcPublic FcBool
|
jpayne@69
|
890 FcPatternEqualSubset (const FcPattern *pa, const FcPattern *pb, const FcObjectSet *os);
|
jpayne@69
|
891
|
jpayne@69
|
892 FcPublic FcChar32
|
jpayne@69
|
893 FcPatternHash (const FcPattern *p);
|
jpayne@69
|
894
|
jpayne@69
|
895 FcPublic FcBool
|
jpayne@69
|
896 FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append);
|
jpayne@69
|
897
|
jpayne@69
|
898 FcPublic FcBool
|
jpayne@69
|
899 FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append);
|
jpayne@69
|
900
|
jpayne@69
|
901 FcPublic FcResult
|
jpayne@69
|
902 FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
|
jpayne@69
|
903
|
jpayne@69
|
904 FcPublic FcResult
|
jpayne@69
|
905 FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b);
|
jpayne@69
|
906
|
jpayne@69
|
907 FcPublic FcBool
|
jpayne@69
|
908 FcPatternDel (FcPattern *p, const char *object);
|
jpayne@69
|
909
|
jpayne@69
|
910 FcPublic FcBool
|
jpayne@69
|
911 FcPatternRemove (FcPattern *p, const char *object, int id);
|
jpayne@69
|
912
|
jpayne@69
|
913 FcPublic FcBool
|
jpayne@69
|
914 FcPatternAddInteger (FcPattern *p, const char *object, int i);
|
jpayne@69
|
915
|
jpayne@69
|
916 FcPublic FcBool
|
jpayne@69
|
917 FcPatternAddDouble (FcPattern *p, const char *object, double d);
|
jpayne@69
|
918
|
jpayne@69
|
919 FcPublic FcBool
|
jpayne@69
|
920 FcPatternAddString (FcPattern *p, const char *object, const FcChar8 *s);
|
jpayne@69
|
921
|
jpayne@69
|
922 FcPublic FcBool
|
jpayne@69
|
923 FcPatternAddMatrix (FcPattern *p, const char *object, const FcMatrix *s);
|
jpayne@69
|
924
|
jpayne@69
|
925 FcPublic FcBool
|
jpayne@69
|
926 FcPatternAddCharSet (FcPattern *p, const char *object, const FcCharSet *c);
|
jpayne@69
|
927
|
jpayne@69
|
928 FcPublic FcBool
|
jpayne@69
|
929 FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
|
jpayne@69
|
930
|
jpayne@69
|
931 FcPublic FcBool
|
jpayne@69
|
932 FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
|
jpayne@69
|
933
|
jpayne@69
|
934 FcPublic FcBool
|
jpayne@69
|
935 FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r);
|
jpayne@69
|
936
|
jpayne@69
|
937 FcPublic FcResult
|
jpayne@69
|
938 FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
|
jpayne@69
|
939
|
jpayne@69
|
940 FcPublic FcResult
|
jpayne@69
|
941 FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d);
|
jpayne@69
|
942
|
jpayne@69
|
943 FcPublic FcResult
|
jpayne@69
|
944 FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s);
|
jpayne@69
|
945
|
jpayne@69
|
946 FcPublic FcResult
|
jpayne@69
|
947 FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s);
|
jpayne@69
|
948
|
jpayne@69
|
949 FcPublic FcResult
|
jpayne@69
|
950 FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c);
|
jpayne@69
|
951
|
jpayne@69
|
952 FcPublic FcResult
|
jpayne@69
|
953 FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
|
jpayne@69
|
954
|
jpayne@69
|
955 FcPublic FcResult
|
jpayne@69
|
956 FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
|
jpayne@69
|
957
|
jpayne@69
|
958 FcPublic FcResult
|
jpayne@69
|
959 FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r);
|
jpayne@69
|
960
|
jpayne@69
|
961 FcPublic FcPattern *
|
jpayne@69
|
962 FcPatternVaBuild (FcPattern *p, va_list va);
|
jpayne@69
|
963
|
jpayne@69
|
964 FcPublic FcPattern *
|
jpayne@69
|
965 FcPatternBuild (FcPattern *p, ...) FC_ATTRIBUTE_SENTINEL(0);
|
jpayne@69
|
966
|
jpayne@69
|
967 FcPublic FcChar8 *
|
jpayne@69
|
968 FcPatternFormat (FcPattern *pat, const FcChar8 *format);
|
jpayne@69
|
969
|
jpayne@69
|
970 /* fcrange.c */
|
jpayne@69
|
971 FcPublic FcRange *
|
jpayne@69
|
972 FcRangeCreateDouble (double begin, double end);
|
jpayne@69
|
973
|
jpayne@69
|
974 FcPublic FcRange *
|
jpayne@69
|
975 FcRangeCreateInteger (FcChar32 begin, FcChar32 end);
|
jpayne@69
|
976
|
jpayne@69
|
977 FcPublic void
|
jpayne@69
|
978 FcRangeDestroy (FcRange *range);
|
jpayne@69
|
979
|
jpayne@69
|
980 FcPublic FcRange *
|
jpayne@69
|
981 FcRangeCopy (const FcRange *r);
|
jpayne@69
|
982
|
jpayne@69
|
983 FcPublic FcBool
|
jpayne@69
|
984 FcRangeGetDouble(const FcRange *range, double *begin, double *end);
|
jpayne@69
|
985
|
jpayne@69
|
986 FcPublic void
|
jpayne@69
|
987 FcPatternIterStart (const FcPattern *pat, FcPatternIter *iter);
|
jpayne@69
|
988
|
jpayne@69
|
989 FcPublic FcBool
|
jpayne@69
|
990 FcPatternIterNext (const FcPattern *pat, FcPatternIter *iter);
|
jpayne@69
|
991
|
jpayne@69
|
992 FcPublic FcBool
|
jpayne@69
|
993 FcPatternIterEqual (const FcPattern *p1, FcPatternIter *i1,
|
jpayne@69
|
994 const FcPattern *p2, FcPatternIter *i2);
|
jpayne@69
|
995
|
jpayne@69
|
996 FcPublic FcBool
|
jpayne@69
|
997 FcPatternFindIter (const FcPattern *pat, FcPatternIter *iter, const char *object);
|
jpayne@69
|
998
|
jpayne@69
|
999 FcPublic FcBool
|
jpayne@69
|
1000 FcPatternIterIsValid (const FcPattern *pat, FcPatternIter *iter);
|
jpayne@69
|
1001
|
jpayne@69
|
1002 FcPublic const char *
|
jpayne@69
|
1003 FcPatternIterGetObject (const FcPattern *pat, FcPatternIter *iter);
|
jpayne@69
|
1004
|
jpayne@69
|
1005 FcPublic int
|
jpayne@69
|
1006 FcPatternIterValueCount (const FcPattern *pat, FcPatternIter *iter);
|
jpayne@69
|
1007
|
jpayne@69
|
1008 FcPublic FcResult
|
jpayne@69
|
1009 FcPatternIterGetValue (const FcPattern *pat, FcPatternIter *iter, int id, FcValue *v, FcValueBinding *b);
|
jpayne@69
|
1010
|
jpayne@69
|
1011 /* fcweight.c */
|
jpayne@69
|
1012
|
jpayne@69
|
1013 FcPublic int
|
jpayne@69
|
1014 FcWeightFromOpenType (int ot_weight);
|
jpayne@69
|
1015
|
jpayne@69
|
1016 FcPublic double
|
jpayne@69
|
1017 FcWeightFromOpenTypeDouble (double ot_weight);
|
jpayne@69
|
1018
|
jpayne@69
|
1019 FcPublic int
|
jpayne@69
|
1020 FcWeightToOpenType (int fc_weight);
|
jpayne@69
|
1021
|
jpayne@69
|
1022 FcPublic double
|
jpayne@69
|
1023 FcWeightToOpenTypeDouble (double fc_weight);
|
jpayne@69
|
1024
|
jpayne@69
|
1025 /* fcstr.c */
|
jpayne@69
|
1026
|
jpayne@69
|
1027 FcPublic FcChar8 *
|
jpayne@69
|
1028 FcStrCopy (const FcChar8 *s);
|
jpayne@69
|
1029
|
jpayne@69
|
1030 FcPublic FcChar8 *
|
jpayne@69
|
1031 FcStrCopyFilename (const FcChar8 *s);
|
jpayne@69
|
1032
|
jpayne@69
|
1033 FcPublic FcChar8 *
|
jpayne@69
|
1034 FcStrPlus (const FcChar8 *s1, const FcChar8 *s2);
|
jpayne@69
|
1035
|
jpayne@69
|
1036 FcPublic void
|
jpayne@69
|
1037 FcStrFree (FcChar8 *s);
|
jpayne@69
|
1038
|
jpayne@69
|
1039 /* These are ASCII only, suitable only for pattern element names */
|
jpayne@69
|
1040 #define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
|
jpayne@69
|
1041 #define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
|
jpayne@69
|
1042 #define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
|
jpayne@69
|
1043
|
jpayne@69
|
1044 FcPublic FcChar8 *
|
jpayne@69
|
1045 FcStrDowncase (const FcChar8 *s);
|
jpayne@69
|
1046
|
jpayne@69
|
1047 FcPublic int
|
jpayne@69
|
1048 FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
|
jpayne@69
|
1049
|
jpayne@69
|
1050 FcPublic int
|
jpayne@69
|
1051 FcStrCmp (const FcChar8 *s1, const FcChar8 *s2);
|
jpayne@69
|
1052
|
jpayne@69
|
1053 FcPublic const FcChar8 *
|
jpayne@69
|
1054 FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
|
jpayne@69
|
1055
|
jpayne@69
|
1056 FcPublic const FcChar8 *
|
jpayne@69
|
1057 FcStrStr (const FcChar8 *s1, const FcChar8 *s2);
|
jpayne@69
|
1058
|
jpayne@69
|
1059 FcPublic int
|
jpayne@69
|
1060 FcUtf8ToUcs4 (const FcChar8 *src_orig,
|
jpayne@69
|
1061 FcChar32 *dst,
|
jpayne@69
|
1062 int len);
|
jpayne@69
|
1063
|
jpayne@69
|
1064 FcPublic FcBool
|
jpayne@69
|
1065 FcUtf8Len (const FcChar8 *string,
|
jpayne@69
|
1066 int len,
|
jpayne@69
|
1067 int *nchar,
|
jpayne@69
|
1068 int *wchar);
|
jpayne@69
|
1069
|
jpayne@69
|
1070 #define FC_UTF8_MAX_LEN 6
|
jpayne@69
|
1071
|
jpayne@69
|
1072 FcPublic int
|
jpayne@69
|
1073 FcUcs4ToUtf8 (FcChar32 ucs4,
|
jpayne@69
|
1074 FcChar8 dest[FC_UTF8_MAX_LEN]);
|
jpayne@69
|
1075
|
jpayne@69
|
1076 FcPublic int
|
jpayne@69
|
1077 FcUtf16ToUcs4 (const FcChar8 *src_orig,
|
jpayne@69
|
1078 FcEndian endian,
|
jpayne@69
|
1079 FcChar32 *dst,
|
jpayne@69
|
1080 int len); /* in bytes */
|
jpayne@69
|
1081
|
jpayne@69
|
1082 FcPublic FcBool
|
jpayne@69
|
1083 FcUtf16Len (const FcChar8 *string,
|
jpayne@69
|
1084 FcEndian endian,
|
jpayne@69
|
1085 int len, /* in bytes */
|
jpayne@69
|
1086 int *nchar,
|
jpayne@69
|
1087 int *wchar);
|
jpayne@69
|
1088
|
jpayne@69
|
1089 FcPublic FcChar8 *
|
jpayne@69
|
1090 FcStrBuildFilename (const FcChar8 *path,
|
jpayne@69
|
1091 ...);
|
jpayne@69
|
1092
|
jpayne@69
|
1093 FcPublic FcChar8 *
|
jpayne@69
|
1094 FcStrDirname (const FcChar8 *file);
|
jpayne@69
|
1095
|
jpayne@69
|
1096 FcPublic FcChar8 *
|
jpayne@69
|
1097 FcStrBasename (const FcChar8 *file);
|
jpayne@69
|
1098
|
jpayne@69
|
1099 FcPublic FcStrSet *
|
jpayne@69
|
1100 FcStrSetCreate (void);
|
jpayne@69
|
1101
|
jpayne@69
|
1102 FcPublic FcBool
|
jpayne@69
|
1103 FcStrSetMember (FcStrSet *set, const FcChar8 *s);
|
jpayne@69
|
1104
|
jpayne@69
|
1105 FcPublic FcBool
|
jpayne@69
|
1106 FcStrSetEqual (FcStrSet *sa, FcStrSet *sb);
|
jpayne@69
|
1107
|
jpayne@69
|
1108 FcPublic FcBool
|
jpayne@69
|
1109 FcStrSetAdd (FcStrSet *set, const FcChar8 *s);
|
jpayne@69
|
1110
|
jpayne@69
|
1111 FcPublic FcBool
|
jpayne@69
|
1112 FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s);
|
jpayne@69
|
1113
|
jpayne@69
|
1114 FcPublic FcBool
|
jpayne@69
|
1115 FcStrSetDel (FcStrSet *set, const FcChar8 *s);
|
jpayne@69
|
1116
|
jpayne@69
|
1117 FcPublic void
|
jpayne@69
|
1118 FcStrSetDestroy (FcStrSet *set);
|
jpayne@69
|
1119
|
jpayne@69
|
1120 FcPublic FcStrList *
|
jpayne@69
|
1121 FcStrListCreate (FcStrSet *set);
|
jpayne@69
|
1122
|
jpayne@69
|
1123 FcPublic void
|
jpayne@69
|
1124 FcStrListFirst (FcStrList *list);
|
jpayne@69
|
1125
|
jpayne@69
|
1126 FcPublic FcChar8 *
|
jpayne@69
|
1127 FcStrListNext (FcStrList *list);
|
jpayne@69
|
1128
|
jpayne@69
|
1129 FcPublic void
|
jpayne@69
|
1130 FcStrListDone (FcStrList *list);
|
jpayne@69
|
1131
|
jpayne@69
|
1132 /* fcxml.c */
|
jpayne@69
|
1133 FcPublic FcBool
|
jpayne@69
|
1134 FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
|
jpayne@69
|
1135
|
jpayne@69
|
1136 FcPublic FcBool
|
jpayne@69
|
1137 FcConfigParseAndLoadFromMemory (FcConfig *config,
|
jpayne@69
|
1138 const FcChar8 *buffer,
|
jpayne@69
|
1139 FcBool complain);
|
jpayne@69
|
1140
|
jpayne@69
|
1141 _FCFUNCPROTOEND
|
jpayne@69
|
1142
|
jpayne@69
|
1143 #undef FC_ATTRIBUTE_SENTINEL
|
jpayne@69
|
1144
|
jpayne@69
|
1145
|
jpayne@69
|
1146 #ifndef _FCINT_H_
|
jpayne@69
|
1147
|
jpayne@69
|
1148 /*
|
jpayne@69
|
1149 * Deprecated functions are placed here to help users fix their code without
|
jpayne@69
|
1150 * digging through documentation
|
jpayne@69
|
1151 */
|
jpayne@69
|
1152
|
jpayne@69
|
1153 #define FcConfigGetRescanInverval FcConfigGetRescanInverval_REPLACE_BY_FcConfigGetRescanInterval
|
jpayne@69
|
1154 #define FcConfigSetRescanInverval FcConfigSetRescanInverval_REPLACE_BY_FcConfigSetRescanInterval
|
jpayne@69
|
1155
|
jpayne@69
|
1156 #endif
|
jpayne@69
|
1157
|
jpayne@69
|
1158 #endif /* _FONTCONFIG_H_ */
|