diff options
Diffstat (limited to 'lisp/composite.el')
-rw-r--r-- | lisp/composite.el | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lisp/composite.el b/lisp/composite.el index 77c5cd87b88..0a8dcb875c9 100644 --- a/lisp/composite.el +++ b/lisp/composite.el @@ -660,7 +660,7 @@ All non-spacing characters have this function in ;; align it at the center of the glyph of the ;; enclosing mark hoping that the enclosing mark ;; is big enough. We also have to adjust the - ;; x-offset and width of the mark ifself properly + ;; x-offset and width of the mark itself properly ;; depending on how the glyph is designed. ;; (non-spacing or not). For instance, when we @@ -747,7 +747,18 @@ All non-spacing characters have this function in unicode-category-table)) ;; for dotted-circle (aset composition-function-table #x25CC - `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))) + `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle])) + ;; For prettier display of fractions + (set-char-table-range + composition-function-table + #x2044 + ;; We use font-shape-gstring so that if the font doesn't support + ;; fractional display, the characters are shown separately, not as + ;; a composed cluster. + (list (vector (purecopy "[1-9][0-9][0-9]\u2044[0-9]+") + 3 'font-shape-gstring) + (vector (purecopy "[1-9][0-9]\u2044[0-9]+") 2 'font-shape-gstring) + (vector (purecopy "[1-9]\u2044[0-9]+") 1 'font-shape-gstring)))) (defun compose-gstring-for-terminal (gstring _direction) "Compose glyph-string GSTRING for terminal display. |