summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2019-08-17 14:21:47 +0300
committerEli Zaretskii <eliz@gnu.org>2019-08-17 14:21:47 +0300
commit5f992d1990d9f351cf907dcf2066f573e0fe9407 (patch)
tree2a58a368a13c949a852f3cad7e16fe6e14bec354
parent3a04be20056f19c5ffbf448128ccce067d11e99e (diff)
downloademacs-5f992d1990d9f351cf907dcf2066f573e0fe9407.tar.gz
Improve commentary in composite.el
* lisp/composite.el (compose-gstring-for-graphic) (compose-gstring-for-terminal): Add comments that explain Unicode General Category mnemonics in human-readable terms. (Bug#14461)
-rw-r--r--lisp/composite.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/composite.el b/lisp/composite.el
index e50e5d381ec..76722f93c41 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -554,6 +554,11 @@ All non-spacing characters have this function in
;; This sequence doesn't start with a proper base character.
((memq (get-char-code-property (lgstring-char gstring 0)
'general-category)
+ ;; "Improper" base characters are of the following general
+ ;; categories:
+ ;; Mark (nonspacing, combining, enclosing)
+ ;; Separator (space, line, paragraph)
+ ;; Other (control, format, surrogate)
'(Mn Mc Me Zs Zl Zp Cc Cf Cs))
nil)
@@ -646,6 +651,7 @@ All non-spacing characters have this function in
de (+ de yoff)))
((and (= class 0)
(eq (get-char-code-property (lglyph-char glyph)
+ ;; Me = enclosing mark
'general-category) 'Me))
;; Artificially laying out glyphs in an enclosing
;; mark is difficult. All we can do is to adjust
@@ -771,7 +777,8 @@ prepending a space before it."
'general-category)
'Cf)
(progn
- ;; Compose by replacing with a space.
+ ;; Compose Cf (format) control characters by
+ ;; replacing with a space.
(lglyph-set-char glyph 32)
(lglyph-set-width glyph 1)
(setq i (1+ i)))