Mercurial > hg > xemacs-beta
diff lisp/mule/cyrillic.el @ 771:943eaba38521
[xemacs-hg @ 2002-03-13 08:51:24 by ben]
The big ben-mule-21-5 check-in!
Various files were added and deleted. See CHANGES-ben-mule.
There are still some test suite failures. No crashes, though.
Many of the failures have to do with problems in the test suite itself
rather than in the actual code. I'll be addressing these in the next
day or so -- none of the test suite failures are at all critical.
Meanwhile I'll be trying to address the biggest issues -- i.e. build
or run failures, which will almost certainly happen on various platforms.
All comments should be sent to ben@xemacs.org -- use a Cc: if necessary
when sending to mailing lists. There will be pre- and post- tags,
something like
pre-ben-mule-21-5-merge-in, and
post-ben-mule-21-5-merge-in.
author | ben |
---|---|
date | Wed, 13 Mar 2002 08:54:06 +0000 |
parents | 576fb035e263 |
children | 2923009caf47 |
line wrap: on
line diff
--- a/lisp/mule/cyrillic.el Fri Mar 08 13:33:14 2002 +0000 +++ b/lisp/mule/cyrillic.el Wed Mar 13 08:54:06 2002 +0000 @@ -3,6 +3,7 @@ ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN. ;; Licensed to the Free Software Foundation. ;; Copyright (C) 1997 MORIOKA Tomohiko +;; Copyright (C) 2001 Ben Wing. ;; Keywords: multilingual, Cyrillic @@ -25,9 +26,10 @@ ;;; Commentary: -;; The character set ISO8859-5 is supported. -;; KOI-8, Windows-1251, and ALTERNATIVNYJ are converted to ISO8859-5 -;; internally. +;; The character set ISO8859-5 is supported. KOI-8 and ALTERNATIVNYJ are +;; converted to ISO8859-5 internally. + +;; Windows-1251 support deleted because XEmacs has automatic support. ;;; Code: @@ -45,7 +47,7 @@ (make-coding-system 'iso-8859-5 'iso2022 - "ISO-8859-5 (ISO 2022 based 8-bit encoding for Cyrillic script)" + "ISO-8859-5 (Cyrillic)" '(charset-g0 ascii charset-g1 cyrillic-iso8859-5 charset-g2 t @@ -129,7 +131,7 @@ (make-coding-system 'koi8-r 'ccl - "KOI8-R 8-bit encoding for Cyrillic." + "KOI8-R (Cyrillic)" '(decode ccl-decode-koi8 encode ccl-encode-koi8 mnemonic "KOI8")) @@ -156,91 +158,14 @@ (coding-priority koi8-r) (input-method . "cyrillic-yawerty") (features cyril-util) + (locale "ru") + (mswindows-locale . "RUSSIAN") (tutorial . "TUTORIAL.ru") (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . "Support for Cyrillic KOI8-R.")) '("Cyrillic")) -;;; WINDOWS-1251 - -(eval-and-compile - -(defvar cyrillic-windows-1251-decode-table - [ - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 - 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 - 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 - 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 - 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 - 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 - ?,L"(B ?,L#(B 32 ?,Ls(B 32 32 32 32 32 32 ?,L)(B 32 ?,L*(B ?,L,(B ?,L+(B ?,L/(B ;" - ?,Lr(B 32 32 32 32 32 32 32 32 32 ?,Ly(B 32 ?,Lz(B ?,L|(B ?,L{(B ?,L(B - ?,L (B ?,L.(B ?,L~(B ?,L((B ?,A$(B 32 ?,A&(B ?,L}(B ?,L!(B ?,A)(B ?,L$(B ?,A+(B ?,A,(B ?,L-(B ?,A.(B ?,L'(B - ?,A0(B ?,A1(B ?,L&(B ?,Lv(B 32 ?,A5(B ?,A6(B ?,A7(B ?,Lq(B ?,Lp(B ?,Lt(B ?,A;(B ?,Lx(B ?,L%(B ?,Lu(B ?,Lw(B - ?,L0(B ?,L1(B ?,L2(B ?,L3(B ?,L4(B ?,L5(B ?,L6(B ?,L7(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B ?,L?(B - ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,LD(B ?,LE(B ?,LF(B ?,LG(B ?,LH(B ?,LI(B ?,LJ(B ?,LK(B ?,LL(B ?,LM(B ?,LN(B ?,LO(B - ?,LP(B ?,LQ(B ?,LR(B ?,LS(B ?,LT(B ?,LU(B ?,LV(B ?,LW(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B ?,L_(B - ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,Ld(B ?,Le(B ?,Lf(B ?,Lg(B ?,Lh(B ?,Li(B ?,Lj(B ?,Lk(B ?,Ll(B ?,Lm(B ?,Ln(B ?,Lo(B ] - "Cyrillic Windows-1251 decoding table.") - -(defvar cyrillic-windows-1251-encode-table - (let ((table (make-vector 256 32)) - (i 0)) - (while (< i 256) - (let* ((ch (aref cyrillic-windows-1251-decode-table i)) - (split (split-char ch))) - (cond ((eq (car split) 'cyrillic-iso8859-5) - (aset table (logior (nth 1 split) 128) i) - ) - ((eq ch 32)) - ((eq (car split) 'ascii) - (aset table ch i) - ))) - (setq i (1+ i))) - table) - "Cyrillic Windows-1251 encoding table.") - -) - -(define-ccl-program ccl-decode-windows1251 - `(3 - ((read r0) - (loop - (write-read-repeat r0 ,cyrillic-windows-1251-decode-table)))) - "CCL program to decode Windows-1251.") - -(define-ccl-program ccl-encode-windows1251 - `(1 - ((read r0) - (loop - (if (r0 != ,(charset-id 'cyrillic-iso8859-5)) - (write-read-repeat r0) - ((read r0) - (write-read-repeat r0 , cyrillic-windows-1251-encode-table)))))) - "CCL program to encode Windows-1251.") - -(make-coding-system - 'windows-1251 'ccl - "Coding-system used for Windows-1251." - '(decode ccl-decode-windows1251 - encode ccl-encode-windows1251 - mnemonic "CyrW")) - -;; `iso-8-1' is not correct, but XEmacs doesn't have a `ccl' category -(coding-system-put 'windows-1251 'category 'iso-8-1) - -(set-language-info-alist - "Cyrillic-Win" '((charset cyrillic-iso8859-5) - (coding-system windows-1251) - (coding-priority windows-1251) - (input-method . "cyrillic-yawerty") - (features cyril-util) - (tutorial . "TUTORIAL.ru") - (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") - (documentation . "Support for Cyrillic Windows-1251.")) - '("Cyrillic")) +;;; WINDOWS-1251 deleted; we support it automatically in XEmacs ;;; ALTERNATIVNYJ @@ -304,7 +229,7 @@ (make-coding-system 'alternativnyj 'ccl - "Coding-system used for Alternativnyj" + "Alternativnyj (Cyrillic)" '(decode ccl-decode-alternativnyj encode ccl-encode-alternativnyj mnemonic "Cy.Alt"))