emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 22b2e9c 1/2: Fix Arabic composition rules


From: Eli Zaretskii
Subject: master 22b2e9c 1/2: Fix Arabic composition rules
Date: Tue, 2 Jun 2020 13:47:13 -0400 (EDT)

branch: master
commit 22b2e9c901231312d6d8c6fd5d138b98501bc65e
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix Arabic composition rules
    
    * lisp/language/misc-lang.el (composition-function-table): Reorder
    Arabic composition rules in descending order of lookback.
    
    * src/composite.c (syms_of_composite): Document the order of rules
    in 'composition-function-table'.
---
 lisp/language/misc-lang.el | 8 ++++----
 src/composite.c            | 3 ++-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index e25e63b..e3a24c4 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -136,10 +136,10 @@ thin (i.e. 1-dot width) space."
 (set-char-table-range
  composition-function-table
  '(#x600 . #x74F)
- (list (vector "[\u0600-\u074F\u200C\u200D]+" 0
-               'arabic-shape-gstring)
-       (vector "[\u200C\u200D][\u0600-\u074F\u200C\u200D]+" 1
-               'arabic-shape-gstring)))
+ (list (vector "[\u200C\u200D][\u0600-\u074F\u200C\u200D]+"
+               1 'arabic-shape-gstring)
+       (vector "[\u0600-\u074F\u200C\u200D]+"
+               0 'arabic-shape-gstring)))
 
 (provide 'misc-lang)
 
diff --git a/src/composite.c b/src/composite.c
index 518502b..5c56107 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -1987,7 +1987,8 @@ preceding and/or following characters, this char-table 
contains
 a function to call to compose that character.
 
 The element at index C in the table, if non-nil, is a list of
-composition rules of this form: ([PATTERN PREV-CHARS FUNC] ...)
+composition rules of the form ([PATTERN PREV-CHARS FUNC] ...);
+they must be in the descending order of PREV-CHARS values.
 
 PATTERN is a regular expression which C and the surrounding
 characters must match.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]