Add fontversion field
This commit is contained in:
parent
e712133ca7
commit
a342e87dc3
|
@ -82,7 +82,8 @@ typedef int FcBool;
|
||||||
#define FC_MINSPACE "minspace" /* Bool use minimum line spacing */
|
#define FC_MINSPACE "minspace" /* Bool use minimum line spacing */
|
||||||
#define FC_SOURCE "source" /* String (X11, freetype) */
|
#define FC_SOURCE "source" /* String (X11, freetype) */
|
||||||
#define FC_CHARSET "charset" /* CharSet */
|
#define FC_CHARSET "charset" /* CharSet */
|
||||||
#define FC_LANG "lang" /* String OS/2 CodePageRange */
|
#define FC_LANG "lang" /* String RFC 3066 langs */
|
||||||
|
#define FC_FONTVERSION "fontversion" /* Int from 'head' table */
|
||||||
|
|
||||||
#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
|
#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
|
||||||
#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
|
#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $XFree86: $
|
* $XFree86: xc/lib/fontconfig/src/fcdefault.c,v 1.2 2002/07/09 22:08:14 keithp Exp $
|
||||||
*
|
*
|
||||||
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
|
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -137,4 +137,8 @@ FcDefaultSubstitute (FcPattern *pattern)
|
||||||
FcPatternAddString (pattern, FC_LANG, (FcChar8 *) lang);
|
FcPatternAddString (pattern, FC_LANG, (FcChar8 *) lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (FcPatternGet (pattern, FC_FONTVERSION, 0, &v) == FcResultNoMatch)
|
||||||
|
{
|
||||||
|
FcPatternAddInteger (pattern, FC_FONTVERSION, 0x7fffffff);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $XFree86: xc/lib/fontconfig/src/fcfreetype.c,v 1.10 2002/08/22 07:36:44 keithp Exp $
|
* $XFree86: xc/lib/fontconfig/src/fcfreetype.c,v 1.11 2002/08/31 22:17:32 keithp Exp $
|
||||||
*
|
*
|
||||||
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
|
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -128,6 +128,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
FcChar8 *family;
|
FcChar8 *family;
|
||||||
FcChar8 *style;
|
FcChar8 *style;
|
||||||
TT_OS2 *os2;
|
TT_OS2 *os2;
|
||||||
|
TT_Header *head;
|
||||||
const FcChar8 *exclusiveLang = 0;
|
const FcChar8 *exclusiveLang = 0;
|
||||||
FT_SfntName sname;
|
FT_SfntName sname;
|
||||||
FT_UInt snamei, snamec;
|
FT_UInt snamei, snamec;
|
||||||
|
@ -472,6 +473,21 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
goto bail1;
|
goto bail1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Find the font revision (if available)
|
||||||
|
*/
|
||||||
|
head = (TT_Header *) FT_Get_Sfnt_Table (face, ft_sfnt_head);
|
||||||
|
if (head)
|
||||||
|
{
|
||||||
|
if (!FcPatternAddInteger (pat, FC_FONTVERSION, head->Font_Revision))
|
||||||
|
goto bail1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!FcPatternAddInteger (pat, FC_FONTVERSION, 0))
|
||||||
|
goto bail1;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the OS/2 table and poke about
|
* Get the OS/2 table and poke about
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $XFree86: xc/lib/fontconfig/src/fcmatch.c,v 1.19 2002/08/22 07:36:44 keithp Exp $
|
* $XFree86: xc/lib/fontconfig/src/fcmatch.c,v 1.20 2002/08/31 22:17:32 keithp Exp $
|
||||||
*
|
*
|
||||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -196,9 +196,12 @@ static FcMatcher _FcMatchers [] = {
|
||||||
|
|
||||||
{ FC_OUTLINE, FcCompareBool, 12, 12 },
|
{ FC_OUTLINE, FcCompareBool, 12, 12 },
|
||||||
#define MATCH_OUTLINE 11
|
#define MATCH_OUTLINE 11
|
||||||
|
|
||||||
|
{ FC_FONTVERSION, FcCompareInteger, 13, 13 },
|
||||||
|
#define MATCH_FONTVERSION 12
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_MATCH_VALUES 13
|
#define NUM_MATCH_VALUES 14
|
||||||
|
|
||||||
static FcBool
|
static FcBool
|
||||||
FcCompareValueList (const char *object,
|
FcCompareValueList (const char *object,
|
||||||
|
@ -222,7 +225,13 @@ FcCompareValueList (const char *object,
|
||||||
case 'f':
|
case 'f':
|
||||||
switch (FcToLower (object[1])) {
|
switch (FcToLower (object[1])) {
|
||||||
case 'o':
|
case 'o':
|
||||||
i = MATCH_FOUNDRY; break;
|
switch (FcToLower (object[2])) {
|
||||||
|
case 'u':
|
||||||
|
i = MATCH_FOUNDRY; break;
|
||||||
|
case 'n':
|
||||||
|
i = MATCH_FONTVERSION; break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'a':
|
case 'a':
|
||||||
i = MATCH_FAMILY; break;
|
i = MATCH_FAMILY; break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* $XFree86: xc/lib/fontconfig/src/fcname.c,v 1.13 2002/08/22 07:36:45 keithp Exp $
|
* $XFree86: xc/lib/fontconfig/src/fcname.c,v 1.14 2002/08/31 22:17:32 keithp Exp $
|
||||||
*
|
*
|
||||||
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
*
|
*
|
||||||
|
@ -60,6 +60,7 @@ static const FcObjectType _FcBaseObjectTypes[] = {
|
||||||
{ FC_MATRIX, FcTypeMatrix },
|
{ FC_MATRIX, FcTypeMatrix },
|
||||||
{ FC_CHARSET, FcTypeCharSet },
|
{ FC_CHARSET, FcTypeCharSet },
|
||||||
{ FC_LANG, FcTypeLangSet },
|
{ FC_LANG, FcTypeLangSet },
|
||||||
|
{ FC_FONTVERSION, FcTypeInteger },
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_OBJECT_TYPES (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])
|
#define NUM_OBJECT_TYPES (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])
|
||||||
|
|
Loading…
Reference in New Issue