aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2015-10-09 21:33:20 +0300
committerEli Zaretskii2015-10-09 21:33:20 +0300
commitaf45926d66d303fdc4c2c3ebbc820b4a54d9e4a0 (patch)
treeb5df0529af7dc57a3dd527956e2cba017c6cb968
parent4a1a98af5578a08515a11d8feb87b41657a1b44c (diff)
downloademacs-af45926d66d303fdc4c2c3ebbc820b4a54d9e4a0.tar.gz
emacs-af45926d66d303fdc4c2c3ebbc820b4a54d9e4a0.zip
Update case-table and categories of recently added characters
* lisp/international/characters.el: Update information about Latin Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended, Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi blocks. (Byug#21654)
-rw-r--r--lisp/international/characters.el105
1 files changed, 103 insertions, 2 deletions
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 310384aa969..e4f7e7c3f3b 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -649,6 +649,68 @@ with L, LRE, or LRO Unicode bidi character type.")
649 (set-case-syntax-pair c (1+ c) tbl)) 649 (set-case-syntax-pair c (1+ c) tbl))
650 (setq c (1+ c))) 650 (setq c (1+ c)))
651 651
652 ;; Latin Extended-C
653 (setq c #x2C60)
654 (while (<= c #x2C7F)
655 (modify-category-entry c ?l)
656 (setq c (1+ c)))
657
658 (let ((pair-ranges '((#x2C60 . #x2C61)
659 (#x2C67 . #x2C6C)
660 (#x2C72 . #x2C73)
661 (#x2C75 . #x2C76))))
662 (dolist (elt pair-ranges)
663 (let ((from (car elt)) (to (cdr elt)))
664 (while (< from to)
665 (set-case-syntax-pair from (1+ from) tbl)
666 (setq from (+ from 2))))))
667
668 (set-case-syntax-pair ?Ɫ ?ɫ tbl)
669 (set-case-syntax-pair ?Ᵽ ?ᵽ tbl)
670 (set-case-syntax-pair ?Ɽ ?ɽ tbl)
671 (set-case-syntax-pair ?Ɑ ?ɑ tbl)
672 (set-case-syntax-pair ?Ɱ ?ɱ tbl)
673 (set-case-syntax-pair ?Ɐ ?ɐ tbl)
674 (set-case-syntax-pair ?Ɒ ?ɒ tbl)
675 (set-case-syntax-pair ?Ȿ ?ȿ tbl)
676 (set-case-syntax-pair ?Ɀ ?ɀ tbl)
677
678 ;; Latin Extended-D
679 (setq c #xA720)
680 (while (<= c #xA7FF)
681 (modify-category-entry c ?l)
682 (setq c (1+ c)))
683
684 (let ((pair-ranges '((#xA722 . #xA72F)
685 (#xA732 . #xA76F)
686 (#xA779 . #xA77C)
687 (#xA77E . #xA787)
688 (#xA78B . #xA78E)
689 (#xA790 . #xA793)
690 (#xA796 . #xA7A9)
691 (#xA7B4 . #xA7B7))))
692 (dolist (elt pair-ranges)
693 (let ((from (car elt)) (to (cdr elt)))
694 (while (< from to)
695 (set-case-syntax-pair from (1+ from) tbl)
696 (setq from (+ from 2))))))
697
698 (set-case-syntax-pair ?Ᵹ ?ᵹ tbl)
699 (set-case-syntax-pair ?Ɦ ?ɦ tbl)
700 (set-case-syntax-pair ?Ɜ ?ɜ tbl)
701 (set-case-syntax-pair ?Ɡ ?ɡ tbl)
702 (set-case-syntax-pair ?Ɬ ?ɬ tbl)
703 (set-case-syntax-pair ?Ʞ ?ʞ tbl)
704 (set-case-syntax-pair ?Ʇ ?ʇ tbl)
705 (set-case-syntax-pair ?Ʝ ?ʝ tbl)
706 (set-case-syntax-pair ?Ꭓ ?ꭓ tbl)
707
708 ;; Latin Extended-E
709 (setq c #xAB30)
710 (while (<= c #xAB64)
711 (modify-category-entry c ?l)
712 (setq c (1+ c)))
713
652 ;; Greek 714 ;; Greek
653 (modify-category-entry '(#x0370 . #x03ff) ?g) 715 (modify-category-entry '(#x0370 . #x03ff) ?g)
654 (setq c #x0370) 716 (setq c #x0370)
@@ -724,14 +786,29 @@ with L, LRE, or LRO Unicode bidi character type.")
724 (and (zerop (% c 2)) 786 (and (zerop (% c 2))
725 (or (and (>= c #x0460) (<= c #x0480)) 787 (or (and (>= c #x0460) (<= c #x0480))
726 (and (>= c #x048c) (<= c #x04be)) 788 (and (>= c #x048c) (<= c #x04be))
727 (and (>= c #x04d0) (<= c #x04f4))) 789 (and (>= c #x04d0) (<= c #x052e)))
728 (set-case-syntax-pair c (1+ c) tbl)) 790 (set-case-syntax-pair c (1+ c) tbl))
729 (setq c (1+ c))) 791 (setq c (1+ c)))
730 (set-case-syntax-pair ?Ӂ ?ӂ tbl) 792 (set-case-syntax-pair ?Ӂ ?ӂ tbl)
731 (set-case-syntax-pair ?Ӄ ?ӄ tbl) 793 (set-case-syntax-pair ?Ӄ ?ӄ tbl)
732 (set-case-syntax-pair ?Ӈ ?ӈ tbl) 794 (set-case-syntax-pair ?Ӈ ?ӈ tbl)
733 (set-case-syntax-pair ?Ӌ ?ӌ tbl) 795 (set-case-syntax-pair ?Ӌ ?ӌ tbl)
734 (set-case-syntax-pair ?Ӹ ?ӹ tbl) 796
797 (modify-category-entry '(#xA640 . #xA69F) ?y)
798 (setq c #xA640)
799 (while (<= c #xA66C)
800 (set-case-syntax-pair c (+ c 1) tbl)
801 (setq c (+ c 2)))
802 (setq c #xA680)
803 (while (<= c #xA69A)
804 (set-case-syntax-pair c (+ c 1) tbl)
805 (setq c (+ c 2)))
806
807 ;; Georgian
808 (setq c #x10A0)
809 (while (<= c #x10CD)
810 (set-case-syntax-pair c (+ c #x1C60) tbl)
811 (setq c (1+ c)))
735 812
736 ;; general punctuation 813 ;; general punctuation
737 (setq c #x2000) 814 (setq c #x2000)
@@ -792,6 +869,12 @@ with L, LRE, or LRO Unicode bidi character type.")
792 (modify-category-entry (+ c 26) ?l) 869 (modify-category-entry (+ c 26) ?l)
793 (setq c (1+ c))) 870 (setq c (1+ c)))
794 871
872 ;; Glagolitic
873 (setq c #x2C00)
874 (while (<= c #x2C2E)
875 (set-case-syntax-pair c (+ c 48) tbl)
876 (setq c (1+ c)))
877
795 ;; Coptic 878 ;; Coptic
796 (let ((pair-ranges '((#x2C80 . #x2CE2) 879 (let ((pair-ranges '((#x2C80 . #x2CE2)
797 (#x2CEB . #x2CF2)))) 880 (#x2CEB . #x2CF2))))
@@ -814,6 +897,24 @@ with L, LRE, or LRO Unicode bidi character type.")
814 (modify-category-entry (+ c #x20) ?l) 897 (modify-category-entry (+ c #x20) ?l)
815 (setq c (1+ c))) 898 (setq c (1+ c)))
816 899
900 ;; Deseret
901 (setq c #x10400)
902 (while (<= c #x10427)
903 (set-case-syntax-pair c (+ c 28) tbl)
904 (setq c (1+ c)))
905
906 ;; Old Hungarian
907 (setq c #x10c80)
908 (while (<= c #x10cb2)
909 (set-case-syntax-pair c (+ c #x40) tbl)
910 (setq c (1+ c)))
911
912 ;; Warang Citi
913 (setq c #x118a0)
914 (while (<= c #x118bf)
915 (set-case-syntax-pair c (+ c #x20) tbl)
916 (setq c (1+ c)))
917
817 ;; Combining diacritics 918 ;; Combining diacritics
818 (modify-category-entry '(#x300 . #x362) ?^) 919 (modify-category-entry '(#x300 . #x362) ?^)
819 ;; Combining marks 920 ;; Combining marks