{ "ASCII", CS_US_ASCII },
{ "USASCII", CS_US_ASCII },
{ "ANSIX341968", CS_US_ASCII },
- { "ISO646.1991-IRV", CS_US_ASCII }, // older versions used the currency sign
+ { "ISO6461991IRV", CS_US_ASCII }, // older versions used the currency sign
{ "KOI8R*", CS_KOI8_R },
{ "GOST1976874*", CS_KOI8_R },
char *registry = get_property (f, term->xa [XA_CHARSET_REGISTRY], 0);
char *encoding = get_property (f, term->xa [XA_CHARSET_ENCODING], 0);
+ cs = CS_UNKNOWN;
+
if (registry && encoding)
{
char charset[64];
snprintf (charset, 64, "%s-%s", registry, encoding);
cs = codeset_from_name (charset);
+
+ if (cs == CS_UNKNOWN)
+ rxvt_warn ("%s: cannot deduce encoding from registry/encoding properties \"%s\", ignoring font.\n", name, charset);
}
- else
+
+ free (registry);
+ free (encoding);
+
+ if (cs == CS_UNKNOWN)
{
const char *charset = get_property (f, XA_FONT, 0);
break;
cs = codeset_from_name (charset);
+ if (cs == CS_UNKNOWN)
+ rxvt_warn ("%s: cannot deduce encoding from font name property \"%s\", ignoring font.\n", name, charset);
}
- free (registry);
- free (encoding);
+ if (cs == CS_UNKNOWN)
+ {
+ clear ();
+ return false;
+ }
if (cs == CS_UNICODE)
cs = CS_UNICODE_16; // X11 can have a max. of 65536 chars per font
if (width < g.width) width = g.width;
}
- if (cs == CS_UNKNOWN)
- {
- fprintf (stderr, "unable to deduce codeset, ignoring font '%s'\n", name);
-
- clear ();
- return false;
- }
-
#if 0 // do it per-character
if (prop && width > prop->width)
{