# HG changeset patch # User Kenichi Handa # Date 1281403516 -32400 # Node ID 997eb61c5b49c2cafab1e7fc4f60e3bc5ff90e1a # Parent 0fe981e141e3c3e2052628b8b336005acf7edac8# Parent b817fe3a4e35544d70debfe3e6ce9a15b2f08cac language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the composable pattern. diff -r 0fe981e141e3 -r 997eb61c5b49 lisp/ChangeLog --- a/lisp/ChangeLog Mon Aug 09 15:03:38 2010 -0700 +++ b/lisp/ChangeLog Tue Aug 10 10:25:16 2010 +0900 @@ -1,3 +1,8 @@ +2010-08-10 Kenichi Handa + + * language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the + composable pattern. + 2010-08-09 Chong Yidong * emacs-lisp/package.el (package-version-split) diff -r 0fe981e141e3 -r 997eb61c5b49 lisp/language/hebrew.el --- a/lisp/language/hebrew.el Mon Aug 09 15:03:38 2010 -0700 +++ b/lisp/language/hebrew.el Tue Aug 10 10:25:16 2010 +0900 @@ -237,17 +237,24 @@ (setq idx (1+ idx)))))) gstring)) -(let ((pattern1 "[\u05D0-\u05F2][\u0591-\u05BD\u05BF\u05C1-\u05C5\u05C7]+") - (pattern2 "[\u05D0-\u05F2]\u200D[\u0591-\u05BD\u05BF\u05C1-\u05C5\u05C7]+")) +(let* ((base "[\u05D0-\u05F2]") + (combining "[\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7]+") + (pattern1 (concat base combining)) + (pattern2 (concat base "\u200D" combining))) (set-char-table-range composition-function-table '(#x591 . #x5C7) (list (vector pattern2 3 'hebrew-shape-gstring) (vector pattern2 2 'hebrew-shape-gstring) (vector pattern1 1 'hebrew-shape-gstring) [nil 0 hebrew-shape-gstring])) + ;; Exclude non-combining characters. + (set-char-table-range + composition-function-table #x5BE nil) (set-char-table-range composition-function-table #x5C0 nil) (set-char-table-range + composition-function-table #x5C3 nil) + (set-char-table-range composition-function-table #x5C6 nil)) (provide 'hebrew)