From f92ebec4eb8ee41a12e2b7d11bd60aaf2f3f4436 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 4 Apr 2009 21:27:53 +0000 Subject: [PATCH] *** empty log message *** --- src/encoding.C | 2 +- src/rxvtfont.C | 28 +++++++++++++++++----------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/encoding.C b/src/encoding.C index eb9f700b..6e0f15e7 100644 --- a/src/encoding.C +++ b/src/encoding.C @@ -59,7 +59,7 @@ const struct n2cs { { "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 }, diff --git a/src/rxvtfont.C b/src/rxvtfont.C index 62a80331..8f52614e 100644 --- a/src/rxvtfont.C +++ b/src/rxvtfont.C @@ -794,14 +794,23 @@ rxvt_font_x11::load (const rxvt_fontprop &prop, bool force_prop) 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); @@ -814,10 +823,15 @@ rxvt_font_x11::load (const rxvt_fontprop &prop, bool force_prop) 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 @@ -874,14 +888,6 @@ rxvt_font_x11::load (const rxvt_fontprop &prop, bool force_prop) 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) { -- 2.34.1