]> git.eshelyaron.com Git - emacs.git/commitdiff
Support prettified display of fractional numbers
authorEli Zaretskii <eliz@gnu.org>
Sat, 31 Oct 2020 10:40:25 +0000 (12:40 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 31 Oct 2020 10:40:25 +0000 (12:40 +0200)
* lisp/composite.el (composition-function-table): Define an entry
for U+2044 FRACTION SLASH, for prettier display of fractional
numbers.

lisp/composite.el

index 47d91c5d212dfa30d84fc641052e23f18f679576..0a8dcb875c903b385c3ebe93efa9ec6405316b98 100644 (file)
@@ -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.