From 3f8b1daa441934eb95e273432531381814cfaf75 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 4 Dec 2007 06:05:28 +0000 Subject: [PATCH] (describe-char): Handle a composition of the new format. --- lisp/descr-text.el | 58 +++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 18c4144c5f..1fea494c35 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -583,33 +583,39 @@ as well as widgets, buttons, overlays, and text properties." (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: ") -- 2.20.1