summaryrefslogtreecommitdiff
path: root/lisp/language
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-08-06 16:55:51 +0300
committerEli Zaretskii <eliz@gnu.org>2022-08-06 16:55:51 +0300
commit5aaad0445dc5a353f2da11fa7f2390d082884abe (patch)
tree008425da799c032c708e81344b012fa18a4a83cf /lisp/language
parent55c25e73d46685e4b4423b13b0d3287fee170386 (diff)
downloademacs-5aaad0445dc5a353f2da11fa7f2390d082884abe.tar.gz
Speed up display of Arabic
* lisp/language/misc-lang.el (composition-function-table): Move some of the Arabic composition rules to ZWJ and ZWNJ cells. This speeds up display of Arabic by a factor of 2. (Bug#56682)
Diffstat (limited to 'lisp/language')
-rw-r--r--lisp/language/misc-lang.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 1e915c2f838..3d5b68f84be 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -137,10 +137,13 @@ thin (i.e. 1-dot width) space."
(set-char-table-range
composition-function-table
'(#x600 . #x74F)
- (list (vector "[\u200C\u200D][\u0600-\u074F\u200C\u200D]+"
- 1 #'arabic-shape-gstring)
- (vector "[\u0600-\u074F\u200C\u200D]+"
+ (list (vector "[\u0600-\u074F\u200C\u200D]+"
0 #'arabic-shape-gstring)))
+(set-char-table-range
+ composition-function-table
+ '(#x200C . #x200D)
+ (list (vector "[\u200C\u200D][\u0600-\u074F\u200C\u200D]+"
+ 0 #'arabic-shape-gstring)))
;; The Egyptian Hieroglyph Format Controls were introduced in Unicode
;; Standard v12.0. Apparently, they are not yet well supported in