aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2000-12-13 02:01:05 +0000
committerKenichi Handa2000-12-13 02:01:05 +0000
commit85ef8ece986f247077b027b2b0e2ce6a5ecebac1 (patch)
treef523e05abccc7dcb600bcd52f4626a6d8a2473ff
parentd49fc4eb22cbbf3baaea6d250c905c3ae6c0ff98 (diff)
downloademacs-85ef8ece986f247077b027b2b0e2ce6a5ecebac1.tar.gz
emacs-85ef8ece986f247077b027b2b0e2ce6a5ecebac1.zip
Fix cases and syntaxes for mule-unicode-0100-24ff.
-rw-r--r--lisp/international/characters.el43
1 files changed, 34 insertions, 9 deletions
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index 2c55449ae84..163e550973d 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -601,20 +601,41 @@
601 601
602;; Unicode (mule-unicode-0100-24ff) 602;; Unicode (mule-unicode-0100-24ff)
603 603
604(let ((c #x0100) (tbl (standard-case-table))) 604(let ((tbl (standard-case-table)) c)
605 (while (<= c #x0233) ; Latin Extended-A, Latin Extended-B 605
606;; In some languages, U+0049 LATIN CAPITAL LETTER I and U+0131 LATIN
607;; SMALL LETTER DOTLESS I make a case pair, and so do U+0130 LATIN
608;; CAPITAL LETTER I WITH DOT ABOVE and U+0069 LATIN SMALL LETTER I.
609;; Thus we have to check language-environment to handle casing
610;; correctly. Currently only I<->i is available.
611
612;; case-syntax-pair's are not yet given for Latin Extendet-B
613
614 ;; Latin Extended-A, Latin Extended-B
615 (setq c #x0100)
616 (while (<= c #x0233)
606 (modify-category-entry (decode-char 'ucs c) ?l) 617 (modify-category-entry (decode-char 'ucs c) ?l)
607 (and (<= c #x0176) 618 (and (or (<= c #x012e)
619 (and (>= c #x014a) (<= c #x0177)))
608 (zerop (% c 2)) 620 (zerop (% c 2))
609 (set-case-syntax-pair 621 (set-case-syntax-pair
610 (decode-char 'ucs c) (decode-char 'ucs (1+ c)) tbl)) 622 (decode-char 'ucs c) (decode-char 'ucs (1+ c)) tbl))
623 (and (>= c #x013a)
624 (<= c #x0148)
625 (zerop (% c 2))
626 (set-case-syntax-pair
627 (decode-char 'ucs (1- c)) (decode-char 'ucs c) tbl))
611 (setq c (1+ c))) 628 (setq c (1+ c)))
612 (set-case-syntax-pair ?$,1!8(B ?,A(B tbl) 629 (set-case-syntax-pair ?$,1 R(B ?$,1 S(B tbl)
630 (set-case-syntax-pair ?$,1 T(B ?$,1 U(B tbl)
631 (set-case-syntax-pair ?$,1 V(B ?$,1 W(B tbl)
632; (set-case-syntax-pair ?$,1!8(B ?,A(B tbl) ; these two have different length!
613 (set-case-syntax-pair ?$,1!9(B ?$,1!:(B tbl) 633 (set-case-syntax-pair ?$,1!9(B ?$,1!:(B tbl)
614 (set-case-syntax-pair ?$,1!;(B ?$,1!<(B tbl) 634 (set-case-syntax-pair ?$,1!;(B ?$,1!<(B tbl)
615 (set-case-syntax-pair ?$,1!=(B ?$,1!>(B tbl) 635 (set-case-syntax-pair ?$,1!=(B ?$,1!>(B tbl)
616 636
617 (setq c #x1e00) ; Latin Extended Additional 637 ;; Latin Extended Additional
638 (setq c #x1e00)
618 (while (<= c #x1ef9) 639 (while (<= c #x1ef9)
619 (modify-category-entry (decode-char 'ucs c) ?l) 640 (modify-category-entry (decode-char 'ucs c) ?l)
620 (and (zerop (% c 2)) 641 (and (zerop (% c 2))
@@ -623,7 +644,8 @@
623 (decode-char 'ucs c) (decode-char 'ucs (1+ c)) tbl)) 644 (decode-char 'ucs c) (decode-char 'ucs (1+ c)) tbl))
624 (setq c (1+ c))) 645 (setq c (1+ c)))
625 646
626 (setq c #x0370) ; Greek 647 ;; Greek
648 (setq c #x0370)
627 (while (<= c #x03ff) 649 (while (<= c #x03ff)
628 (modify-category-entry (decode-char 'ucs c) ?g) 650 (modify-category-entry (decode-char 'ucs c) ?g)
629 (if (or (and (>= c #x0391) (<= c #x03a1)) 651 (if (or (and (>= c #x0391) (<= c #x03a1))
@@ -644,7 +666,8 @@
644 (set-case-syntax-pair ?$,1&n(B ?$,1'M(B tbl) 666 (set-case-syntax-pair ?$,1&n(B ?$,1'M(B tbl)
645 (set-case-syntax-pair ?$,1&o(B ?$,1'N(B tbl) 667 (set-case-syntax-pair ?$,1&o(B ?$,1'N(B tbl)
646 668
647 (setq c #x1f00) ; Greek Extended 669 ;; Greek Extended
670 (setq c #x1f00)
648 (while (<= c #x1fff) 671 (while (<= c #x1fff)
649 (modify-category-entry (decode-char 'ucs c) ?g) 672 (modify-category-entry (decode-char 'ucs c) ?g)
650 (and (<= (logand c #x000f) 7) 673 (and (<= (logand c #x000f) 7)
@@ -679,7 +702,8 @@
679 (set-case-syntax-pair ?$,1r[(B ?$,1q=(B tbl) 702 (set-case-syntax-pair ?$,1r[(B ?$,1q=(B tbl)
680 (set-case-syntax-pair ?$,1r\(B ?$,1rS(B tbl) 703 (set-case-syntax-pair ?$,1r\(B ?$,1rS(B tbl)
681 704
682 (setq c #x0400) ; cyrillic 705 ;; cyrillic
706 (setq c #x0400)
683 (while (<= c #x04ff) 707 (while (<= c #x04ff)
684 (modify-category-entry (decode-char 'ucs c) ?y) 708 (modify-category-entry (decode-char 'ucs c) ?y)
685 (and (>= c #x0400) 709 (and (>= c #x0400)
@@ -703,7 +727,8 @@
703 (set-case-syntax-pair ?$,1*+(B ?$,1*,(B tbl) 727 (set-case-syntax-pair ?$,1*+(B ?$,1*,(B tbl)
704 (set-case-syntax-pair ?$,1*X(B ?$,1*Y(B tbl) 728 (set-case-syntax-pair ?$,1*X(B ?$,1*Y(B tbl)
705 729
706 (setq c #x2000) ; general punctuation 730 ;; general punctuation
731 (setq c #x2000)
707 (while (<= c #x200b) 732 (while (<= c #x200b)
708 (set-case-syntax c " " tbl) 733 (set-case-syntax c " " tbl)
709 (setq c (1+ c))) 734 (setq c (1+ c)))