Warning, file /include/fontconfig/fontconfig.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef _FONTCONFIG_H_
0026 #define _FONTCONFIG_H_
0027
0028 #include <sys/types.h>
0029 #include <sys/stat.h>
0030 #include <stdarg.h>
0031 #include <limits.h>
0032
0033 #if defined(__GNUC__) && (__GNUC__ >= 4)
0034 #define FC_ATTRIBUTE_SENTINEL(x) __attribute__((__sentinel__(0)))
0035 #else
0036 #define FC_ATTRIBUTE_SENTINEL(x)
0037 #endif
0038
0039 #ifndef FcPublic
0040 #define FcPublic
0041 #endif
0042
0043 typedef unsigned char FcChar8;
0044 typedef unsigned short FcChar16;
0045 typedef unsigned int FcChar32;
0046 typedef int FcBool;
0047
0048
0049
0050
0051
0052
0053
0054 #define FC_MAJOR 2
0055 #define FC_MINOR 15
0056 #define FC_REVISION 0
0057
0058 #define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070 #define FC_CACHE_VERSION_NUMBER 9
0071 #define _FC_STRINGIFY_(s) #s
0072 #define _FC_STRINGIFY(s) _FC_STRINGIFY_(s)
0073 #define FC_CACHE_VERSION _FC_STRINGIFY(FC_CACHE_VERSION_NUMBER)
0074
0075 #define FcFalse 0
0076 #define FcTrue 1
0077 #define FcDontCare 2
0078
0079 #define FC_FAMILY "family"
0080 #define FC_STYLE "style"
0081 #define FC_SLANT "slant"
0082 #define FC_WEIGHT "weight"
0083 #define FC_SIZE "size"
0084 #define FC_ASPECT "aspect"
0085 #define FC_PIXEL_SIZE "pixelsize"
0086 #define FC_SPACING "spacing"
0087 #define FC_FOUNDRY "foundry"
0088 #define FC_ANTIALIAS "antialias"
0089 #define FC_HINTING "hinting"
0090 #define FC_HINT_STYLE "hintstyle"
0091 #define FC_VERTICAL_LAYOUT "verticallayout"
0092 #define FC_AUTOHINT "autohint"
0093
0094 #define FC_GLOBAL_ADVANCE "globaladvance"
0095 #define FC_WIDTH "width"
0096 #define FC_FILE "file"
0097 #define FC_INDEX "index"
0098 #define FC_FT_FACE "ftface"
0099 #define FC_RASTERIZER "rasterizer"
0100 #define FC_OUTLINE "outline"
0101 #define FC_SCALABLE "scalable"
0102 #define FC_COLOR "color"
0103 #define FC_VARIABLE "variable"
0104 #define FC_SCALE "scale"
0105 #define FC_SYMBOL "symbol"
0106 #define FC_DPI "dpi"
0107 #define FC_RGBA "rgba"
0108 #define FC_MINSPACE "minspace"
0109 #define FC_SOURCE "source"
0110 #define FC_CHARSET "charset"
0111 #define FC_LANG "lang"
0112 #define FC_FONTVERSION "fontversion"
0113 #define FC_FULLNAME "fullname"
0114 #define FC_FAMILYLANG "familylang"
0115 #define FC_STYLELANG "stylelang"
0116 #define FC_FULLNAMELANG "fullnamelang"
0117 #define FC_CAPABILITY "capability"
0118 #define FC_FONTFORMAT "fontformat"
0119 #define FC_EMBOLDEN "embolden"
0120 #define FC_EMBEDDED_BITMAP "embeddedbitmap"
0121 #define FC_DECORATIVE "decorative"
0122 #define FC_LCD_FILTER "lcdfilter"
0123 #define FC_FONT_FEATURES "fontfeatures"
0124 #define FC_FONT_VARIATIONS "fontvariations"
0125 #define FC_NAMELANG "namelang"
0126 #define FC_PRGNAME "prgname"
0127 #define FC_HASH "hash"
0128 #define FC_POSTSCRIPT_NAME "postscriptname"
0129 #define FC_FONT_HAS_HINT "fonthashint"
0130 #define FC_ORDER "order"
0131 #define FC_DESKTOP_NAME "desktop"
0132 #define FC_NAMED_INSTANCE "namedinstance"
0133 #define FC_FONT_WRAPPER "fontwrapper"
0134
0135 #define FC_CACHE_SUFFIX ".cache-" FC_CACHE_VERSION
0136 #define FC_DIR_CACHE_FILE "fonts.cache-" FC_CACHE_VERSION
0137 #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION
0138
0139
0140 #define FC_CHARWIDTH "charwidth"
0141 #define FC_CHAR_WIDTH FC_CHARWIDTH
0142 #define FC_CHAR_HEIGHT "charheight"
0143 #define FC_MATRIX "matrix"
0144
0145 #define FC_WEIGHT_THIN 0
0146 #define FC_WEIGHT_EXTRALIGHT 40
0147 #define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
0148 #define FC_WEIGHT_LIGHT 50
0149 #define FC_WEIGHT_DEMILIGHT 55
0150 #define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT
0151 #define FC_WEIGHT_BOOK 75
0152 #define FC_WEIGHT_REGULAR 80
0153 #define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
0154 #define FC_WEIGHT_MEDIUM 100
0155 #define FC_WEIGHT_DEMIBOLD 180
0156 #define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
0157 #define FC_WEIGHT_BOLD 200
0158 #define FC_WEIGHT_EXTRABOLD 205
0159 #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
0160 #define FC_WEIGHT_BLACK 210
0161 #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
0162 #define FC_WEIGHT_EXTRABLACK 215
0163 #define FC_WEIGHT_ULTRABLACK FC_WEIGHT_EXTRABLACK
0164
0165 #define FC_SLANT_ROMAN 0
0166 #define FC_SLANT_ITALIC 100
0167 #define FC_SLANT_OBLIQUE 110
0168
0169 #define FC_WIDTH_ULTRACONDENSED 50
0170 #define FC_WIDTH_EXTRACONDENSED 63
0171 #define FC_WIDTH_CONDENSED 75
0172 #define FC_WIDTH_SEMICONDENSED 87
0173 #define FC_WIDTH_NORMAL 100
0174 #define FC_WIDTH_SEMIEXPANDED 113
0175 #define FC_WIDTH_EXPANDED 125
0176 #define FC_WIDTH_EXTRAEXPANDED 150
0177 #define FC_WIDTH_ULTRAEXPANDED 200
0178
0179 #define FC_PROPORTIONAL 0
0180 #define FC_DUAL 90
0181 #define FC_MONO 100
0182 #define FC_CHARCELL 110
0183
0184
0185 #define FC_RGBA_UNKNOWN 0
0186 #define FC_RGBA_RGB 1
0187 #define FC_RGBA_BGR 2
0188 #define FC_RGBA_VRGB 3
0189 #define FC_RGBA_VBGR 4
0190 #define FC_RGBA_NONE 5
0191
0192
0193 #define FC_HINT_NONE 0
0194 #define FC_HINT_SLIGHT 1
0195 #define FC_HINT_MEDIUM 2
0196 #define FC_HINT_FULL 3
0197
0198
0199 #define FC_LCD_NONE 0
0200 #define FC_LCD_DEFAULT 1
0201 #define FC_LCD_LIGHT 2
0202 #define FC_LCD_LEGACY 3
0203
0204 typedef enum _FcType {
0205 FcTypeUnknown = -1,
0206 FcTypeVoid,
0207 FcTypeInteger,
0208 FcTypeDouble,
0209 FcTypeString,
0210 FcTypeBool,
0211 FcTypeMatrix,
0212 FcTypeCharSet,
0213 FcTypeFTFace,
0214 FcTypeLangSet,
0215 FcTypeRange
0216 } FcType;
0217
0218 typedef struct _FcMatrix {
0219 double xx, xy, yx, yy;
0220 } FcMatrix;
0221
0222 #define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, \
0223 (m)->xy = (m)->yx = 0)
0224
0225
0226
0227
0228
0229
0230 typedef struct _FcCharSet FcCharSet;
0231
0232 typedef struct _FcObjectType {
0233 char *object;
0234 FcType type;
0235 } FcObjectType;
0236
0237 typedef struct _FcConstant {
0238 const FcChar8 *name;
0239 const char *object;
0240 int value;
0241 } FcConstant;
0242
0243 typedef enum _FcResult {
0244 FcResultMatch, FcResultNoMatch, FcResultTypeMismatch, FcResultNoId,
0245 FcResultOutOfMemory
0246 } FcResult;
0247
0248 typedef enum _FcValueBinding {
0249 FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame,
0250
0251 FcValueBindingEnd = INT_MAX
0252 } FcValueBinding;
0253
0254 typedef struct _FcPattern FcPattern;
0255
0256 typedef struct _FcPatternIter {
0257 void *dummy1;
0258 void *dummy2;
0259 } FcPatternIter;
0260
0261 typedef struct _FcLangSet FcLangSet;
0262
0263 typedef struct _FcRange FcRange;
0264
0265 typedef struct _FcValue {
0266 FcType type;
0267 union {
0268 const FcChar8 *s;
0269 int i;
0270 FcBool b;
0271 double d;
0272 const FcMatrix *m;
0273 const FcCharSet *c;
0274 void *f;
0275 const FcLangSet *l;
0276 const FcRange *r;
0277 } u;
0278 } FcValue;
0279
0280 typedef struct _FcFontSet {
0281 int nfont;
0282 int sfont;
0283 FcPattern **fonts;
0284 } FcFontSet;
0285
0286 typedef struct _FcObjectSet {
0287 int nobject;
0288 int sobject;
0289 const char **objects;
0290 } FcObjectSet;
0291
0292 typedef enum _FcMatchKind {
0293 FcMatchPattern, FcMatchFont, FcMatchScan,
0294 FcMatchKindEnd,
0295 FcMatchKindBegin = FcMatchPattern
0296 } FcMatchKind;
0297
0298 typedef enum _FcLangResult {
0299 FcLangEqual = 0,
0300 FcLangDifferentCountry = 1,
0301 FcLangDifferentTerritory = 1,
0302 FcLangDifferentLang = 2
0303 } FcLangResult;
0304
0305 typedef enum _FcSetName {
0306 FcSetSystem = 0,
0307 FcSetApplication = 1
0308 } FcSetName;
0309
0310 typedef struct _FcConfigFileInfoIter {
0311 void *dummy1;
0312 void *dummy2;
0313 void *dummy3;
0314 } FcConfigFileInfoIter;
0315
0316 typedef struct _FcAtomic FcAtomic;
0317
0318 #if defined(__cplusplus) || defined(c_plusplus)
0319 #define _FCFUNCPROTOBEGIN extern "C" {
0320 #define _FCFUNCPROTOEND }
0321 #else
0322 #define _FCFUNCPROTOBEGIN
0323 #define _FCFUNCPROTOEND
0324 #endif
0325
0326 typedef enum { FcEndianBig, FcEndianLittle } FcEndian;
0327
0328 typedef struct _FcConfig FcConfig;
0329
0330 typedef struct _FcGlobalCache FcFileCache;
0331
0332 typedef struct _FcBlanks FcBlanks;
0333
0334 typedef struct _FcStrList FcStrList;
0335
0336 typedef struct _FcStrSet FcStrSet;
0337
0338 typedef struct _FcCache FcCache;
0339
0340 _FCFUNCPROTOBEGIN
0341
0342
0343 FcPublic FcBlanks *
0344 FcBlanksCreate (void);
0345
0346 FcPublic void
0347 FcBlanksDestroy (FcBlanks *b);
0348
0349 FcPublic FcBool
0350 FcBlanksAdd (FcBlanks *b, FcChar32 ucs4);
0351
0352 FcPublic FcBool
0353 FcBlanksIsMember (FcBlanks *b, FcChar32 ucs4);
0354
0355
0356
0357 FcPublic const FcChar8 *
0358 FcCacheDir(const FcCache *c);
0359
0360 FcPublic FcFontSet *
0361 FcCacheCopySet(const FcCache *c);
0362
0363 FcPublic const FcChar8 *
0364 FcCacheSubdir (const FcCache *c, int i);
0365
0366 FcPublic int
0367 FcCacheNumSubdir (const FcCache *c);
0368
0369 FcPublic int
0370 FcCacheNumFont (const FcCache *c);
0371
0372 FcPublic FcBool
0373 FcDirCacheUnlink (const FcChar8 *dir, FcConfig *config);
0374
0375 FcPublic FcBool
0376 FcDirCacheValid (const FcChar8 *cache_file);
0377
0378 FcPublic FcBool
0379 FcDirCacheClean (const FcChar8 *cache_dir, FcBool verbose);
0380
0381 FcPublic void
0382 FcCacheCreateTagFile (FcConfig *config);
0383
0384 FcPublic FcBool
0385 FcDirCacheCreateUUID (FcChar8 *dir,
0386 FcBool force,
0387 FcConfig *config);
0388
0389 FcPublic FcBool
0390 FcDirCacheDeleteUUID (const FcChar8 *dir,
0391 FcConfig *config);
0392
0393
0394 FcPublic FcChar8 *
0395 FcConfigHome (void);
0396
0397 FcPublic FcBool
0398 FcConfigEnableHome (FcBool enable);
0399
0400 FcPublic FcChar8 *
0401 FcConfigGetFilename (FcConfig *config,
0402 const FcChar8 *url);
0403
0404 FcPublic FcChar8 *
0405 FcConfigFilename (const FcChar8 *url);
0406
0407 FcPublic FcConfig *
0408 FcConfigCreate (void);
0409
0410 FcPublic FcConfig *
0411 FcConfigReference (FcConfig *config);
0412
0413 FcPublic void
0414 FcConfigDestroy (FcConfig *config);
0415
0416 FcPublic FcBool
0417 FcConfigSetCurrent (FcConfig *config);
0418
0419 FcPublic FcConfig *
0420 FcConfigGetCurrent (void);
0421
0422 FcPublic FcBool
0423 FcConfigUptoDate (FcConfig *config);
0424
0425 FcPublic FcBool
0426 FcConfigBuildFonts (FcConfig *config);
0427
0428 FcPublic FcStrList *
0429 FcConfigGetFontDirs (FcConfig *config);
0430
0431 FcPublic FcStrList *
0432 FcConfigGetConfigDirs (FcConfig *config);
0433
0434 FcPublic FcStrList *
0435 FcConfigGetConfigFiles (FcConfig *config);
0436
0437 FcPublic FcChar8 *
0438 FcConfigGetCache (FcConfig *config);
0439
0440 FcPublic FcBlanks *
0441 FcConfigGetBlanks (FcConfig *config);
0442
0443 FcPublic FcStrList *
0444 FcConfigGetCacheDirs (FcConfig *config);
0445
0446 FcPublic int
0447 FcConfigGetRescanInterval (FcConfig *config);
0448
0449 FcPublic FcBool
0450 FcConfigSetRescanInterval (FcConfig *config, int rescanInterval);
0451
0452 FcPublic FcFontSet *
0453 FcConfigGetFonts (FcConfig *config,
0454 FcSetName set);
0455
0456 FcPublic FcBool
0457 FcConfigAppFontAddFile (FcConfig *config,
0458 const FcChar8 *file);
0459
0460 FcPublic FcBool
0461 FcConfigAppFontAddDir (FcConfig *config,
0462 const FcChar8 *dir);
0463
0464 FcPublic void
0465 FcConfigAppFontClear (FcConfig *config);
0466
0467 FcPublic FcBool
0468 FcConfigSubstituteWithPat (FcConfig *config,
0469 FcPattern *p,
0470 FcPattern *p_pat,
0471 FcMatchKind kind);
0472
0473 FcPublic FcBool
0474 FcConfigSubstitute (FcConfig *config,
0475 FcPattern *p,
0476 FcMatchKind kind);
0477
0478 FcPublic const FcChar8 *
0479 FcConfigGetSysRoot (const FcConfig *config);
0480
0481 FcPublic void
0482 FcConfigSetSysRoot (FcConfig *config,
0483 const FcChar8 *sysroot);
0484
0485 FcPublic void
0486 FcConfigFileInfoIterInit (FcConfig *config,
0487 FcConfigFileInfoIter *iter);
0488
0489 FcPublic FcBool
0490 FcConfigFileInfoIterNext (FcConfig *config,
0491 FcConfigFileInfoIter *iter);
0492
0493 FcPublic FcBool
0494 FcConfigFileInfoIterGet (FcConfig *config,
0495 FcConfigFileInfoIter *iter,
0496 FcChar8 **name,
0497 FcChar8 **description,
0498 FcBool *enabled);
0499
0500
0501 FcPublic FcCharSet*
0502 FcCharSetCreate (void);
0503
0504
0505 FcPublic FcCharSet *
0506 FcCharSetNew (void);
0507
0508 FcPublic void
0509 FcCharSetDestroy (FcCharSet *fcs);
0510
0511 FcPublic FcBool
0512 FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4);
0513
0514 FcPublic FcBool
0515 FcCharSetDelChar (FcCharSet *fcs, FcChar32 ucs4);
0516
0517 FcPublic FcCharSet*
0518 FcCharSetCopy (FcCharSet *src);
0519
0520 FcPublic FcBool
0521 FcCharSetEqual (const FcCharSet *a, const FcCharSet *b);
0522
0523 FcPublic FcCharSet*
0524 FcCharSetIntersect (const FcCharSet *a, const FcCharSet *b);
0525
0526 FcPublic FcCharSet*
0527 FcCharSetUnion (const FcCharSet *a, const FcCharSet *b);
0528
0529 FcPublic FcCharSet*
0530 FcCharSetSubtract (const FcCharSet *a, const FcCharSet *b);
0531
0532 FcPublic FcBool
0533 FcCharSetMerge (FcCharSet *a, const FcCharSet *b, FcBool *changed);
0534
0535 FcPublic FcBool
0536 FcCharSetHasChar (const FcCharSet *fcs, FcChar32 ucs4);
0537
0538 FcPublic FcChar32
0539 FcCharSetCount (const FcCharSet *a);
0540
0541 FcPublic FcChar32
0542 FcCharSetIntersectCount (const FcCharSet *a, const FcCharSet *b);
0543
0544 FcPublic FcChar32
0545 FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b);
0546
0547 FcPublic FcBool
0548 FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b);
0549
0550 #define FC_CHARSET_MAP_SIZE (256/32)
0551 #define FC_CHARSET_DONE ((FcChar32) -1)
0552
0553 FcPublic FcChar32
0554 FcCharSetFirstPage (const FcCharSet *a,
0555 FcChar32 map[FC_CHARSET_MAP_SIZE],
0556 FcChar32 *next);
0557
0558 FcPublic FcChar32
0559 FcCharSetNextPage (const FcCharSet *a,
0560 FcChar32 map[FC_CHARSET_MAP_SIZE],
0561 FcChar32 *next);
0562
0563
0564
0565
0566
0567 FcPublic FcChar32
0568 FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result);
0569
0570
0571 FcPublic void
0572 FcValuePrint (const FcValue v);
0573
0574 FcPublic void
0575 FcPatternPrint (const FcPattern *p);
0576
0577 FcPublic void
0578 FcFontSetPrint (const FcFontSet *s);
0579
0580
0581 FcPublic FcStrSet *
0582 FcGetDefaultLangs (void);
0583
0584 FcPublic void
0585 FcDefaultSubstitute (FcPattern *pattern);
0586
0587
0588 FcPublic FcBool
0589 FcFileIsDir (const FcChar8 *file);
0590
0591 FcPublic FcBool
0592 FcFileScan (FcFontSet *set,
0593 FcStrSet *dirs,
0594 FcFileCache *cache,
0595 FcBlanks *blanks,
0596 const FcChar8 *file,
0597 FcBool force);
0598
0599 FcPublic FcBool
0600 FcDirScan (FcFontSet *set,
0601 FcStrSet *dirs,
0602 FcFileCache *cache,
0603 FcBlanks *blanks,
0604 const FcChar8 *dir,
0605 FcBool force);
0606
0607 FcPublic FcBool
0608 FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
0609
0610 FcPublic FcCache *
0611 FcDirCacheLoad (const FcChar8 *dir, FcConfig *config, FcChar8 **cache_file);
0612
0613 FcPublic FcCache *
0614 FcDirCacheRescan (const FcChar8 *dir, FcConfig *config);
0615
0616 FcPublic FcCache *
0617 FcDirCacheRead (const FcChar8 *dir, FcBool force, FcConfig *config);
0618
0619 FcPublic FcCache *
0620 FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat);
0621
0622 FcPublic void
0623 FcDirCacheUnload (FcCache *cache);
0624
0625
0626 FcPublic FcPattern *
0627 FcFreeTypeQuery (const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count);
0628
0629 FcPublic unsigned int
0630 FcFreeTypeQueryAll(const FcChar8 *file, unsigned int id, FcBlanks *blanks, int *count, FcFontSet *set);
0631
0632
0633
0634 FcPublic FcFontSet *
0635 FcFontSetCreate (void);
0636
0637 FcPublic void
0638 FcFontSetDestroy (FcFontSet *s);
0639
0640 FcPublic FcBool
0641 FcFontSetAdd (FcFontSet *s, FcPattern *font);
0642
0643
0644 FcPublic FcConfig *
0645 FcInitLoadConfig (void);
0646
0647 FcPublic FcConfig *
0648 FcInitLoadConfigAndFonts (void);
0649
0650 FcPublic FcBool
0651 FcInit (void);
0652
0653 FcPublic void
0654 FcFini (void);
0655
0656 FcPublic int
0657 FcGetVersion (void);
0658
0659 FcPublic FcBool
0660 FcInitReinitialize (void);
0661
0662 FcPublic FcBool
0663 FcInitBringUptoDate (void);
0664
0665
0666 FcPublic FcStrSet *
0667 FcGetLangs (void);
0668
0669 FcPublic FcChar8 *
0670 FcLangNormalize (const FcChar8 *lang);
0671
0672 FcPublic const FcCharSet *
0673 FcLangGetCharSet (const FcChar8 *lang);
0674
0675 FcPublic FcLangSet*
0676 FcLangSetCreate (void);
0677
0678 FcPublic void
0679 FcLangSetDestroy (FcLangSet *ls);
0680
0681 FcPublic FcLangSet*
0682 FcLangSetCopy (const FcLangSet *ls);
0683
0684 FcPublic FcBool
0685 FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang);
0686
0687 FcPublic FcBool
0688 FcLangSetDel (FcLangSet *ls, const FcChar8 *lang);
0689
0690 FcPublic FcLangResult
0691 FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang);
0692
0693 FcPublic FcLangResult
0694 FcLangSetCompare (const FcLangSet *lsa, const FcLangSet *lsb);
0695
0696 FcPublic FcBool
0697 FcLangSetContains (const FcLangSet *lsa, const FcLangSet *lsb);
0698
0699 FcPublic FcBool
0700 FcLangSetEqual (const FcLangSet *lsa, const FcLangSet *lsb);
0701
0702 FcPublic FcChar32
0703 FcLangSetHash (const FcLangSet *ls);
0704
0705 FcPublic FcStrSet *
0706 FcLangSetGetLangs (const FcLangSet *ls);
0707
0708 FcPublic FcLangSet *
0709 FcLangSetUnion (const FcLangSet *a, const FcLangSet *b);
0710
0711 FcPublic FcLangSet *
0712 FcLangSetSubtract (const FcLangSet *a, const FcLangSet *b);
0713
0714
0715 FcPublic FcObjectSet *
0716 FcObjectSetCreate (void);
0717
0718 FcPublic FcBool
0719 FcObjectSetAdd (FcObjectSet *os, const char *object);
0720
0721 FcPublic void
0722 FcObjectSetDestroy (FcObjectSet *os);
0723
0724 FcPublic FcObjectSet *
0725 FcObjectSetVaBuild (const char *first, va_list va);
0726
0727 FcPublic FcObjectSet *
0728 FcObjectSetBuild (const char *first, ...) FC_ATTRIBUTE_SENTINEL(0);
0729
0730 FcPublic FcFontSet *
0731 FcFontSetList (FcConfig *config,
0732 FcFontSet **sets,
0733 int nsets,
0734 FcPattern *p,
0735 FcObjectSet *os);
0736
0737 FcPublic FcFontSet *
0738 FcFontList (FcConfig *config,
0739 FcPattern *p,
0740 FcObjectSet *os);
0741
0742
0743
0744 FcPublic FcAtomic *
0745 FcAtomicCreate (const FcChar8 *file);
0746
0747 FcPublic FcBool
0748 FcAtomicLock (FcAtomic *atomic);
0749
0750 FcPublic FcChar8 *
0751 FcAtomicNewFile (FcAtomic *atomic);
0752
0753 FcPublic FcChar8 *
0754 FcAtomicOrigFile (FcAtomic *atomic);
0755
0756 FcPublic FcBool
0757 FcAtomicReplaceOrig (FcAtomic *atomic);
0758
0759 FcPublic void
0760 FcAtomicDeleteNew (FcAtomic *atomic);
0761
0762 FcPublic void
0763 FcAtomicUnlock (FcAtomic *atomic);
0764
0765 FcPublic void
0766 FcAtomicDestroy (FcAtomic *atomic);
0767
0768
0769 FcPublic FcPattern *
0770 FcFontSetMatch (FcConfig *config,
0771 FcFontSet **sets,
0772 int nsets,
0773 FcPattern *p,
0774 FcResult *result);
0775
0776 FcPublic FcPattern *
0777 FcFontMatch (FcConfig *config,
0778 FcPattern *p,
0779 FcResult *result);
0780
0781 FcPublic FcPattern *
0782 FcFontRenderPrepare (FcConfig *config,
0783 FcPattern *pat,
0784 FcPattern *font);
0785
0786 FcPublic FcFontSet *
0787 FcFontSetSort (FcConfig *config,
0788 FcFontSet **sets,
0789 int nsets,
0790 FcPattern *p,
0791 FcBool trim,
0792 FcCharSet **csp,
0793 FcResult *result);
0794
0795 FcPublic FcFontSet *
0796 FcFontSort (FcConfig *config,
0797 FcPattern *p,
0798 FcBool trim,
0799 FcCharSet **csp,
0800 FcResult *result);
0801
0802 FcPublic void
0803 FcFontSetSortDestroy (FcFontSet *fs);
0804
0805
0806 FcPublic FcMatrix *
0807 FcMatrixCopy (const FcMatrix *mat);
0808
0809 FcPublic FcBool
0810 FcMatrixEqual (const FcMatrix *mat1, const FcMatrix *mat2);
0811
0812 FcPublic void
0813 FcMatrixMultiply (FcMatrix *result, const FcMatrix *a, const FcMatrix *b);
0814
0815 FcPublic void
0816 FcMatrixRotate (FcMatrix *m, double c, double s);
0817
0818 FcPublic void
0819 FcMatrixScale (FcMatrix *m, double sx, double sy);
0820
0821 FcPublic void
0822 FcMatrixShear (FcMatrix *m, double sh, double sv);
0823
0824
0825
0826
0827 FcPublic FcBool
0828 FcNameRegisterObjectTypes (const FcObjectType *types, int ntype);
0829
0830
0831 FcPublic FcBool
0832 FcNameUnregisterObjectTypes (const FcObjectType *types, int ntype);
0833
0834 FcPublic const FcObjectType *
0835 FcNameGetObjectType (const char *object);
0836
0837
0838 FcPublic FcBool
0839 FcNameRegisterConstants (const FcConstant *consts, int nconsts);
0840
0841
0842 FcPublic FcBool
0843 FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
0844
0845 FcPublic const FcConstant *
0846 FcNameGetConstant (const FcChar8 *string);
0847
0848 FcPublic const FcConstant *
0849 FcNameGetConstantFor (const FcChar8 *string, const char *object);
0850
0851 FcPublic FcBool
0852 FcNameConstant (const FcChar8 *string, int *result);
0853
0854 FcPublic FcPattern *
0855 FcNameParse (const FcChar8 *name);
0856
0857 FcPublic FcChar8 *
0858 FcNameUnparse (FcPattern *pat);
0859
0860
0861 FcPublic FcPattern *
0862 FcPatternCreate (void);
0863
0864 FcPublic FcPattern *
0865 FcPatternDuplicate (const FcPattern *p);
0866
0867 FcPublic void
0868 FcPatternReference (FcPattern *p);
0869
0870 FcPublic FcPattern *
0871 FcPatternFilter (FcPattern *p, const FcObjectSet *os);
0872
0873 FcPublic void
0874 FcValueDestroy (FcValue v);
0875
0876 FcPublic FcBool
0877 FcValueEqual (FcValue va, FcValue vb);
0878
0879 FcPublic FcValue
0880 FcValueSave (FcValue v);
0881
0882 FcPublic void
0883 FcPatternDestroy (FcPattern *p);
0884
0885 int
0886 FcPatternObjectCount (const FcPattern *pat);
0887
0888 FcPublic FcBool
0889 FcPatternEqual (const FcPattern *pa, const FcPattern *pb);
0890
0891 FcPublic FcBool
0892 FcPatternEqualSubset (const FcPattern *pa, const FcPattern *pb, const FcObjectSet *os);
0893
0894 FcPublic FcChar32
0895 FcPatternHash (const FcPattern *p);
0896
0897 FcPublic FcBool
0898 FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append);
0899
0900 FcPublic FcBool
0901 FcPatternAddWeak (FcPattern *p, const char *object, FcValue value, FcBool append);
0902
0903 FcPublic FcResult
0904 FcPatternGet (const FcPattern *p, const char *object, int id, FcValue *v);
0905
0906 FcPublic FcResult
0907 FcPatternGetWithBinding (const FcPattern *p, const char *object, int id, FcValue *v, FcValueBinding *b);
0908
0909 FcPublic FcBool
0910 FcPatternDel (FcPattern *p, const char *object);
0911
0912 FcPublic FcBool
0913 FcPatternRemove (FcPattern *p, const char *object, int id);
0914
0915 FcPublic FcBool
0916 FcPatternAddInteger (FcPattern *p, const char *object, int i);
0917
0918 FcPublic FcBool
0919 FcPatternAddDouble (FcPattern *p, const char *object, double d);
0920
0921 FcPublic FcBool
0922 FcPatternAddString (FcPattern *p, const char *object, const FcChar8 *s);
0923
0924 FcPublic FcBool
0925 FcPatternAddMatrix (FcPattern *p, const char *object, const FcMatrix *s);
0926
0927 FcPublic FcBool
0928 FcPatternAddCharSet (FcPattern *p, const char *object, const FcCharSet *c);
0929
0930 FcPublic FcBool
0931 FcPatternAddBool (FcPattern *p, const char *object, FcBool b);
0932
0933 FcPublic FcBool
0934 FcPatternAddLangSet (FcPattern *p, const char *object, const FcLangSet *ls);
0935
0936 FcPublic FcBool
0937 FcPatternAddRange (FcPattern *p, const char *object, const FcRange *r);
0938
0939 FcPublic FcResult
0940 FcPatternGetInteger (const FcPattern *p, const char *object, int n, int *i);
0941
0942 FcPublic FcResult
0943 FcPatternGetDouble (const FcPattern *p, const char *object, int n, double *d);
0944
0945 FcPublic FcResult
0946 FcPatternGetString (const FcPattern *p, const char *object, int n, FcChar8 ** s);
0947
0948 FcPublic FcResult
0949 FcPatternGetMatrix (const FcPattern *p, const char *object, int n, FcMatrix **s);
0950
0951 FcPublic FcResult
0952 FcPatternGetCharSet (const FcPattern *p, const char *object, int n, FcCharSet **c);
0953
0954 FcPublic FcResult
0955 FcPatternGetBool (const FcPattern *p, const char *object, int n, FcBool *b);
0956
0957 FcPublic FcResult
0958 FcPatternGetLangSet (const FcPattern *p, const char *object, int n, FcLangSet **ls);
0959
0960 FcPublic FcResult
0961 FcPatternGetRange (const FcPattern *p, const char *object, int id, FcRange **r);
0962
0963 FcPublic FcPattern *
0964 FcPatternVaBuild (FcPattern *p, va_list va);
0965
0966 FcPublic FcPattern *
0967 FcPatternBuild (FcPattern *p, ...) FC_ATTRIBUTE_SENTINEL(0);
0968
0969 FcPublic FcChar8 *
0970 FcPatternFormat (FcPattern *pat, const FcChar8 *format);
0971
0972
0973 FcPublic FcRange *
0974 FcRangeCreateDouble (double begin, double end);
0975
0976 FcPublic FcRange *
0977 FcRangeCreateInteger (FcChar32 begin, FcChar32 end);
0978
0979 FcPublic void
0980 FcRangeDestroy (FcRange *range);
0981
0982 FcPublic FcRange *
0983 FcRangeCopy (const FcRange *r);
0984
0985 FcPublic FcBool
0986 FcRangeGetDouble(const FcRange *range, double *begin, double *end);
0987
0988 FcPublic void
0989 FcPatternIterStart (const FcPattern *pat, FcPatternIter *iter);
0990
0991 FcPublic FcBool
0992 FcPatternIterNext (const FcPattern *pat, FcPatternIter *iter);
0993
0994 FcPublic FcBool
0995 FcPatternIterEqual (const FcPattern *p1, FcPatternIter *i1,
0996 const FcPattern *p2, FcPatternIter *i2);
0997
0998 FcPublic FcBool
0999 FcPatternFindIter (const FcPattern *pat, FcPatternIter *iter, const char *object);
1000
1001 FcPublic FcBool
1002 FcPatternIterIsValid (const FcPattern *pat, FcPatternIter *iter);
1003
1004 FcPublic const char *
1005 FcPatternIterGetObject (const FcPattern *pat, FcPatternIter *iter);
1006
1007 FcPublic int
1008 FcPatternIterValueCount (const FcPattern *pat, FcPatternIter *iter);
1009
1010 FcPublic FcResult
1011 FcPatternIterGetValue (const FcPattern *pat, FcPatternIter *iter, int id, FcValue *v, FcValueBinding *b);
1012
1013
1014
1015 FcPublic int
1016 FcWeightFromOpenType (int ot_weight);
1017
1018 FcPublic double
1019 FcWeightFromOpenTypeDouble (double ot_weight);
1020
1021 FcPublic int
1022 FcWeightToOpenType (int fc_weight);
1023
1024 FcPublic double
1025 FcWeightToOpenTypeDouble (double fc_weight);
1026
1027
1028
1029 FcPublic FcChar8 *
1030 FcStrCopy (const FcChar8 *s);
1031
1032 FcPublic FcChar8 *
1033 FcStrCopyFilename (const FcChar8 *s);
1034
1035 FcPublic FcChar8 *
1036 FcStrPlus (const FcChar8 *s1, const FcChar8 *s2);
1037
1038 FcPublic void
1039 FcStrFree (FcChar8 *s);
1040
1041
1042 #define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
1043 #define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
1044 #define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
1045
1046 FcPublic FcChar8 *
1047 FcStrDowncase (const FcChar8 *s);
1048
1049 FcPublic int
1050 FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
1051
1052 FcPublic int
1053 FcStrCmp (const FcChar8 *s1, const FcChar8 *s2);
1054
1055 FcPublic const FcChar8 *
1056 FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
1057
1058 FcPublic const FcChar8 *
1059 FcStrStr (const FcChar8 *s1, const FcChar8 *s2);
1060
1061 FcPublic int
1062 FcUtf8ToUcs4 (const FcChar8 *src_orig,
1063 FcChar32 *dst,
1064 int len);
1065
1066 FcPublic FcBool
1067 FcUtf8Len (const FcChar8 *string,
1068 int len,
1069 int *nchar,
1070 int *wchar);
1071
1072 #define FC_UTF8_MAX_LEN 6
1073
1074 FcPublic int
1075 FcUcs4ToUtf8 (FcChar32 ucs4,
1076 FcChar8 dest[FC_UTF8_MAX_LEN]);
1077
1078 FcPublic int
1079 FcUtf16ToUcs4 (const FcChar8 *src_orig,
1080 FcEndian endian,
1081 FcChar32 *dst,
1082 int len);
1083
1084 FcPublic FcBool
1085 FcUtf16Len (const FcChar8 *string,
1086 FcEndian endian,
1087 int len,
1088 int *nchar,
1089 int *wchar);
1090
1091 FcPublic FcChar8 *
1092 FcStrBuildFilename (const FcChar8 *path,
1093 ...);
1094
1095 FcPublic FcChar8 *
1096 FcStrDirname (const FcChar8 *file);
1097
1098 FcPublic FcChar8 *
1099 FcStrBasename (const FcChar8 *file);
1100
1101 FcPublic FcStrSet *
1102 FcStrSetCreate (void);
1103
1104 FcPublic FcBool
1105 FcStrSetMember (FcStrSet *set, const FcChar8 *s);
1106
1107 FcPublic FcBool
1108 FcStrSetEqual (FcStrSet *sa, FcStrSet *sb);
1109
1110 FcPublic FcBool
1111 FcStrSetAdd (FcStrSet *set, const FcChar8 *s);
1112
1113 FcPublic FcBool
1114 FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s);
1115
1116 FcPublic FcBool
1117 FcStrSetDel (FcStrSet *set, const FcChar8 *s);
1118
1119 FcPublic void
1120 FcStrSetDestroy (FcStrSet *set);
1121
1122 FcPublic FcStrList *
1123 FcStrListCreate (FcStrSet *set);
1124
1125 FcPublic void
1126 FcStrListFirst (FcStrList *list);
1127
1128 FcPublic FcChar8 *
1129 FcStrListNext (FcStrList *list);
1130
1131 FcPublic void
1132 FcStrListDone (FcStrList *list);
1133
1134
1135 FcPublic FcBool
1136 FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);
1137
1138 FcPublic FcBool
1139 FcConfigParseAndLoadFromMemory (FcConfig *config,
1140 const FcChar8 *buffer,
1141 FcBool complain);
1142
1143 _FCFUNCPROTOEND
1144
1145 #undef FC_ATTRIBUTE_SENTINEL
1146
1147
1148 #ifndef _FCINT_H_
1149
1150
1151
1152
1153
1154
1155 #define FcConfigGetRescanInverval FcConfigGetRescanInverval_REPLACE_BY_FcConfigGetRescanInterval
1156 #define FcConfigSetRescanInverval FcConfigSetRescanInverval_REPLACE_BY_FcConfigSetRescanInterval
1157
1158 #endif
1159
1160 #endif