Module Name:    xsrc
Committed By:   mrg
Date:           Thu Jul  4 19:53:15 UTC 2024

Modified Files:
        xsrc/external/mit/fontconfig/dist/doc: FcLangSetGetLangs.3
        xsrc/external/mit/fontconfig/dist/src: fccfg.c fcdir.c fcfreetype.c
            fcint.h fcmatch.c
        xsrc/external/mit/fontconfig/include: config.h fcobjshash.h
Removed Files:
        xsrc/external/mit/fontconfig/dist: README

Log Message:
merge fontconfig 2.15.0.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.11 -r0 xsrc/external/mit/fontconfig/dist/README
cvs rdiff -u -r1.8 -r1.9 \
    xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/fontconfig/dist/src/fccfg.c
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/fontconfig/dist/src/fcdir.c
cvs rdiff -u -r1.4 -r1.5 xsrc/external/mit/fontconfig/dist/src/fcfreetype.c
cvs rdiff -u -r1.11 -r1.12 xsrc/external/mit/fontconfig/dist/src/fcint.h
cvs rdiff -u -r1.13 -r1.14 xsrc/external/mit/fontconfig/dist/src/fcmatch.c
cvs rdiff -u -r1.11 -r1.12 xsrc/external/mit/fontconfig/include/config.h
cvs rdiff -u -r1.3 -r1.4 xsrc/external/mit/fontconfig/include/fcobjshash.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3
diff -u xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3:1.8 xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3:1.9
--- xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3:1.8	Tue Jun 20 02:21:56 2023
+++ xsrc/external/mit/fontconfig/dist/doc/FcLangSetGetLangs.3	Thu Jul  4 19:53:15 2024
@@ -1,5 +1,5 @@
 .\" auto-generated by docbook2man-spec from docbook-utils package
-.TH "FcLangSetGetLangs" "3" "27 1月 2023" "Fontconfig 2.14.2" ""
+.TH "FcLangSetGetLangs" "3" "22 12月 2023" "Fontconfig 2.15.0" ""
 .SH NAME
 FcLangSetGetLangs \- get the list of languages in the langset
 .SH SYNOPSIS

Index: xsrc/external/mit/fontconfig/dist/src/fccfg.c
diff -u xsrc/external/mit/fontconfig/dist/src/fccfg.c:1.6 xsrc/external/mit/fontconfig/dist/src/fccfg.c:1.7
--- xsrc/external/mit/fontconfig/dist/src/fccfg.c:1.6	Tue Jun 20 02:21:56 2023
+++ xsrc/external/mit/fontconfig/dist/src/fccfg.c	Thu Jul  4 19:53:15 2024
@@ -147,10 +147,6 @@ FcConfigCreate (void)
     if (!config->configDirs)
 	goto bail1;
 
-    config->configMapDirs = FcStrSetCreate();
-    if (!config->configMapDirs)
-	goto bail1_5;
-
     config->configFiles = FcStrSetCreate ();
     if (!config->configFiles)
 	goto bail2;
@@ -230,8 +226,6 @@ bail4:
 bail3:
     FcStrSetDestroy (config->configFiles);
 bail2:
-    FcStrSetDestroy (config->configMapDirs);
-bail1_5:
     FcStrSetDestroy (config->configDirs);
 bail1:
     free (config);
@@ -370,7 +364,6 @@ FcConfigDestroy (FcConfig *config)
 	(void) fc_atomic_ptr_cmpexch (&_fcConfig, config, NULL);
 
 	FcStrSetDestroy (config->configDirs);
-	FcStrSetDestroy (config->configMapDirs);
 	FcStrSetDestroy (config->fontDirs);
 	FcStrSetDestroy (config->cacheDirs);
 	FcStrSetDestroy (config->configFiles);
@@ -2282,8 +2275,8 @@ FcConfigSubstituteWithPat (FcConfig    *
 	printf ("FcConfigSubstitute done");
 	FcPatternPrint (p);
     }
-bail1:
     FamilyTableClear (&data);
+bail1:
     if (elt)
 	free (elt);
     if (value)

Index: xsrc/external/mit/fontconfig/dist/src/fcdir.c
diff -u xsrc/external/mit/fontconfig/dist/src/fcdir.c:1.3 xsrc/external/mit/fontconfig/dist/src/fcdir.c:1.4
--- xsrc/external/mit/fontconfig/dist/src/fcdir.c:1.3	Thu Jan 19 06:14:18 2023
+++ xsrc/external/mit/fontconfig/dist/src/fcdir.c	Thu Jul  4 19:53:15 2024
@@ -201,7 +201,7 @@ FcDirScanConfig (FcFontSet	*set,
     DIR			*d;
     struct dirent	*e;
     FcStrSet		*files;
-    FcChar8		*file_prefix, *s_dir = NULL;
+    FcChar8		*file_prefix = NULL, *s_dir = NULL;
     FcChar8		*base;
     const FcChar8	*sysroot = FcConfigGetSysRoot (config);
     FcBool		ret = FcTrue;
@@ -213,16 +213,6 @@ FcDirScanConfig (FcFontSet	*set,
     if (!set && !dirs)
 	return FcTrue;
 
-    /* freed below */
-    file_prefix = (FcChar8 *) malloc (strlen ((char *) dir) + 1 + FC_MAX_FILE_LEN + 1);
-    if (!file_prefix) {
-	ret = FcFalse;
-	goto bail;
-    }
-    strcpy ((char *) file_prefix, (char *) dir);
-    strcat ((char *) file_prefix, FC_DIR_SEPARATOR_S);
-    base = file_prefix + strlen ((char *) file_prefix);
-
     if (sysroot)
 	s_dir = FcStrBuildFilename (sysroot, dir, NULL);
     else
@@ -232,6 +222,16 @@ FcDirScanConfig (FcFontSet	*set,
 	goto bail;
     }
 
+    /* freed below */
+    file_prefix = (FcChar8 *) malloc (strlen ((char *) s_dir) + 1 + FC_MAX_FILE_LEN + 1);
+    if (!file_prefix) {
+	ret = FcFalse;
+	goto bail;
+    }
+    strcpy ((char *) file_prefix, (char *) s_dir);
+    strcat ((char *) file_prefix, FC_DIR_SEPARATOR_S);
+    base = file_prefix + strlen ((char *) file_prefix);
+
     if (FcDebug () & FC_DBG_SCAN)
 	printf ("\tScanning dir %s\n", s_dir);
 	

Index: xsrc/external/mit/fontconfig/dist/src/fcfreetype.c
diff -u xsrc/external/mit/fontconfig/dist/src/fcfreetype.c:1.4 xsrc/external/mit/fontconfig/dist/src/fcfreetype.c:1.5
--- xsrc/external/mit/fontconfig/dist/src/fcfreetype.c:1.4	Thu Jan 19 06:14:18 2023
+++ xsrc/external/mit/fontconfig/dist/src/fcfreetype.c	Thu Jul  4 19:53:15 2024
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <fcntl.h>
 #include <ft2build.h>
 #include FT_FREETYPE_H
 #include FT_ADVANCES_H
@@ -92,7 +93,7 @@ static const FcFtEncoding   fcFtEncoding
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_SYMBOL_CS,	"UTF-16BE" },
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_UNICODE_CS,	"UTF-16BE" },
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_SJIS,		"SJIS-WIN" },
- {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_GB2312,	"GB2312" },
+ {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_PRC,		"GB18030" },
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_BIG_5,		"BIG-5" },
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_WANSUNG,	"Wansung" },
  {  TT_PLATFORM_MICROSOFT,	TT_MS_ID_JOHAB,		"Johab" },
@@ -698,6 +699,7 @@ FcSfntNameTranscode (FT_SfntName *sname)
     iconv_t cd;
 #endif
     FcChar8 *utf8;
+    FcBool redecoded = FcFalse;
 
     for (i = 0; i < NUM_FC_FT_ENCODING; i++)
 	if (fcFtEncoding[i].platform_id == sname->platform_id &&
@@ -708,6 +710,7 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	return 0;
     fromcode = fcFtEncoding[i].fromcode;
 
+retry:
     /*
      * Many names encoded for TT_PLATFORM_MACINTOSH are broken
      * in various ways. Kludge around them.
@@ -719,6 +722,10 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	{
 	    fromcode = "SJIS";
 	}
+	else if (sname->language_id == TT_MAC_LANGID_JAPANESE)
+	{
+	    fromcode = "SJIS";
+	}
 	else if (sname->language_id >= 0x100)
 	{
 	    /*
@@ -748,7 +755,7 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	int	    ilen, olen;
 	FcChar8	    *u8;
 	FcChar32    ucs4;
-	
+
 	/*
 	 * Convert Utf16 to Utf8
 	 */
@@ -782,7 +789,7 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	int	    olen;
 	FcChar8	    *u8;
 	FcChar32    ucs4;
-	
+
 	/*
 	 * Convert Latin1 to Utf8. Freed below
 	 */
@@ -837,17 +844,17 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	size_t	    in_bytes_left = sname->string_len;
 	size_t	    out_bytes_left = sname->string_len * FC_UTF8_MAX_LEN;
 	char	    *inbuf, *outbuf;
-	
+
 	utf8 = malloc (out_bytes_left + 1);
 	if (!utf8)
 	{
 	    iconv_close (cd);
 	    return 0;
 	}
-	
+
 	outbuf = (char *) utf8;
 	inbuf = (char *) sname->string;
-	
+
 	while (in_bytes_left)
 	{
 	    size_t	did = iconv (cd,
@@ -857,6 +864,13 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	    {
 		iconv_close (cd);
 		free (utf8);
+		if (!redecoded)
+		{
+		    /* Regard the encoding as UTF-16BE and try again. */
+		    redecoded = FcTrue;
+		    fromcode = "UTF-16BE";
+		    goto retry;
+		}
 		return 0;
 	    }
 	}
@@ -864,6 +878,14 @@ FcSfntNameTranscode (FT_SfntName *sname)
 	*outbuf = '\0';
 	goto done;
     }
+#else
+    if (!redecoded)
+    {
+	/* Regard the encoding as UTF-16BE and try again. */
+	redecoded = FcTrue;
+	fromcode = "UTF-16BE";
+	goto retry;
+    }
 #endif
     return 0;
 done:
@@ -1204,7 +1226,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
     int		    spacing;
 
     /* Support for glyph-variation named-instances. */
-    FT_MM_Var       *master = NULL;
+    FT_MM_Var       *mmvar = NULL;
     FT_Var_Named_Style *instance = NULL;
     double          weight_mult = 1.0;
     double          width_mult = 1.0;
@@ -1258,7 +1280,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 	    goto bail1;
     }
 
-    ftresult = FT_Get_MM_Var (face, &master);
+    ftresult = FT_Get_MM_Var (face, &mmvar);
 
     if (id >> 16)
     {
@@ -1269,17 +1291,17 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
       {
 	  /* Query variable font itself. */
 	  unsigned int i;
-	  for (i = 0; i < master->num_axis; i++)
+	  for (i = 0; i < mmvar->num_axis; i++)
 	  {
-	      double min_value = master->axis[i].minimum / (double) (1U << 16);
-	      double def_value = master->axis[i].def / (double) (1U << 16);
-	      double max_value = master->axis[i].maximum / (double) (1U << 16);
+	      double min_value = mmvar->axis[i].minimum / (double) (1U << 16);
+	      double def_value = mmvar->axis[i].def / (double) (1U << 16);
+	      double max_value = mmvar->axis[i].maximum / (double) (1U << 16);
 	      FcObject obj = FC_INVALID_OBJECT;
 
 	      if (min_value > def_value || def_value > max_value || min_value == max_value)
 		  continue;
 
-	      switch (master->axis[i].tag)
+	      switch (mmvar->axis[i].tag)
 	      {
 		case FT_MAKE_TAG ('w','g','h','t'):
 		  obj = FC_WEIGHT_OBJECT;
@@ -1321,20 +1343,20 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 
 	  id &= 0xFFFF;
       }
-      else if ((id >> 16) - 1 < master->num_namedstyles)
+      else if ((id >> 16) - 1 < mmvar->num_namedstyles)
       {
 	  /* Pull out weight and width from named-instance. */
 	  unsigned int i;
 
-	  instance = &master->namedstyle[(id >> 16) - 1];
+	  instance = &mmvar->namedstyle[(id >> 16) - 1];
 
-	  for (i = 0; i < master->num_axis; i++)
+	  for (i = 0; i < mmvar->num_axis; i++)
 	  {
 	      double value = instance->coords[i] / (double) (1U << 16);
-	      double default_value = master->axis[i].def / (double) (1U << 16);
+	      double default_value = mmvar->axis[i].def / (double) (1U << 16);
 	      double mult = default_value ? value / default_value : 1;
-	      //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
-	      switch (master->axis[i].tag)
+	      //printf ("named-instance, axis %d tag %lx value %g\n", i, mmvar->axis[i].tag, value);
+	      switch (mmvar->axis[i].tag)
 	      {
 		case FT_MAKE_TAG ('w','g','h','t'):
 		  weight_mult = mult;
@@ -1359,12 +1381,12 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 	if (!ftresult)
 	{
 	    unsigned int i;
-	    for (i = 0; i < master->num_axis; i++)
+	    for (i = 0; i < mmvar->num_axis; i++)
 	    {
-		switch (master->axis[i].tag)
+		switch (mmvar->axis[i].tag)
 		{
 		case FT_MAKE_TAG ('o','p','s','z'):
-		    if (!FcPatternObjectAddDouble (pat, FC_SIZE_OBJECT, master->axis[i].def / (double) (1U << 16)))
+		    if (!FcPatternObjectAddDouble (pat, FC_SIZE_OBJECT, mmvar->axis[i].def / (double) (1U << 16)))
 			goto bail1;
 		    variable_size = FcTrue;
 		    break;
@@ -1490,7 +1512,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 		case TT_NAME_ID_WWS_FAMILY:
 		case TT_NAME_ID_TYPOGRAPHIC_FAMILY:
 		case TT_NAME_ID_FONT_FAMILY:
-#if 0	
+#if 0
 		case TT_NAME_ID_UNIQUE_ID:
 #endif
 		    if (FcDebug () & FC_DBG_SCANV)
@@ -1650,7 +1672,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
     {
 	FcChar8	*start, *end;
 	FcChar8	*family;
-	
+
 	start = (FcChar8 *) strrchr ((char *) file, '/');
 	if (start)
 	    start++;
@@ -1719,7 +1741,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 	    goto bail1;
 	len = strlen ((const char *) style);
 	for (i = 0; style[i] != 0 && isspace (style[i]); i++);
-	memcpy (style, &style[i], len - i);
+	memmove (style, &style[i], len - i);
 	FcStrBufInit (&sbuf, NULL, 0);
 	FcStrBufString (&sbuf, family);
 	FcStrBufChar (&sbuf, ' ');
@@ -1971,7 +1993,7 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 	     prop.type == BDF_PROPERTY_TYPE_CARDINAL))
 	{
 	    FT_Int32	value;
-	
+
 	    if (prop.type == BDF_PROPERTY_TYPE_INTEGER)
 		value = prop.u.integer;
 	    else
@@ -2163,6 +2185,9 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
 	if (!FcPatternObjectAddBool (pat, FC_ANTIALIAS_OBJECT, FcFalse))
 	    goto bail2;
     }
+
+    FcChar8* wrapper = NULL;
+
 #if HAVE_FT_GET_X11_FONT_FORMAT
     /*
      * Use the (not well documented or supported) X-specific function
@@ -2171,11 +2196,45 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
     {
 	const char *font_format = FT_Get_X11_Font_Format (face);
 	if (font_format)
+	{
 	    if (!FcPatternObjectAddString (pat, FC_FONTFORMAT_OBJECT, (FcChar8 *) font_format))
 		goto bail2;
+
+	    /* If this is not a SFNT font and format is CFF, then it is a standlone CFF font */
+	    if (!FT_IS_SFNT (face) && !strcmp (font_format, "CFF"))
+		wrapper = (FcChar8*) "CFF";
+	}
     }
 #endif
 
+    if (!FcPatternObjectAddBool (pat, FC_NAMED_INSTANCE_OBJECT, !!(id > 0xffff)))
+	    goto bail2;
+
+    if (FT_IS_SFNT (face))
+    {
+	/* If this is an SFNT wrapper, try to sniff the SFNT tag which is the
+	 * first 4 bytes, to see if it is a WOFF or WOFF2 wrapper. */
+	wrapper = (FcChar8*) "SFNT";
+
+	char buf[4];
+	int fd = FcOpen ((char *) file, O_RDONLY);
+	if (fd != -1 && read (fd, buf, 4))
+	{
+	    if (buf[0] == 'w' && buf[1] == 'O' && buf[2] == 'F')
+	    {
+		if (buf[3] == 'F')
+		    wrapper = (FcChar8*) "WOFF";
+		else if (buf[3] == '2')
+		    wrapper = (FcChar8*) "WOFF2";
+	    }
+	}
+	close (fd);
+    }
+
+    if (wrapper)
+	if (!FcPatternObjectAddString (pat, FC_FONT_WRAPPER_OBJECT, wrapper))
+	    goto bail2;
+
     /*
      * Drop our reference to the charset
      */
@@ -2183,13 +2242,13 @@ FcFreeTypeQueryFaceInternal (const FT_Fa
     if (foundry_)
 	free (foundry_);
 
-    if (master)
+    if (mmvar)
     {
 #ifdef HAVE_FT_DONE_MM_VAR
 	if (face->glyph)
-	    FT_Done_MM_Var (face->glyph->library, master);
+	    FT_Done_MM_Var (face->glyph->library, mmvar);
 #else
-	free (master);
+	free (mmvar);
 #endif
     }
 
@@ -2199,13 +2258,13 @@ bail2:
     FcCharSetDestroy (cs);
 bail1:
     FcPatternDestroy (pat);
-    if (master)
+    if (mmvar)
     {
 #ifdef HAVE_FT_DONE_MM_VAR
 	if (face->glyph)
-	    FT_Done_MM_Var (face->glyph->library, master);
+	    FT_Done_MM_Var (face->glyph->library, mmvar);
 #else
-	free (master);
+	free (mmvar);
 #endif
     }
     if (!nm_share && name_mapping)
@@ -2350,12 +2409,26 @@ skip:
 	    cs = NULL;
 	    FT_Done_Face (face);
 	    face = NULL;
+#ifdef HAVE_FT_DONE_MM_VAR
+	    FT_Done_MM_Var (ftLibrary, mm_var);
+#else
+	    free (mm_var);
+#endif
+	    mm_var = NULL;
 
 	    face_num++;
 	    instance_num = set_instance_num;
 
 	    if (FT_New_Face (ftLibrary, (const char *) file, face_num, &face))
 	      break;
+
+	    num_instances = face->style_flags >> 16;
+	    if (num_instances && (!index_set || instance_num))
+	    {
+		FT_Get_MM_Var (face, &mm_var);
+		if (!mm_var)
+		    num_instances = 0;
+	    }
 	}
     } while (!err && (!index_set || face_num == set_face_num) && face_num < num_faces);
 
@@ -2643,7 +2716,7 @@ FcFreeTypeCharSetAndSpacing (FT_Face fac
 #define FcIsSpace(x)	    (040 == (x))
 #define FcIsDigit(c)	    (('0' <= (c) && (c) <= '9'))
 #define FcIsValidScript(x)  (FcIsLower(x) || FcIsUpper (x) || FcIsDigit(x) || FcIsSpace(x))
-			
+
 static void
 addtag(FcChar8 *complex_, FT_ULong tag)
 {
@@ -2762,9 +2835,9 @@ GetScriptTags(FT_Face face, FT_ULong tab
 	goto Fail;
 
     /* sort the tag list before returning it */
-    qsort(*stags, script_count, sizeof(FT_ULong), compareulong);
+    qsort(*stags, p, sizeof(FT_ULong), compareulong);
 
-    return script_count;
+    return p;
 
 Fail:
     free(*stags);

Index: xsrc/external/mit/fontconfig/dist/src/fcint.h
diff -u xsrc/external/mit/fontconfig/dist/src/fcint.h:1.11 xsrc/external/mit/fontconfig/dist/src/fcint.h:1.12
--- xsrc/external/mit/fontconfig/dist/src/fcint.h:1.11	Tue Jun 20 02:21:56 2023
+++ xsrc/external/mit/fontconfig/dist/src/fcint.h	Thu Jul  4 19:53:15 2024
@@ -408,8 +408,8 @@ typedef struct _FcStrBuf {
 
 typedef struct _FcHashTable	FcHashTable;
 
-typedef FcChar32 (* FcHashFunc)	   (const void *data);
-typedef int	 (* FcCompareFunc) (const void *v1, const void *v2);
+typedef FcChar32 (* FcHashFunc)	   (const FcChar8 *data);
+typedef int	 (* FcCompareFunc) (const FcChar8 *v1, const FcChar8 *v2);
 typedef FcBool	 (* FcCopyFunc)	   (const void *src, void **dest);
 
 
@@ -524,7 +524,6 @@ struct _FcConfig {
      * and those directives may occur in any order
      */
     FcStrSet	*configDirs;	    /* directories to scan for fonts */
-    FcStrSet	*configMapDirs;	    /* mapped names to generate cache entries */
     /*
      * List of directories containing fonts,
      * built by recursively scanning the set

Index: xsrc/external/mit/fontconfig/dist/src/fcmatch.c
diff -u xsrc/external/mit/fontconfig/dist/src/fcmatch.c:1.13 xsrc/external/mit/fontconfig/dist/src/fcmatch.c:1.14
--- xsrc/external/mit/fontconfig/dist/src/fcmatch.c:1.13	Sun Jan 22 20:47:13 2023
+++ xsrc/external/mit/fontconfig/dist/src/fcmatch.c	Thu Jul  4 19:53:15 2024
@@ -330,8 +330,10 @@ typedef enum _FcMatcherPriorityDummy {
 
 typedef enum _FcMatcherPriority {
     PRI1(FILE),
+    PRI1(FONT_WRAPPER),
     PRI1(FONTFORMAT),
     PRI1(VARIABLE),
+    PRI1(NAMED_INSTANCE),
     PRI1(SCALABLE),
     PRI1(COLOR),
     PRI1(FOUNDRY),
@@ -1257,7 +1259,7 @@ FcFontSetSort (FcConfig	    *config FC_U
 	 FcPatternGet (p, FC_LANG, nPatternLang, &patternLang) == FcResultMatch;
 	 nPatternLang++)
 	;
-	
+
     /* freed below */
     nodes = malloc (nnodes * sizeof (FcSortNode) +
 		    nnodes * sizeof (FcSortNode *) +
@@ -1323,7 +1325,7 @@ FcFontSetSort (FcConfig	    *config FC_U
 	    for (i = 0; i < nPatternLang; i++)
 	    {
 		FcValue	    nodeLang;
-		
+
 		if (!patternLangSat[i] &&
 		    FcPatternGet (p, FC_LANG, i, &patternLang) == FcResultMatch &&
 		    FcPatternGet (nodeps[f]->pattern, FC_LANG, 0, &nodeLang) == FcResultMatch)

Index: xsrc/external/mit/fontconfig/include/config.h
diff -u xsrc/external/mit/fontconfig/include/config.h:1.11 xsrc/external/mit/fontconfig/include/config.h:1.12
--- xsrc/external/mit/fontconfig/include/config.h:1.11	Sat Jan 21 02:10:38 2023
+++ xsrc/external/mit/fontconfig/include/config.h	Thu Jul  4 19:53:15 2024
@@ -15,16 +15,16 @@
 
 /* Define to 1 if translation of program messages to the user's native
    language is requested. */
-/* #undef ENABLE_NLS */
+#define ENABLE_NLS 1
 
 /* Additional font directories */
-#define FC_ADD_FONTS "/usr/pkg/lib/X11/fonts,/usr/pkg/share/fonts"
+#define FC_ADD_FONTS "/usr/X11R7/lib/X11/fonts,/usr/pkg/share/fonts/urw,/usr/pkg/share/ghostscript/fonts,/usr/pkg/share/fonts/X11"
 
 /* Architecture prefix to use for cache file names */
 /* #undef FC_ARCHITECTURE */
 
 /* System font directory */
-#define FC_DEFAULT_FONTS "<dir>/usr/X11R7/lib/X11/fonts</dir>"
+#define FC_DEFAULT_FONTS "<dir>/usr/pkg/share/fonts/X11</dir>"
 
 /* The type of len parameter of the gperf hash/lookup function */
 #define FC_GPERF_SIZE_T size_t
@@ -51,7 +51,7 @@
 
 /* Define if the GNU dcgettext() function is already present or preinstalled.
    */
-/* #undef HAVE_DCGETTEXT */
+#define HAVE_DCGETTEXT 1
 
 /* Define to 1 if you have the <dirent.h> header file. */
 #define HAVE_DIRENT_H 1
@@ -102,7 +102,7 @@
 #define HAVE_GETPROGNAME 1
 
 /* Define if the GNU gettext() function is already present or preinstalled. */
-/* #undef HAVE_GETTEXT */
+#define HAVE_GETTEXT 1
 
 /* Define if you have the iconv() function and it works. */
 #define HAVE_ICONV 1
@@ -144,10 +144,10 @@
 #define HAVE_POSIX_FADVISE 1
 
 /* Have POSIX threads */
-/* #undef HAVE_PTHREAD */
+#define HAVE_PTHREAD 1
 
 /* Have PTHREAD_PRIO_INHERIT. */
-/* #undef HAVE_PTHREAD_PRIO_INHERIT */
+#define HAVE_PTHREAD_PRIO_INHERIT 1
 
 /* Define to 1 if you have the `rand' function. */
 #define HAVE_RAND 1
@@ -173,7 +173,7 @@
 /* Have Solaris __machine_*_barrier and atomic_* operations */
 /* #undef HAVE_SOLARIS_ATOMIC_OPS */
 
-/* Have Intel __sync_* atomic primitives */
+/* Have C99 stdatomic atomic primitives */
 #define HAVE_STDATOMIC_PRIMITIVES 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
@@ -278,7 +278,7 @@
 #define PACKAGE_NAME "fontconfig"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "fontconfig 2.14.1"
+#define PACKAGE_STRING "fontconfig 2.15.0"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "fontconfig"
@@ -287,7 +287,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.14.1"
+#define PACKAGE_VERSION "2.15.0"
 
 /* Define to necessary symbol if this constant uses a non-standard name on
    your system. */
@@ -408,7 +408,7 @@
 
 
 /* Version number of package */
-#define VERSION "2.14.1"
+#define VERSION "2.15.0"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */

Index: xsrc/external/mit/fontconfig/include/fcobjshash.h
diff -u xsrc/external/mit/fontconfig/include/fcobjshash.h:1.3 xsrc/external/mit/fontconfig/include/fcobjshash.h:1.4
--- xsrc/external/mit/fontconfig/include/fcobjshash.h:1.3	Tue Jun 20 02:21:56 2023
+++ xsrc/external/mit/fontconfig/include/fcobjshash.h	Thu Jul  4 19:53:15 2024
@@ -37,7 +37,7 @@ int name;
 int id;
 };
 #include <string.h>
-/* maximum key range = 55, duplicates = 0 */
+/* maximum key range = 57, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -51,32 +51,32 @@ FcObjectTypeHash (register const char *s
 {
   static const unsigned char asso_values[] =
     {
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61,  2, 19, 30,
-      14, 31, 34, 51, 13,  7, 61, 61, 18,  5,
-      10, 40, 17, 61, 18,  2,  6, 38, 28, 46,
-      23,  8,  3, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
-      61, 61, 61, 61, 61, 61
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63,  2, 19, 10,
+      21, 36, 37, 20, 13,  7, 63, 63, 18,  4,
+      10, 46, 17, 63, 21,  2,  6, 32, 34, 41,
+      24,  8,  3, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
+      63, 63, 63, 63, 63, 63
     };
   register unsigned int hval = len;
 
@@ -115,39 +115,41 @@ struct FcObjectTypeNamePool_t
     char FcObjectTypeNamePool_str25[sizeof("charheight")];
     char FcObjectTypeNamePool_str26[sizeof("weight")];
     char FcObjectTypeNamePool_str27[sizeof("autohint")];
-    char FcObjectTypeNamePool_str28[sizeof("variable")];
-    char FcObjectTypeNamePool_str29[sizeof("family")];
-    char FcObjectTypeNamePool_str30[sizeof("lcdfilter")];
-    char FcObjectTypeNamePool_str31[sizeof("namelang")];
-    char FcObjectTypeNamePool_str32[sizeof("width")];
-    char FcObjectTypeNamePool_str33[sizeof("familylang")];
+    char FcObjectTypeNamePool_str28[sizeof("family")];
+    char FcObjectTypeNamePool_str29[sizeof("prgname")];
+    char FcObjectTypeNamePool_str30[sizeof("namelang")];
+    char FcObjectTypeNamePool_str31[sizeof("variable")];
+    char FcObjectTypeNamePool_str32[sizeof("familylang")];
+    char FcObjectTypeNamePool_str33[sizeof("aspect")];
     char FcObjectTypeNamePool_str34[sizeof("fonthashint")];
     char FcObjectTypeNamePool_str35[sizeof("minspace")];
     char FcObjectTypeNamePool_str36[sizeof("fullname")];
-    char FcObjectTypeNamePool_str37[sizeof("order")];
-    char FcObjectTypeNamePool_str38[sizeof("scale")];
-    char FcObjectTypeNamePool_str39[sizeof("verticallayout")];
+    char FcObjectTypeNamePool_str37[sizeof("lcdfilter")];
+    char FcObjectTypeNamePool_str38[sizeof("namedinstance")];
+    char FcObjectTypeNamePool_str39[sizeof("width")];
     char FcObjectTypeNamePool_str40[sizeof("fullnamelang")];
-    char FcObjectTypeNamePool_str41[sizeof("color")];
-    char FcObjectTypeNamePool_str42[sizeof("index")];
-    char FcObjectTypeNamePool_str43[sizeof("rasterizer")];
-    char FcObjectTypeNamePool_str44[sizeof("style")];
+    char FcObjectTypeNamePool_str41[sizeof("decorative")];
+    char FcObjectTypeNamePool_str42[sizeof("verticallayout")];
+    char FcObjectTypeNamePool_str43[sizeof("scale")];
+    char FcObjectTypeNamePool_str44[sizeof("color")];
     char FcObjectTypeNamePool_str45[sizeof("embolden")];
     char FcObjectTypeNamePool_str46[sizeof("capability")];
-    char FcObjectTypeNamePool_str47[sizeof("embeddedbitmap")];
-    char FcObjectTypeNamePool_str48[sizeof("stylelang")];
-    char FcObjectTypeNamePool_str49[sizeof("fontversion")];
-    char FcObjectTypeNamePool_str50[sizeof("pixelsize")];
-    char FcObjectTypeNamePool_str51[sizeof("symbol")];
-    char FcObjectTypeNamePool_str52[sizeof("fontvariations")];
-    char FcObjectTypeNamePool_str53[sizeof("aspect")];
-    char FcObjectTypeNamePool_str54[sizeof("fontformat")];
-    char FcObjectTypeNamePool_str55[sizeof("globaladvance")];
-    char FcObjectTypeNamePool_str56[sizeof("fontfeatures")];
-    char FcObjectTypeNamePool_str57[sizeof("charwidth")];
-    char FcObjectTypeNamePool_str58[sizeof("decorative")];
-    char FcObjectTypeNamePool_str59[sizeof("foundry")];
-    char FcObjectTypeNamePool_str60[sizeof("prgname")];
+    char FcObjectTypeNamePool_str47[sizeof("order")];
+    char FcObjectTypeNamePool_str48[sizeof("rasterizer")];
+    char FcObjectTypeNamePool_str49[sizeof("style")];
+    char FcObjectTypeNamePool_str50[sizeof("index")];
+    char FcObjectTypeNamePool_str51[sizeof("pixelsize")];
+    char FcObjectTypeNamePool_str52[sizeof("charwidth")];
+    char FcObjectTypeNamePool_str53[sizeof("stylelang")];
+    char FcObjectTypeNamePool_str54[sizeof("embeddedbitmap")];
+    char FcObjectTypeNamePool_str55[sizeof("fontversion")];
+    char FcObjectTypeNamePool_str56[sizeof("symbol")];
+    char FcObjectTypeNamePool_str57[sizeof("fontformat")];
+    char FcObjectTypeNamePool_str58[sizeof("fontvariations")];
+    char FcObjectTypeNamePool_str59[sizeof("fontfeatures")];
+    char FcObjectTypeNamePool_str60[sizeof("foundry")];
+    char FcObjectTypeNamePool_str61[sizeof("globaladvance")];
+    char FcObjectTypeNamePool_str62[sizeof("fontwrapper")];
   };
 static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
   {
@@ -171,39 +173,41 @@ static const struct FcObjectTypeNamePool
     "charheight",
     "weight",
     "autohint",
-    "variable",
     "family",
-    "lcdfilter",
+    "prgname",
     "namelang",
-    "width",
+    "variable",
     "familylang",
+    "aspect",
     "fonthashint",
     "minspace",
     "fullname",
-    "order",
-    "scale",
-    "verticallayout",
+    "lcdfilter",
+    "namedinstance",
+    "width",
     "fullnamelang",
+    "decorative",
+    "verticallayout",
+    "scale",
     "color",
-    "index",
-    "rasterizer",
-    "style",
     "embolden",
     "capability",
-    "embeddedbitmap",
+    "order",
+    "rasterizer",
+    "style",
+    "index",
+    "pixelsize",
+    "charwidth",
     "stylelang",
+    "embeddedbitmap",
     "fontversion",
-    "pixelsize",
     "symbol",
-    "fontvariations",
-    "aspect",
     "fontformat",
-    "globaladvance",
+    "fontvariations",
     "fontfeatures",
-    "charwidth",
-    "decorative",
     "foundry",
-    "prgname"
+    "globaladvance",
+    "fontwrapper"
   };
 #define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents)
 const struct FcObjectTypeInfo *
@@ -211,11 +215,11 @@ FcObjectTypeLookup (register const char 
 {
   enum
     {
-      TOTAL_KEYWORDS = 53,
+      TOTAL_KEYWORDS = 55,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 14,
       MIN_HASH_VALUE = 6,
-      MAX_HASH_VALUE = 60
+      MAX_HASH_VALUE = 62
     };
 
   static const struct FcObjectTypeInfo wordlist[] =
@@ -262,72 +266,76 @@ FcObjectTypeLookup (register const char 
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_WEIGHT_OBJECT},
 #line 36 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_AUTOHINT_OBJECT},
-#line 67 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_VARIABLE_OBJECT},
 #line 18 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_FAMILY_OBJECT},
-#line 58 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_LCD_FILTER_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_FAMILY_OBJECT},
+#line 61 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_PRGNAME_OBJECT},
 #line 59 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_NAMELANG_OBJECT},
-#line 26 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_WIDTH_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_NAMELANG_OBJECT},
+#line 67 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_VARIABLE_OBJECT},
 #line 19 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_FAMILYLANG_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_FAMILYLANG_OBJECT},
+#line 28 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_ASPECT_OBJECT},
 #line 68 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_FONT_HAS_HINT_OBJECT},
 #line 46 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_MINSPACE_OBJECT},
 #line 22 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_FULLNAME_OBJECT},
-#line 69 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_ORDER_OBJECT},
-#line 45 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_SCALE_OBJECT},
-#line 35 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_VERTICAL_LAYOUT_OBJECT},
+#line 58 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_LCD_FILTER_OBJECT},
+#line 71 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_NAMED_INSTANCE_OBJECT},
+#line 26 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_WIDTH_OBJECT},
 #line 23 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_FULLNAMELANG_OBJECT},
+#line 57 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_DECORATIVE_OBJECT},
+#line 35 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_VERTICAL_LAYOUT_OBJECT},
+#line 45 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_SCALE_OBJECT},
 #line 64 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_COLOR_OBJECT},
-#line 39 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_INDEX_OBJECT},
-#line 40 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_RASTERIZER_OBJECT},
-#line 20 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_COLOR_OBJECT},
 #line 55 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_EMBOLDEN_OBJECT},
 #line 53 "fcobjshash.gperf"
       {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CAPABILITY_OBJECT},
-#line 56 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_EMBEDDED_BITMAP_OBJECT},
+#line 69 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_ORDER_OBJECT},
+#line 40 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_RASTERIZER_OBJECT},
+#line 20 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_STYLE_OBJECT},
+#line 39 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_INDEX_OBJECT},
+#line 29 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_PIXEL_SIZE_OBJECT},
+#line 47 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_CHARWIDTH_OBJECT},
 #line 21 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_STYLELANG_OBJECT},
+#line 56 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str54,FC_EMBEDDED_BITMAP_OBJECT},
 #line 52 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_FONTVERSION_OBJECT},
-#line 29 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str50,FC_PIXEL_SIZE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_FONTVERSION_OBJECT},
 #line 65 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str51,FC_SYMBOL_OBJECT},
-#line 66 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str52,FC_FONT_VARIATIONS_OBJECT},
-#line 28 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str53,FC_ASPECT_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str56,FC_SYMBOL_OBJECT},
 #line 54 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str54,FC_FONTFORMAT_OBJECT},
-#line 37 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_GLOBAL_ADVANCE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str57,FC_FONTFORMAT_OBJECT},
+#line 66 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str58,FC_FONT_VARIATIONS_OBJECT},
 #line 60 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str56,FC_FONT_FEATURES_OBJECT},
-#line 47 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str57,FC_CHARWIDTH_OBJECT},
-#line 57 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str58,FC_DECORATIVE_OBJECT},
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_FONT_FEATURES_OBJECT},
 #line 31 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str59,FC_FOUNDRY_OBJECT},
-#line 61 "fcobjshash.gperf"
-      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str60,FC_PRGNAME_OBJECT}
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str60,FC_FOUNDRY_OBJECT},
+#line 37 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str61,FC_GLOBAL_ADVANCE_OBJECT},
+#line 72 "fcobjshash.gperf"
+      {(int)(size_t)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str62,FC_FONT_WRAPPER_OBJECT}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)

Reply via email to