Index: fontconfig/fontconfig.h =================================================================== RCS file: /local/src/CVS/fontconfig/fontconfig/fontconfig.h,v retrieving revision 1.45 diff -u -w -r1.45 fontconfig.h --- fontconfig/fontconfig.h 9 Jun 2003 19:21:06 -0000 1.45 +++ fontconfig/fontconfig.h 14 Aug 2003 18:21:13 -0000 @@ -88,6 +88,7 @@ #define FC_CHARSET "charset" /* CharSet */ #define FC_LANG "lang" /* String RFC 3066 langs */ #define FC_FONTVERSION "fontversion" /* Int from 'head' table */ +#define FC_SILGRAPHITE "silgraphite" /* Bool (false) */ #define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION #define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION Index: src/fcfreetype.c =================================================================== RCS file: /local/src/CVS/fontconfig/src/fcfreetype.c,v retrieving revision 1.40 diff -u -w -r1.40 fcfreetype.c --- src/fcfreetype.c 26 Jun 2003 08:19:11 -0000 1.40 +++ src/fcfreetype.c 14 Aug 2003 18:21:22 -0000 @@ -50,6 +50,7 @@ #include "fcint.h" #include #include +#include #include #include #include @@ -796,6 +797,35 @@ } } + +#define TTAG_SILF FT_MAKE_TAG('S','i','l','f') + FT_Int amajor, aminor, apatch; + FT_Library_Version(ftLibrary, &amajor, &aminor, &apatch ); + TT_Face tt_face = (TT_Face)face; + FcBool issilgraphitefont = 0; + SFNT_Interface *sfnt; + FT_Error err; + if (amajor>=2) { + if (aminor==0) { + sfnt = *(SFNT_Interface**)((char*)tt_face + 528); + err = sfnt->load_any(tt_face, TTAG_SILF, 0, 0, 0); + } + else if ((aminor == 1) && (apatch < 4)) { + sfnt = *(SFNT_Interface**)((char*)tt_face + 532); + err = sfnt->load_any(tt_face, TTAG_SILF, 0, 0, 0); + + } + else { + FT_ULong len = 0; + err = FT_Load_Sfnt_Table(face, TTAG_SILF, 0, 0, &len); + } + issilgraphitefont = ( err == FT_Err_Ok); + } + if (!FcPatternAddBool (pat, FC_SILGRAPHITE, issilgraphitefont)) + goto bail1; + /* * Type 1: Check for FontInfo dictionary information * Code from g2@magestudios.net (Gerard Escalante) Index: src/fcname.c =================================================================== RCS file: /local/src/CVS/fontconfig/src/fcname.c,v retrieving revision 1.19 diff -u -w -r1.19 fcname.c --- src/fcname.c 2 May 2003 01:11:09 -0000 1.19 +++ src/fcname.c 14 Aug 2003 18:21:24 -0000 @@ -62,6 +62,7 @@ { FC_CHARSET, FcTypeCharSet }, { FC_LANG, FcTypeLangSet }, { FC_FONTVERSION, FcTypeInteger }, + { FC_SILGRAPHITE, FcTypeBool }, }; #define NUM_OBJECT_TYPES (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])