# HG changeset patch # User Kenichi Handa # Date 1212995852 0 # Node ID 0afdc320716ca89fd91efa75f42146dc5719853c # Parent d87a51f8851f69db236fe92cc7030f742ba3c39b (Qascii_0): New variable. (syms_of_font): DEFSYM it. (font_open_by_name): If the registry "iso8859-1" fails, try also "ascii-0". diff -r d87a51f8851f -r 0afdc320716c src/font.c --- a/src/font.c Mon Jun 09 07:16:15 2008 +0000 +++ b/src/font.c Mon Jun 09 07:17:32 2008 +0000 @@ -55,7 +55,7 @@ Lisp_Object Qopentype; /* Important character set strings. */ -Lisp_Object Qiso8859_1, Qiso10646_1, Qunicode_bmp, Qunicode_sip; +Lisp_Object Qascii_0, Qiso8859_1, Qiso10646_1, Qunicode_bmp, Qunicode_sip; /* Special vector of zero length. This is repeatedly used by (struct font_driver *)->list when a specified font is not found. */ @@ -3009,7 +3009,7 @@ char *name; { Lisp_Object args[2]; - Lisp_Object spec, prefer, size, entity, entity_list; + Lisp_Object spec, prefer, size, registry, entity, entity_list; Lisp_Object frame; int i; int pixel_size; @@ -3049,10 +3049,16 @@ size = make_number (pixel_size); ASET (prefer, FONT_SIZE_INDEX, size); } - if (NILP (AREF (spec, FONT_REGISTRY_INDEX))) + registry = AREF (spec, FONT_REGISTRY_INDEX); + if (NILP (registry)) ASET (spec, FONT_REGISTRY_INDEX, Qiso8859_1); - entity_list = Flist_fonts (spec, frame, make_number (1), prefer); + if (NILP (entity_list) && NILP (registry)) + { + ASET (spec, FONT_REGISTRY_INDEX, Qascii_0); + entity_list = Flist_fonts (spec, frame, make_number (1), prefer); + } + ASET (spec, FONT_REGISTRY_INDEX, registry); if (NILP (entity_list)) entity = font_matching_entity (f, NULL, spec); else @@ -4524,6 +4530,7 @@ DEFSYM (Qopentype, "opentype"); + DEFSYM (Qascii_0, "ascii-0"); DEFSYM (Qiso8859_1, "iso8859-1"); DEFSYM (Qiso10646_1, "iso10646-1"); DEFSYM (Qunicode_bmp, "unicode-bmp");