Various GCC 4 cleanups for signed vs unsigned char
Match only [0-9]*.conf files in <include>{directory}</include> elements to avoid loading *.rpmsave or .dpkg-old files. (otaylor)
This commit is contained in:
parent
7850458d28
commit
71f94d0768
19
ChangeLog
19
ChangeLog
|
@ -1,3 +1,22 @@
|
||||||
|
2005-07-25 Keith Packard <keithp@keithp.com>
|
||||||
|
|
||||||
|
* doc/fontconfig-user.sgml:
|
||||||
|
* fc-glyphname/fc-glyphname.c: (scan), (main):
|
||||||
|
* fc-lang/fc-lang.c: (FcConfigHome):
|
||||||
|
* fc-match/fc-match.c: (main):
|
||||||
|
* src/fccfg.c: (FcConfigHome):
|
||||||
|
* src/fcfreetype.c: (FcSfntNameTranscode), (FcSfntNameLanguage),
|
||||||
|
(FcVendorMatch), (FcFreeTypeQuery), (FcFreeTypeCharSetAndSpacing),
|
||||||
|
(addtag), (FcFontCapabilities):
|
||||||
|
* src/fcpat.c: (FcValueListEntCreate):
|
||||||
|
* src/fcstr.c: (FcStrCaseWalkerInit):
|
||||||
|
* src/fcxml.c: (FcParsePatelt), (FcConfigParseAndLoadDir):
|
||||||
|
|
||||||
|
Various GCC 4 cleanups for signed vs unsigned char
|
||||||
|
|
||||||
|
Match only [0-9]*.conf files in <include>{directory}</include>
|
||||||
|
elements to avoid loading *.rpmsave or .dpkg-old files. (otaylor)
|
||||||
|
|
||||||
2005-07-15 Carl Worth <cworth@cworth.org>
|
2005-07-15 Carl Worth <cworth@cworth.org>
|
||||||
|
|
||||||
* src/fcint.h:
|
* src/fcint.h:
|
||||||
|
|
|
@ -276,8 +276,8 @@ file version number (currently 1).
|
||||||
</para></refsect2>
|
</para></refsect2>
|
||||||
<refsect2><title><sgmltag>include ignore_missing="no"</></title><para>
|
<refsect2><title><sgmltag>include ignore_missing="no"</></title><para>
|
||||||
This element contains the name of an additional configuration file or
|
This element contains the name of an additional configuration file or
|
||||||
directory. If a directory, every file within that directory starting with a
|
directory. If a directory, every file within that directory starting with an
|
||||||
number will be processed in sorted order. When
|
ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order. When
|
||||||
the XML datatype is traversed by FcConfigParse, the contents of the file(s)
|
the XML datatype is traversed by FcConfigParse, the contents of the file(s)
|
||||||
will also be incorporated into the configuration by passing the filename(s) to
|
will also be incorporated into the configuration by passing the filename(s) to
|
||||||
FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
|
FcConfigLoadAndParse. If 'ignore_missing' is set to "yes" instead of the
|
||||||
|
|
|
@ -105,7 +105,7 @@ scan (FILE *f, char *filename)
|
||||||
gn = FcAllocGlyphName ((FcChar32) ucs, (FcChar8 *) name);
|
gn = FcAllocGlyphName ((FcChar32) ucs, (FcChar8 *) name);
|
||||||
if (!gn)
|
if (!gn)
|
||||||
fatal (filename, lineno, "out of memory");
|
fatal (filename, lineno, "out of memory");
|
||||||
len = strlen ((FcChar8 *) name);
|
len = strlen (name);
|
||||||
if (len > max_name_len)
|
if (len > max_name_len)
|
||||||
max_name_len = len;
|
max_name_len = len;
|
||||||
raw[nraw++] = gn;
|
raw[nraw++] = gn;
|
||||||
|
@ -286,7 +286,7 @@ main (int argc, char **argv)
|
||||||
for (i = 0; i < nraw; i++)
|
for (i = 0; i < nraw; i++)
|
||||||
printf ("static struct { FcChar32 ucs; FcChar8 name[%d]; }"
|
printf ("static struct { FcChar32 ucs; FcChar8 name[%d]; }"
|
||||||
" glyph%d = { 0x%lx, \"%s\" };\n",
|
" glyph%d = { 0x%lx, \"%s\" };\n",
|
||||||
(int) strlen (raw[i]->name) + 1,
|
(int) strlen ((char *) raw[i]->name) + 1,
|
||||||
i, (unsigned long) raw[i]->ucs, raw[i]->name);
|
i, (unsigned long) raw[i]->ucs, raw[i]->name);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -50,7 +50,7 @@ FcMemFree (int kind, int size)
|
||||||
FcChar8 *
|
FcChar8 *
|
||||||
FcConfigHome (void)
|
FcConfigHome (void)
|
||||||
{
|
{
|
||||||
return getenv ("HOME");
|
return (FcChar8 *) getenv ("HOME");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -167,17 +167,17 @@ main (int argc, char **argv)
|
||||||
FcChar8 *file;
|
FcChar8 *file;
|
||||||
|
|
||||||
if (FcPatternGetString (fs->fonts[j], FC_FILE, 0, &file) != FcResultMatch)
|
if (FcPatternGetString (fs->fonts[j], FC_FILE, 0, &file) != FcResultMatch)
|
||||||
file = "<unknown filename>";
|
file = (FcChar8 *) "<unknown filename>";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FcChar8 *slash = strrchr (file, '/');
|
FcChar8 *slash = (FcChar8 *) strrchr ((char *) file, '/');
|
||||||
if (slash)
|
if (slash)
|
||||||
file = slash+1;
|
file = slash+1;
|
||||||
}
|
}
|
||||||
if (FcPatternGetString (fs->fonts[j], FC_FAMILY, 0, &family) != FcResultMatch)
|
if (FcPatternGetString (fs->fonts[j], FC_FAMILY, 0, &family) != FcResultMatch)
|
||||||
family = "<unknown family>";
|
family = (FcChar8 *) "<unknown family>";
|
||||||
if (FcPatternGetString (fs->fonts[j], FC_STYLE, 0, &style) != FcResultMatch)
|
if (FcPatternGetString (fs->fonts[j], FC_STYLE, 0, &style) != FcResultMatch)
|
||||||
file = "<unknown style>";
|
file = (FcChar8 *) "<unknown style>";
|
||||||
|
|
||||||
printf ("%s: \"%s\" \"%s\"\n", file, family, style);
|
printf ("%s: \"%s\" \"%s\"\n", file, family, style);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1607,7 +1607,7 @@ FcConfigHome (void)
|
||||||
home = getenv ("USERPROFILE");
|
home = getenv ("USERPROFILE");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return home;
|
return (FcChar8 *) home;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
107
src/fcfreetype.c
107
src/fcfreetype.c
|
@ -733,7 +733,7 @@ FcSfntNameTranscode (FT_SfntName *sname)
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
done:
|
done:
|
||||||
if (FcStrCmpIgnoreBlanksAndCase (utf8, "") == 0)
|
if (FcStrCmpIgnoreBlanksAndCase (utf8, (FcChar8 *) "") == 0)
|
||||||
{
|
{
|
||||||
free (utf8);
|
free (utf8);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -749,7 +749,7 @@ FcSfntNameLanguage (FT_SfntName *sname)
|
||||||
if (fcFtLanguage[i].platform_id == sname->platform_id &&
|
if (fcFtLanguage[i].platform_id == sname->platform_id &&
|
||||||
(fcFtLanguage[i].language_id == TT_LANGUAGE_DONT_CARE ||
|
(fcFtLanguage[i].language_id == TT_LANGUAGE_DONT_CARE ||
|
||||||
fcFtLanguage[i].language_id == sname->language_id))
|
fcFtLanguage[i].language_id == sname->language_id))
|
||||||
return fcFtLanguage[i].lang;
|
return (FcChar8 *) fcFtLanguage[i].lang;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -801,7 +801,7 @@ FcVendorMatch(const FT_Char vendor[4], const FT_Char *vendor_string)
|
||||||
/* vendor is not necessarily NUL-terminated. */
|
/* vendor is not necessarily NUL-terminated. */
|
||||||
int i, len;
|
int i, len;
|
||||||
|
|
||||||
len = strlen(vendor_string);
|
len = strlen((char *) vendor_string);
|
||||||
if (memcmp(vendor, vendor_string, len) != 0)
|
if (memcmp(vendor, vendor_string, len) != 0)
|
||||||
return FcFalse;
|
return FcFalse;
|
||||||
for (i = len; i < 4; i++)
|
for (i = len; i < 4; i++)
|
||||||
|
@ -895,23 +895,25 @@ FcStringContainsConst (const FcChar8 *string,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef FcChar8 *FC8;
|
||||||
|
|
||||||
static const FcStringConst weightConsts[] = {
|
static const FcStringConst weightConsts[] = {
|
||||||
{ "thin", FC_WEIGHT_THIN },
|
{ (FC8) "thin", FC_WEIGHT_THIN },
|
||||||
{ "extralight", FC_WEIGHT_EXTRALIGHT },
|
{ (FC8) "extralight", FC_WEIGHT_EXTRALIGHT },
|
||||||
{ "ultralight", FC_WEIGHT_ULTRALIGHT },
|
{ (FC8) "ultralight", FC_WEIGHT_ULTRALIGHT },
|
||||||
{ "light", FC_WEIGHT_LIGHT },
|
{ (FC8) "light", FC_WEIGHT_LIGHT },
|
||||||
{ "book", FC_WEIGHT_BOOK },
|
{ (FC8) "book", FC_WEIGHT_BOOK },
|
||||||
{ "regular", FC_WEIGHT_REGULAR },
|
{ (FC8) "regular", FC_WEIGHT_REGULAR },
|
||||||
{ "normal", FC_WEIGHT_NORMAL },
|
{ (FC8) "normal", FC_WEIGHT_NORMAL },
|
||||||
{ "medium", FC_WEIGHT_MEDIUM },
|
{ (FC8) "medium", FC_WEIGHT_MEDIUM },
|
||||||
{ "demibold", FC_WEIGHT_DEMIBOLD },
|
{ (FC8) "demibold", FC_WEIGHT_DEMIBOLD },
|
||||||
{ "demi", FC_WEIGHT_DEMIBOLD },
|
{ (FC8) "demi", FC_WEIGHT_DEMIBOLD },
|
||||||
{ "semibold", FC_WEIGHT_SEMIBOLD },
|
{ (FC8) "semibold", FC_WEIGHT_SEMIBOLD },
|
||||||
{ "bold", FC_WEIGHT_BOLD },
|
{ (FC8) "bold", FC_WEIGHT_BOLD },
|
||||||
{ "extrabold", FC_WEIGHT_EXTRABOLD },
|
{ (FC8) "extrabold", FC_WEIGHT_EXTRABOLD },
|
||||||
{ "ultrabold", FC_WEIGHT_ULTRABOLD },
|
{ (FC8) "ultrabold", FC_WEIGHT_ULTRABOLD },
|
||||||
{ "black", FC_WEIGHT_BLACK },
|
{ (FC8) "black", FC_WEIGHT_BLACK },
|
||||||
{ "heavy", FC_WEIGHT_HEAVY },
|
{ (FC8) "heavy", FC_WEIGHT_HEAVY },
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_WEIGHT_CONSTS (sizeof (weightConsts) / sizeof (weightConsts[0]))
|
#define NUM_WEIGHT_CONSTS (sizeof (weightConsts) / sizeof (weightConsts[0]))
|
||||||
|
@ -920,15 +922,15 @@ static const FcStringConst weightConsts[] = {
|
||||||
#define FcContainsWeight(s) FcStringContainsConst (s,weightConsts,NUM_WEIGHT_CONSTS)
|
#define FcContainsWeight(s) FcStringContainsConst (s,weightConsts,NUM_WEIGHT_CONSTS)
|
||||||
|
|
||||||
static const FcStringConst widthConsts[] = {
|
static const FcStringConst widthConsts[] = {
|
||||||
{ "ultracondensed", FC_WIDTH_ULTRACONDENSED },
|
{ (FC8) "ultracondensed", FC_WIDTH_ULTRACONDENSED },
|
||||||
{ "extracondensed", FC_WIDTH_EXTRACONDENSED },
|
{ (FC8) "extracondensed", FC_WIDTH_EXTRACONDENSED },
|
||||||
{ "semicondensed", FC_WIDTH_SEMICONDENSED },
|
{ (FC8) "semicondensed", FC_WIDTH_SEMICONDENSED },
|
||||||
{ "condensed", FC_WIDTH_CONDENSED }, /* must be after *condensed */
|
{ (FC8) "condensed", FC_WIDTH_CONDENSED }, /* must be after *condensed */
|
||||||
{ "normal", FC_WIDTH_NORMAL },
|
{ (FC8) "normal", FC_WIDTH_NORMAL },
|
||||||
{ "semiexpanded", FC_WIDTH_SEMIEXPANDED },
|
{ (FC8) "semiexpanded", FC_WIDTH_SEMIEXPANDED },
|
||||||
{ "extraexpanded", FC_WIDTH_EXTRAEXPANDED },
|
{ (FC8) "extraexpanded", FC_WIDTH_EXTRAEXPANDED },
|
||||||
{ "ultraexpanded", FC_WIDTH_ULTRAEXPANDED },
|
{ (FC8) "ultraexpanded", FC_WIDTH_ULTRAEXPANDED },
|
||||||
{ "expanded", FC_WIDTH_EXPANDED }, /* must be after *expanded */
|
{ (FC8) "expanded", FC_WIDTH_EXPANDED }, /* must be after *expanded */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_WIDTH_CONSTS (sizeof (widthConsts) / sizeof (widthConsts[0]))
|
#define NUM_WIDTH_CONSTS (sizeof (widthConsts) / sizeof (widthConsts[0]))
|
||||||
|
@ -937,8 +939,8 @@ static const FcStringConst widthConsts[] = {
|
||||||
#define FcContainsWidth(s) FcStringContainsConst (s,widthConsts,NUM_WIDTH_CONSTS)
|
#define FcContainsWidth(s) FcStringContainsConst (s,widthConsts,NUM_WIDTH_CONSTS)
|
||||||
|
|
||||||
static const FcStringConst slantConsts[] = {
|
static const FcStringConst slantConsts[] = {
|
||||||
{ "italic", FC_SLANT_ITALIC },
|
{ (FC8) "italic", FC_SLANT_ITALIC },
|
||||||
{ "oblique", FC_SLANT_OBLIQUE },
|
{ (FC8) "oblique", FC_SLANT_OBLIQUE },
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NUM_SLANT_CONSTS (sizeof (slantConsts) / sizeof (slantConsts[0]))
|
#define NUM_SLANT_CONSTS (sizeof (slantConsts) / sizeof (slantConsts[0]))
|
||||||
|
@ -1154,7 +1156,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
/* pad lang list with 'xx' to line up with elt */
|
/* pad lang list with 'xx' to line up with elt */
|
||||||
while (*nlangp < *np)
|
while (*nlangp < *np)
|
||||||
{
|
{
|
||||||
if (!FcPatternAddString (pat, eltlang, "xx"))
|
if (!FcPatternAddString (pat, eltlang, (FcChar8 *) "xx"))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
++*nlangp;
|
++*nlangp;
|
||||||
}
|
}
|
||||||
|
@ -1169,21 +1171,21 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nfamily && face->family_name &&
|
if (!nfamily && face->family_name &&
|
||||||
FcStrCmpIgnoreBlanksAndCase (face->family_name, "") != 0)
|
FcStrCmpIgnoreBlanksAndCase ((FcChar8 *) face->family_name, (FcChar8 *) "") != 0)
|
||||||
{
|
{
|
||||||
if (FcDebug () & FC_DBG_SCANV)
|
if (FcDebug () & FC_DBG_SCANV)
|
||||||
printf ("using FreeType family \"%s\"\n", face->family_name);
|
printf ("using FreeType family \"%s\"\n", face->family_name);
|
||||||
if (!FcPatternAddString (pat, FC_FAMILY, face->family_name))
|
if (!FcPatternAddString (pat, FC_FAMILY, (FcChar8 *) face->family_name))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
++nfamily;
|
++nfamily;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!nstyle && face->style_name &&
|
if (!nstyle && face->style_name &&
|
||||||
FcStrCmpIgnoreBlanksAndCase (face->style_name, "") != 0)
|
FcStrCmpIgnoreBlanksAndCase ((FcChar8 *) face->style_name, (FcChar8 *) "") != 0)
|
||||||
{
|
{
|
||||||
if (FcDebug () & FC_DBG_SCANV)
|
if (FcDebug () & FC_DBG_SCANV)
|
||||||
printf ("using FreeType style \"%s\"\n", face->style_name);
|
printf ("using FreeType style \"%s\"\n", face->style_name);
|
||||||
if (!FcPatternAddString (pat, FC_STYLE, face->style_name))
|
if (!FcPatternAddString (pat, FC_STYLE, (FcChar8 *) face->style_name))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
++nstyle;
|
++nstyle;
|
||||||
}
|
}
|
||||||
|
@ -1400,7 +1402,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
{
|
{
|
||||||
if (weight == -1 && psfontinfo.weight)
|
if (weight == -1 && psfontinfo.weight)
|
||||||
{
|
{
|
||||||
weight = FcIsWeight (psfontinfo.weight);
|
weight = FcIsWeight ((FcChar8 *) psfontinfo.weight);
|
||||||
if (FcDebug() & FC_DBG_SCANV)
|
if (FcDebug() & FC_DBG_SCANV)
|
||||||
printf ("\tType1 weight %s maps to %d\n",
|
printf ("\tType1 weight %s maps to %d\n",
|
||||||
psfontinfo.weight, weight);
|
psfontinfo.weight, weight);
|
||||||
|
@ -1434,7 +1436,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
BDF_PropertyRec prop;
|
BDF_PropertyRec prop;
|
||||||
rc = MY_Get_BDF_Property(face, "FOUNDRY", &prop);
|
rc = MY_Get_BDF_Property(face, "FOUNDRY", &prop);
|
||||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_ATOM)
|
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_ATOM)
|
||||||
foundry = prop.u.atom;
|
foundry = (FcChar8 *) prop.u.atom;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (width == -1)
|
if (width == -1)
|
||||||
|
@ -1465,7 +1467,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
MY_Get_BDF_Property (face, "SETWIDTH_NAME", &prop) == 0 &&
|
MY_Get_BDF_Property (face, "SETWIDTH_NAME", &prop) == 0 &&
|
||||||
prop.type == BDF_PROPERTY_TYPE_ATOM)
|
prop.type == BDF_PROPERTY_TYPE_ATOM)
|
||||||
{
|
{
|
||||||
width = FcIsWidth (prop.u.atom);
|
width = FcIsWidth ((FcChar8 *) prop.u.atom);
|
||||||
if (FcDebug () & FC_DBG_SCANV)
|
if (FcDebug () & FC_DBG_SCANV)
|
||||||
printf ("\tsetwidth %s maps to %d\n", prop.u.atom, width);
|
printf ("\tsetwidth %s maps to %d\n", prop.u.atom, width);
|
||||||
}
|
}
|
||||||
|
@ -1518,7 +1520,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
width = FC_WIDTH_NORMAL;
|
width = FC_WIDTH_NORMAL;
|
||||||
|
|
||||||
if (foundry == 0)
|
if (foundry == 0)
|
||||||
foundry = "unknown";
|
foundry = (FcChar8 *) "unknown";
|
||||||
|
|
||||||
if (!FcPatternAddInteger (pat, FC_SLANT, slant))
|
if (!FcPatternAddInteger (pat, FC_SLANT, slant))
|
||||||
goto bail1;
|
goto bail1;
|
||||||
|
@ -1629,7 +1631,7 @@ FcFreeTypeQuery (const FcChar8 *file,
|
||||||
{
|
{
|
||||||
const char *font_format = FT_Get_X11_Font_Format (face);
|
const char *font_format = FT_Get_X11_Font_Format (face);
|
||||||
if (font_format)
|
if (font_format)
|
||||||
FcPatternAddString (pat, FC_FONTFORMAT, font_format);
|
FcPatternAddString (pat, FC_FONTFORMAT, (FcChar8 *) font_format);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2452,6 +2454,16 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
glyph = FT_Get_Char_Index (face, map->ent[i].encode);
|
glyph = FT_Get_Char_Index (face, map->ent[i].encode);
|
||||||
if (glyph &&
|
if (glyph &&
|
||||||
FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance))
|
FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance))
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* ignore glyphs with zero advance. They’re
|
||||||
|
* combining characters, and while their behaviour
|
||||||
|
* isn’t well defined for monospaced applications in
|
||||||
|
* Unicode, there are many fonts which include
|
||||||
|
* zero-width combining characters in otherwise
|
||||||
|
* monospaced fonts.
|
||||||
|
*/
|
||||||
|
if (advance)
|
||||||
{
|
{
|
||||||
if (!has_advance)
|
if (!has_advance)
|
||||||
{
|
{
|
||||||
|
@ -2469,6 +2481,7 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
||||||
dual_advance = FcFalse;
|
dual_advance = FcFalse;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
leaf = FcCharSetFindLeafCreate (fcs, ucs4);
|
leaf = FcCharSetFindLeafCreate (fcs, ucs4);
|
||||||
if (!leaf)
|
if (!leaf)
|
||||||
|
@ -2510,6 +2523,8 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
glyph = FT_Get_Char_Index (face, ucs4);
|
glyph = FT_Get_Char_Index (face, ucs4);
|
||||||
if (glyph && FcFreeTypeCheckGlyph (face, ucs4,
|
if (glyph && FcFreeTypeCheckGlyph (face, ucs4,
|
||||||
glyph, blanks, &advance))
|
glyph, blanks, &advance))
|
||||||
|
{
|
||||||
|
if (advance)
|
||||||
{
|
{
|
||||||
if (!has_advance)
|
if (!has_advance)
|
||||||
{
|
{
|
||||||
|
@ -2527,6 +2542,7 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
||||||
dual_advance = FcFalse;
|
dual_advance = FcFalse;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!leaf)
|
if (!leaf)
|
||||||
{
|
{
|
||||||
|
@ -2577,6 +2593,8 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
ucs4 = FcGlyphNameToUcs4 (name_buf);
|
ucs4 = FcGlyphNameToUcs4 (name_buf);
|
||||||
if (ucs4 != 0xffff &&
|
if (ucs4 != 0xffff &&
|
||||||
FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance))
|
FcFreeTypeCheckGlyph (face, ucs4, glyph, blanks, &advance))
|
||||||
|
{
|
||||||
|
if (advance)
|
||||||
{
|
{
|
||||||
if (!has_advance)
|
if (!has_advance)
|
||||||
{
|
{
|
||||||
|
@ -2594,6 +2612,7 @@ FcFreeTypeCharSetAndSpacing (FT_Face face, FcBlanks *blanks, int *spacing)
|
||||||
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
else if (!APPROXIMATELY_EQUAL (advance, advance_two))
|
||||||
dual_advance = FcFalse;
|
dual_advance = FcFalse;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
leaf = FcCharSetFindLeafCreate (fcs, ucs4);
|
leaf = FcCharSetFindLeafCreate (fcs, ucs4);
|
||||||
if (!leaf)
|
if (!leaf)
|
||||||
goto bail1;
|
goto bail1;
|
||||||
|
@ -2689,9 +2708,9 @@ addtag(FcChar8 *complex, FT_ULong tag)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (*complex != '\0')
|
if (*complex != '\0')
|
||||||
strcat (complex, " ");
|
strcat ((char *) complex, " ");
|
||||||
strcat (complex, "otlayout:");
|
strcat ((char *) complex, "otlayout:");
|
||||||
strcat (complex, tagstring);
|
strcat ((char *) complex, (char *) tagstring);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -2820,7 +2839,7 @@ FcFontCapabilities(FT_Face face)
|
||||||
|
|
||||||
complex[0] = '\0';
|
complex[0] = '\0';
|
||||||
if (issilgraphitefont)
|
if (issilgraphitefont)
|
||||||
strcpy(complex, "ttable:Silf ");
|
strcpy((char *) complex, "ttable:Silf ");
|
||||||
|
|
||||||
while ((indx1 < gsub_count) || (indx2 < gpos_count)) {
|
while ((indx1 < gsub_count) || (indx2 < gpos_count)) {
|
||||||
if (indx1 == gsub_count) {
|
if (indx1 == gsub_count) {
|
||||||
|
|
|
@ -341,7 +341,7 @@ FcValueListEntCreate (FcValueList *h)
|
||||||
if (l->value.type == FcTypeString)
|
if (l->value.type == FcTypeString)
|
||||||
{
|
{
|
||||||
new->value.type = FcTypeString;
|
new->value.type = FcTypeString;
|
||||||
new->value.u.s = FcObjectStaticName (l->value.u.s);
|
new->value.u.s = (FcChar8 *) FcObjectStaticName ((char *) l->value.u.s);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -83,7 +83,7 @@ FcStrCaseWalkerInit (const FcChar8 *src, FcCaseWalker *w)
|
||||||
{
|
{
|
||||||
w->src = src;
|
w->src = src;
|
||||||
w->read = 0;
|
w->read = 0;
|
||||||
w->len = strlen (src);
|
w->len = strlen ((char *) src);
|
||||||
}
|
}
|
||||||
|
|
||||||
static FcChar8
|
static FcChar8
|
||||||
|
|
11
src/fcxml.c
11
src/fcxml.c
|
@ -1926,7 +1926,7 @@ FcParsePatelt (FcConfigParse *parse)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
name = FcConfigGetAttribute (parse, "name");
|
name = (char *) FcConfigGetAttribute (parse, "name");
|
||||||
if (!name)
|
if (!name)
|
||||||
{
|
{
|
||||||
FcConfigMessage (parse, FcSevereWarning, "missing pattern element name");
|
FcConfigMessage (parse, FcSevereWarning, "missing pattern element name");
|
||||||
|
@ -2264,11 +2264,16 @@ FcConfigParseAndLoadDir (FcConfig *config,
|
||||||
|
|
||||||
while (ret && (e = readdir (d)))
|
while (ret && (e = readdir (d)))
|
||||||
{
|
{
|
||||||
|
int d_len;
|
||||||
|
#define TAIL ".conf"
|
||||||
|
#define TAIL_LEN 5
|
||||||
/*
|
/*
|
||||||
* Add all files of the form [0-9]*
|
* Add all files of the form [0-9]*.conf
|
||||||
*/
|
*/
|
||||||
if ('0' <= e->d_name[0] && e->d_name[0] <= '9' &&
|
if ('0' <= e->d_name[0] && e->d_name[0] <= '9' &&
|
||||||
strlen (e->d_name) < FC_MAX_FILE_LEN)
|
(d_len = strlen (e->d_name)) < FC_MAX_FILE_LEN &&
|
||||||
|
d_len > TAIL_LEN &&
|
||||||
|
strcmp (e->d_name + d_len - TAIL_LEN, TAIL) == 0)
|
||||||
{
|
{
|
||||||
strcpy ((char *) base, (char *) e->d_name);
|
strcpy ((char *) base, (char *) e->d_name);
|
||||||
if (!FcStrSetAdd (files, file))
|
if (!FcStrSetAdd (files, file))
|
||||||
|
|
Loading…
Reference in New Issue