Mercurial > hg > xemacs-beta
changeset 3711:761385dfa575
[xemacs-hg @ 2006-11-29 19:56:09 by aidan]
Provide a FORCE argument in set-charset-registries, document that the user
should be using XLFD font forms and that the Mule build refuses to accept
non-XLFD forms unless forced.
author | aidan |
---|---|
date | Wed, 29 Nov 2006 19:56:15 +0000 |
parents | 4bcad369dfd4 |
children | a0d288cfcfb5 |
files | man/ChangeLog man/xemacs/custom.texi src/ChangeLog src/mule-charset.c |
diffstat | 4 files changed, 50 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/man/ChangeLog Wed Nov 29 19:10:03 2006 +0000 +++ b/man/ChangeLog Wed Nov 29 19:56:15 2006 +0000 @@ -1,3 +1,11 @@ +2006-11-29 Aidan Kehoe <kehoea@parhasard.net> + + * xemacs/custom.texi (Face Resources): + Mention that the user should use full XLFD forms for specifying + fonts, and that Mule builds reject the short forms by + default. Also mention the work-around to the latter design choice + that was implemented for Ilya. + 2006-11-16 Stephen J. Turnbull <stephen@xemacs.org> * internals/internals.texi
--- a/man/xemacs/custom.texi Wed Nov 29 19:10:03 2006 +0000 +++ b/man/xemacs/custom.texi Wed Nov 29 19:56:15 2006 +0000 @@ -3035,6 +3035,10 @@ @end example @noindent +All X fonts can be referred to via XLFD-style names, and you should use +those forms. See the man pages for @samp{X(1)}, @samp{xlsfonts(1)}, and +@samp{xfontsel(1)}. + If you use any of the other, less strict font name formats, some of which look like @@ -3045,9 +3049,14 @@ @end example then XEmacs won't be able to guess the names of the bold and italic -versions. All X fonts can be referred to via XLFD-style names, so you -should use those forms. See the man pages for @samp{X(1)}, -@samp{xlsfonts(1)}, and @samp{xfontsel(1)}. +versions, and on a build with internationalization support, it will +refuse to use them. (Since only the XLFD form includes information as +to which character set the font coverage.) + +If it is very important to you to use the short form names, you can +override this for ASCII, and for ASCII alone, by passing the +@samp{FORCE} argument to @samp{set-charset-registries}, and specifying +an empty string as one of the charset registries. @node Widgets @subsection Widgets
--- a/src/ChangeLog Wed Nov 29 19:10:03 2006 +0000 +++ b/src/ChangeLog Wed Nov 29 19:56:15 2006 +0000 @@ -1,3 +1,11 @@ +2006-11-29 Aidan Kehoe <kehoea@parhasard.net> + + * mule-charset.c (Fset_charset_registries): + Add an optional argument FORCE, to allow specifying badly-formed + CHARSET_REGISTRY-CHARSET_ENCODING combinations. Re-enables the + sort of hacks described in 96wt67fa3f.fsf@mo.msk.ru from Ilya + Golubev. + 2006-11-29 Aidan Kehoe <kehoea@parhasard.net> * sound.c (init_native_sound):
--- a/src/mule-charset.c Wed Nov 29 19:10:03 2006 +0000 +++ b/src/mule-charset.c Wed Nov 29 19:56:15 2006 +0000 @@ -891,7 +891,7 @@ face_property_was_changed (Vdefault_face, Qfont, Qglobal); } -DEFUN ("set-charset-registries", Fset_charset_registries, 2, 2, 0, /* +DEFUN ("set-charset-registries", Fset_charset_registries, 2, 3, 0, /* Set the `registries' property of CHARSET to REGISTRIES. REGISTRIES is an ordered vector of strings that describe the X11 @@ -906,8 +906,22 @@ (set-charset-registries 'ascii ["jisx0201.1976-0"]) +If optional argument FORCE is non-nil, avoid sanity-checking the elements of +REGISTRIES. Normally the strings are checked to make sure they contain no +XLFD wild cards and that they contain at least one hyphen; the only context +in which one might want not to do this is in order to use a font which +doesn't have a full XLFD--and thus, an effective +CHARSET_REGISTRY-CHARSET_ENCODING of ""--to display ASCII. + +We recommend strongly that you specify a full XLFD, since this makes +multilingual and variant font handling work much better. To get the full +XLFD of any font, start xfd with the short name as the pattern argument: + + xfd -fn 8x16kana + +and use the text that appears at the top of the window. */ - (charset, registries)) + (charset, registries, force)) { int i; charset = Fget_charset (charset); @@ -916,6 +930,12 @@ for (i = 0; i < XVECTOR_LENGTH(registries); ++i) { CHECK_STRING (XVECTOR_DATA(registries)[i]); + + if (!NILP(force)) + { + continue; + } + if (NULL == qxestrchr(XSTRING_DATA(XVECTOR_DATA(registries)[i]), '-')) { invalid_argument("Not an X11 REGISTRY-ENCODING combination",