USE_SAFE_ALLOCA;
tmp = SAFE_ALLOCA (end - str);
for (i = 0; i < end - str; ++i)
- tmp[i] = ((end[i] != '?'
- && end[i] != '*'
- && end[i] != '"'
- && end[i] != '-')
- ? end[i] : ' ');
+ tmp[i] = ((str[i] != '?'
+ && str[i] != '*'
+ && str[i] != '"'
+ && str[i] != '-')
+ ? str[i] : ' ');
adstyle = font_intern_prop (tmp, end - str, 1);
SAFE_FREE ();
if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
struct sfnt_cmap_encoding_subtable subtable;
int instance, num_instance;
Lisp_Object item;
+ bool matching;
/* cmap and subtable are caches for sfntfont_lookup_char. */
/* The vector contains characters, of which one must be
present in the font. */
+ matching = false;
for (i = 0; i < ASIZE (tem); ++i)
{
if (FIXNUMP (AREF (tem, i)))
{
- if (!sfntfont_lookup_char (desc, AREF (tem, i),
- &cmap, &subtable))
- goto fail;
-
- /* One character is enough to pass a font. Don't
- look at too many. */
- break;
+ if (sfntfont_lookup_char (desc, AREF (tem, i),
+ &cmap, &subtable))
+ {
+ matching = true;
+ break;
+ }
}
}
+ if (!matching)
+ goto fail;
}
else if (CONSP (tem) && CONSP (XCDR (tem)))
{