Mercurial > hg > xemacs-beta
diff src/unicode.c @ 3659:98af8a976fc3
[xemacs-hg @ 2006-11-05 22:31:31 by aidan]
Support specifying fonts for particular character sets in Mule; support
translation to ISO 10646-1 for Mule character sets without an otherwise
matching font; move to a vector of X11-charset-X11-registry instead of a
regex for the charset-registry property.
author | aidan |
---|---|
date | Sun, 05 Nov 2006 22:31:46 +0000 |
parents | 551c008d3777 |
children | 6b2ef948e140 |
line wrap: on
line diff
--- a/src/unicode.c Sat Nov 04 22:51:03 2006 +0000 +++ b/src/unicode.c Sun Nov 05 22:31:46 2006 +0000 @@ -1115,9 +1115,8 @@ Ibyte setname[32]; Lisp_Object charset_descr = build_string ("Mule charset for otherwise unknown Unicode code points."); - Lisp_Object charset_regr = build_string("iso10646-1"); - struct gcpro gcpro1, gcpro2; + struct gcpro gcpro1; if ('\0' == last_jit_charset_final) { @@ -1138,7 +1137,7 @@ Lisp reader. We GCPRO in case it GCs in the future and no-one checks all the C callers. */ - GCPRO2 (charset_descr, charset_regr); + GCPRO1 (charset_descr); Vcurrent_jit_charset = Fmake_charset (intern((const CIbyte *)setname), charset_descr, /* Set encode-as-utf-8 to t, to have this character set written @@ -1148,7 +1147,7 @@ nconc2 (list2(Qencode_as_utf_8, Qt), nconc2 (list6(Qcolumns, make_int(1), Qchars, make_int(96), Qdimension, make_int(2)), - list6(Qregistry, charset_regr, + list6(Qregistries, Qunicode_registries, Qfinal, make_char(last_jit_charset_final++), /* This CCL program is initialised in unicode.el. */ @@ -2539,6 +2538,8 @@ DEFSYMBOL (Qccl_encode_to_ucs_2); DEFSYMBOL (Qlast_allocated_character); DEFSYMBOL (Qignore_first_column); + + DEFSYMBOL (Qunicode_registries); #endif /* MULE */ DEFSUBR (Fchar_to_unicode); @@ -2611,6 +2612,8 @@ dump_add_root_block_ptr (&unicode_precedence_dynarr, &lisp_object_dynarr_description); + + init_blank_unicode_tables (); staticpro (&Vcurrent_jit_charset); @@ -2636,5 +2639,16 @@ from_unicode_level_3_desc_1); dump_add_root_block (&from_unicode_blank_4, sizeof (void *), from_unicode_level_4_desc_1); + + DEFVAR_LISP ("unicode-registries", &Qunicode_registries /* +Vector describing the X11 registries searched when using fallback fonts. + +"Fallback fonts" here includes by default those fonts used by redisplay when +displaying charsets for which the `encode-as-utf-8' property is true, and +those used when no font matching the charset's registries property has been +found (that is, they're probably Mule-specific charsets like Ethiopic or +IPA.) +*/ ); + Qunicode_registries = vector1(build_string("iso10646-1")); #endif /* MULE */ }