Mercurial > emacs
changeset 91180:583ca8a88936
(describe-char): Handle a composition of the new
format.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 04 Dec 2007 06:05:28 +0000 |
parents | abd5951baec7 |
children | 392369adecec |
files | lisp/descr-text.el |
diffstat | 1 files changed, 32 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/descr-text.el Tue Dec 04 06:04:10 2007 +0000 +++ b/lisp/descr-text.el Tue Dec 04 06:05:28 2007 +0000 @@ -583,33 +583,39 @@ (if (cadr composition) (insert " with the following character(s) \"" (cadr composition) "\""))) - (insert " by the rule:\n\t(" - (mapconcat (lambda (x) - (if (consp x) (format "%S" x) - (if (= x ?\t) - (single-key-description x) - (string ?? x)))) - (nth 2 composition) - " ") - ")") - (insert "\nThe component character(s) are displayed by ") - (if (display-graphic-p (selected-frame)) + (if (and (vectorp (nth 2 composition)) + (vectorp (aref (nth 2 composition) 0))) (progn - (insert "these fonts (glyph codes):") - (dolist (elt component-chars) - (if (/= (car elt) ?\t) - (insert "\n " (car elt) ?: - (propertize " " 'display '(space :align-to 5)) - (if (cdr elt) - (format "%s (#x%02X)" (cadr elt) (cddr elt)) - "-- no font --"))))) - (insert "these terminal codes:") - (dolist (elt component-chars) - (insert "\n " (car elt) ":" - (propertize " " 'display '(space :align-to 4)) - (or (cdr elt) "-- not encodable --")))) - (insert "\nSee the variable `reference-point-alist' for " - "the meaning of the rule.\n")) + (insert " by these glyphs:\n") + (mapc (lambda (x) (insert (format " %S\n" x))) + (nth 2 composition))) + (insert " by the rule:\n\t(" + (mapconcat (lambda (x) + (if (consp x) (format "%S" x) + (if (= x ?\t) + (single-key-description x) + (string ?? x)))) + (nth 2 composition) + " ") + ")") + (insert "\nThe component character(s) are displayed by ") + (if (display-graphic-p (selected-frame)) + (progn + (insert "these fonts (glyph codes):") + (dolist (elt component-chars) + (if (/= (car elt) ?\t) + (insert "\n " (car elt) ?: + (propertize " " 'display '(space :align-to 5)) + (if (cdr elt) + (format "%s (#x%02X)" (cadr elt) (cddr elt)) + "-- no font --"))))) + (insert "these terminal codes:") + (dolist (elt component-chars) + (insert "\n " (car elt) ":" + (propertize " " 'display '(space :align-to 4)) + (or (cdr elt) "-- not encodable --")))) + (insert "\nSee the variable `reference-point-alist' for " + "the meaning of the rule.\n"))) (if (not describe-char-unidata-list) (insert "\nCharacter code properties are not shown: ")