comparison lisp/mule/latin.el @ 4145:edb00a8b4eff

[xemacs-hg @ 2007-08-26 20:00:29 by aidan] Generally make the language environments and coding systems a little more sane.
author aidan
date Sun, 26 Aug 2007 20:00:42 +0000
parents 751ae075e76e
children b98680995adb
comparison
equal deleted inserted replaced
4144:4a08a9219456 4145:edb00a8b4eff
586 do (modify-syntax-entry 586 do (modify-syntax-entry
587 (make-char 'latin-iso8859-9 i) 587 (make-char 'latin-iso8859-9 i)
588 (string (char-syntax (make-char 'latin-iso8859-1 i))) 588 (string (char-syntax (make-char 'latin-iso8859-1 i)))
589 syntax-table)) 589 syntax-table))
590 590
591 ;; Case. #### Bug: this doesn't handle I WITH DOT ABOVE. 591 ;; Case. The Turkish case idiosyncracy is handled with its language environment.
592 (setup-case-pairs 592 (setup-case-pairs
593 'latin-iso8859-9 593 'latin-iso8859-9
594 '((#xC0 #xE0) ;; A WITH GRAVE 594 '((#xC0 #xE0) ;; A WITH GRAVE
595 (#xC1 #xE1) ;; A WITH ACUTE 595 (#xC1 #xE1) ;; A WITH ACUTE
596 (#xC2 #xE2) ;; A WITH CIRCUMFLEX 596 (#xC2 #xE2) ;; A WITH CIRCUMFLEX
615 (#xD9 #xF9) ;; U WITH GRAVE 615 (#xD9 #xF9) ;; U WITH GRAVE
616 (#xDA #xFA) ;; U WITH ACUTE 616 (#xDA #xFA) ;; U WITH ACUTE
617 (#xDB #xFB) ;; U WITH CIRCUMFLEX 617 (#xDB #xFB) ;; U WITH CIRCUMFLEX
618 (#xDC #xFC) ;; U WITH DIAERESIS 618 (#xDC #xFC) ;; U WITH DIAERESIS
619 (#xDE #xFE))) ;; S WITH CEDILLA 619 (#xDE #xFE))) ;; S WITH CEDILLA
620
621 ;; LATIN CAPITAL LETTER I WITH DOT ABOVE
622 (put-case-table 'downcase
623 (make-char 'latin-iso8859-9 #xdd)
624 ?i (standard-case-table))
625
626 ;; LATIN SMALL LETTER DOTLESS I
627 (put-case-table 'upcase
628 (make-char 'latin-iso8859-9 #xfd)
629 ?I (standard-case-table))
620 630
621 (make-coding-system 631 (make-coding-system
622 'iso-8859-9 'iso2022 "ISO-8859-9 (Latin-5)" 632 'iso-8859-9 'iso2022 "ISO-8859-9 (Latin-5)"
623 '(charset-g0 ascii 633 '(charset-g0 ascii
624 charset-g1 latin-iso8859-9 634 charset-g1 latin-iso8859-9
723 (input-method . ,(or input-method default-input)) 733 (input-method . ,(or input-method default-input))
724 (documentation . ,(format "\ 734 (documentation . ,(format "\
725 This language environment supports %s. " name))) 735 This language environment supports %s. " name)))
726 '("European")))) 736 '("European"))))
727 737
738 ;; The case table for Turkish is special:
739 ;; #### Maybe we should limit this change to interactive functions; this may
740 ;; well be awkward for protocols and so on.
741 (set-language-info "Turkish"
742 'setup-function
743 (lambda ()
744 ;; The lowercase version of I is dotless i
745 (put-case-table-pair ?I
746 (make-char 'latin-iso8859-9 #xfd)
747 (standard-case-table))
748 ;; The uppercase version of i is I with dot
749 (put-case-table-pair (make-char 'latin-iso8859-9 #xdd)
750 ?i (standard-case-table))))
751
752 (set-language-info "Turkish"
753 'exit-function
754 (lambda ()
755 ;; Restore the normal case mappings for the characters.
756 (put-case-table-pair ?I ?i (standard-case-table))))
757
758 (make-8-bit-coding-system
759 'macintosh
760 '((#x80 ?\u00C4) ;; LATIN CAPITAL LETTER A WITH DIAERESIS
761 (#x81 ?\u00C5) ;; LATIN CAPITAL LETTER A WITH RING ABOVE
762 (#x82 ?\u00C7) ;; LATIN CAPITAL LETTER C WITH CEDILLA
763 (#x83 ?\u00C9) ;; LATIN CAPITAL LETTER E WITH ACUTE
764 (#x84 ?\u00D1) ;; LATIN CAPITAL LETTER N WITH TILDE
765 (#x85 ?\u00D6) ;; LATIN CAPITAL LETTER O WITH DIAERESIS
766 (#x86 ?\u00DC) ;; LATIN CAPITAL LETTER U WITH DIAERESIS
767 (#x87 ?\u00E1) ;; LATIN SMALL LETTER A WITH ACUTE
768 (#x88 ?\u00E0) ;; LATIN SMALL LETTER A WITH GRAVE
769 (#x89 ?\u00E2) ;; LATIN SMALL LETTER A WITH CIRCUMFLEX
770 (#x8A ?\u00E4) ;; LATIN SMALL LETTER A WITH DIAERESIS
771 (#x8B ?\u00E3) ;; LATIN SMALL LETTER A WITH TILDE
772 (#x8C ?\u00E5) ;; LATIN SMALL LETTER A WITH RING ABOVE
773 (#x8D ?\u00E7) ;; LATIN SMALL LETTER C WITH CEDILLA
774 (#x8E ?\u00E9) ;; LATIN SMALL LETTER E WITH ACUTE
775 (#x8F ?\u00E8) ;; LATIN SMALL LETTER E WITH GRAVE
776 (#x90 ?\u00EA) ;; LATIN SMALL LETTER E WITH CIRCUMFLEX
777 (#x91 ?\u00EB) ;; LATIN SMALL LETTER E WITH DIAERESIS
778 (#x92 ?\u00ED) ;; LATIN SMALL LETTER I WITH ACUTE
779 (#x93 ?\u00EC) ;; LATIN SMALL LETTER I WITH GRAVE
780 (#x94 ?\u00EE) ;; LATIN SMALL LETTER I WITH CIRCUMFLEX
781 (#x95 ?\u00EF) ;; LATIN SMALL LETTER I WITH DIAERESIS
782 (#x96 ?\u00F1) ;; LATIN SMALL LETTER N WITH TILDE
783 (#x97 ?\u00F3) ;; LATIN SMALL LETTER O WITH ACUTE
784 (#x98 ?\u00F2) ;; LATIN SMALL LETTER O WITH GRAVE
785 (#x99 ?\u00F4) ;; LATIN SMALL LETTER O WITH CIRCUMFLEX
786 (#x9A ?\u00F6) ;; LATIN SMALL LETTER O WITH DIAERESIS
787 (#x9B ?\u00F5) ;; LATIN SMALL LETTER O WITH TILDE
788 (#x9C ?\u00FA) ;; LATIN SMALL LETTER U WITH ACUTE
789 (#x9D ?\u00F9) ;; LATIN SMALL LETTER U WITH GRAVE
790 (#x9E ?\u00FB) ;; LATIN SMALL LETTER U WITH CIRCUMFLEX
791 (#x9F ?\u00FC) ;; LATIN SMALL LETTER U WITH DIAERESIS
792 (#xA0 ?\u2020) ;; DAGGER
793 (#xA1 ?\u00B0) ;; DEGREE SIGN
794 (#xA2 ?\u00A2) ;; CENT SIGN
795 (#xA3 ?\u00A3) ;; POUND SIGN
796 (#xA4 ?\u00A7) ;; SECTION SIGN
797 (#xA5 ?\u2022) ;; BULLET
798 (#xA6 ?\u00B6) ;; PILCROW SIGN
799 (#xA7 ?\u00DF) ;; LATIN SMALL LETTER SHARP S
800 (#xA8 ?\u00AE) ;; REGISTERED SIGN
801 (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
802 (#xAA ?\u2122) ;; TRADE MARK SIGN
803 (#xAB ?\u00B4) ;; ACUTE ACCENT
804 (#xAC ?\u00A8) ;; DIAERESIS
805 (#xAD ?\u2260) ;; NOT EQUAL TO
806 (#xAE ?\u00C6) ;; LATIN CAPITAL LETTER AE
807 (#xAF ?\u00D8) ;; LATIN CAPITAL LETTER O WITH STROKE
808 (#xB0 ?\u221E) ;; INFINITY
809 (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
810 (#xB2 ?\u2264) ;; LESS-THAN OR EQUAL TO
811 (#xB3 ?\u2265) ;; GREATER-THAN OR EQUAL TO
812 (#xB4 ?\u00A5) ;; YEN SIGN
813 (#xB5 ?\u00B5) ;; MICRO SIGN
814 (#xB6 ?\u2202) ;; PARTIAL DIFFERENTIAL
815 (#xB7 ?\u2211) ;; N-ARY SUMMATION
816 (#xB8 ?\u220F) ;; N-ARY PRODUCT
817 (#xB9 ?\u03C0) ;; GREEK SMALL LETTER PI
818 (#xBA ?\u222B) ;; INTEGRAL
819 (#xBB ?\u00AA) ;; FEMININE ORDINAL INDICATOR
820 (#xBC ?\u00BA) ;; MASCULINE ORDINAL INDICATOR
821 (#xBD ?\u03A9) ;; GREEK CAPITAL LETTER OMEGA
822 (#xBE ?\u00E6) ;; LATIN SMALL LETTER AE
823 (#xBF ?\u00F8) ;; LATIN SMALL LETTER O WITH STROKE
824 (#xC0 ?\u00BF) ;; INVERTED QUESTION MARK
825 (#xC1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
826 (#xC2 ?\u00AC) ;; NOT SIGN
827 (#xC3 ?\u221A) ;; SQUARE ROOT
828 (#xC4 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
829 (#xC5 ?\u2248) ;; ALMOST EQUAL TO
830 (#xC6 ?\u2206) ;; INCREMENT
831 (#xC7 ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
832 (#xC8 ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
833 (#xC9 ?\u2026) ;; HORIZONTAL ELLIPSIS
834 (#xCA ?\u00A0) ;; NO-BREAK SPACE
835 (#xCB ?\u00C0) ;; LATIN CAPITAL LETTER A WITH GRAVE
836 (#xCC ?\u00C3) ;; LATIN CAPITAL LETTER A WITH TILDE
837 (#xCD ?\u00D5) ;; LATIN CAPITAL LETTER O WITH TILDE
838 (#xCE ?\u0152) ;; LATIN CAPITAL LIGATURE OE
839 (#xCF ?\u0153) ;; LATIN SMALL LIGATURE OE
840 (#xD0 ?\u2013) ;; EN DASH
841 (#xD1 ?\u2014) ;; EM DASH
842 (#xD2 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
843 (#xD3 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
844 (#xD4 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
845 (#xD5 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
846 (#xD6 ?\u00F7) ;; DIVISION SIGN
847 (#xD7 ?\u25CA) ;; LOZENGE
848 (#xD8 ?\u00FF) ;; LATIN SMALL LETTER Y WITH DIAERESIS
849 (#xD9 ?\u0178) ;; LATIN CAPITAL LETTER Y WITH DIAERESIS
850 (#xDA ?\u2044) ;; FRACTION SLASH
851 (#xDB ?\u20AC) ;; EURO SIGN
852 (#xDC ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
853 (#xDD ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
854 (#xDE ?\uFB01) ;; LATIN SMALL LIGATURE FI
855 (#xDF ?\uFB02) ;; LATIN SMALL LIGATURE FL
856 (#xE0 ?\u2021) ;; DOUBLE DAGGER
857 (#xE1 ?\u00B7) ;; MIDDLE DOT
858 (#xE2 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
859 (#xE3 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
860 (#xE4 ?\u2030) ;; PER MILLE SIGN
861 (#xE5 ?\u00C2) ;; LATIN CAPITAL LETTER A WITH CIRCUMFLEX
862 (#xE6 ?\u00CA) ;; LATIN CAPITAL LETTER E WITH CIRCUMFLEX
863 (#xE7 ?\u00C1) ;; LATIN CAPITAL LETTER A WITH ACUTE
864 (#xE8 ?\u00CB) ;; LATIN CAPITAL LETTER E WITH DIAERESIS
865 (#xE9 ?\u00C8) ;; LATIN CAPITAL LETTER E WITH GRAVE
866 (#xEA ?\u00CD) ;; LATIN CAPITAL LETTER I WITH ACUTE
867 (#xEB ?\u00CE) ;; LATIN CAPITAL LETTER I WITH CIRCUMFLEX
868 (#xEC ?\u00CF) ;; LATIN CAPITAL LETTER I WITH DIAERESIS
869 (#xED ?\u00CC) ;; LATIN CAPITAL LETTER I WITH GRAVE
870 (#xEE ?\u00D3) ;; LATIN CAPITAL LETTER O WITH ACUTE
871 (#xEF ?\u00D4) ;; LATIN CAPITAL LETTER O WITH CIRCUMFLEX
872 (#xF0 ?\uF8FF) ;; Apple logo
873 (#xF1 ?\u00D2) ;; LATIN CAPITAL LETTER O WITH GRAVE
874 (#xF2 ?\u00DA) ;; LATIN CAPITAL LETTER U WITH ACUTE
875 (#xF3 ?\u00DB) ;; LATIN CAPITAL LETTER U WITH CIRCUMFLEX
876 (#xF4 ?\u00D9) ;; LATIN CAPITAL LETTER U WITH GRAVE
877 (#xF5 ?\u0131) ;; LATIN SMALL LETTER DOTLESS I
878 (#xF6 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
879 (#xF7 ?\u02DC) ;; SMALL TILDE
880 (#xF8 ?\u00AF) ;; MACRON
881 (#xF9 ?\u02D8) ;; BREVE
882 (#xFA ?\u02D9) ;; DOT ABOVE
883 (#xFB ?\u02DA) ;; RING ABOVE
884 (#xFC ?\u00B8) ;; CEDILLA
885 (#xFD ?\u02DD) ;; DOUBLE ACUTE ACCENT
886 (#xFE ?\u02DB) ;; OGONEK
887 (#xFF ?\u02C7)) ;; CARON
888 "The Macintosh encoding for Western Europe and the Americas"
889 '(mnemonic "MR"
890 documentation "MacRoman, MIME name macintosh"
891 aliases (cp10000 MacRoman)))
892
893 (make-8-bit-coding-system
894 'windows-1252
895 '((#x80 ?\u20AC) ;; EURO SIGN
896 (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
897 (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
898 (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
899 (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
900 (#x86 ?\u2020) ;; DAGGER
901 (#x87 ?\u2021) ;; DOUBLE DAGGER
902 (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
903 (#x89 ?\u2030) ;; PER MILLE SIGN
904 (#x8A ?\u0160) ;; LATIN CAPITAL LETTER S WITH CARON
905 (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
906 (#x8C ?\u0152) ;; LATIN CAPITAL LIGATURE OE
907 (#x8E ?\u017D) ;; LATIN CAPITAL LETTER Z WITH CARON
908 (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
909 (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
910 (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
911 (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
912 (#x95 ?\u2022) ;; BULLET
913 (#x96 ?\u2013) ;; EN DASH
914 (#x97 ?\u2014) ;; EM DASH
915 (#x98 ?\u02DC) ;; SMALL TILDE
916 (#x99 ?\u2122) ;; TRADE MARK SIGN
917 (#x9A ?\u0161) ;; LATIN SMALL LETTER S WITH CARON
918 (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
919 (#x9C ?\u0153) ;; LATIN SMALL LIGATURE OE
920 (#x9E ?\u017E) ;; LATIN SMALL LETTER Z WITH CARON
921 (#x9F ?\u0178));; LATIN CAPITAL LETTER Y WITH DIAERESIS
922 "Microsoft's extension of iso-8859-1 for Western Europe and the Americas. "
923 '(mnemonic "cp1252"
924 aliases (cp1252)))
925
728 ;;; latin.el ends here 926 ;;; latin.el ends here