Mercurial > hg > xemacs-beta
comparison lisp/mule/mule-coding.el @ 333:4f79e16b1112 r21-0-64
Import from CVS: tag r21-0-64
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:49:50 +0200 |
parents | |
children | a4f53d9b3154 abe6d1db359e |
comparison
equal
deleted
inserted
replaced
332:bb75ebac9531 | 333:4f79e16b1112 |
---|---|
1 ;;; mule-coding.el --- Coding-system functions for Mule. | |
2 | |
3 ;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. | |
4 ;; Licensed to the Free Software Foundation. | |
5 ;; Copyright (C) 1995 Amdahl Corporation. | |
6 ;; Copyright (C) 1995 Sun Microsystems. | |
7 ;; Copyright (C) 1997 MORIOKA Tomohiko | |
8 | |
9 ;; This file is part of XEmacs. | |
10 | |
11 ;; XEmacs is free software; you can redistribute it and/or modify it | |
12 ;; under the terms of the GNU General Public License as published by | |
13 ;; the Free Software Foundation; either version 2, or (at your option) | |
14 ;; any later version. | |
15 | |
16 ;; XEmacs is distributed in the hope that it will be useful, but | |
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
19 ;; General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
22 ;; along with XEmacs; see the file COPYING. If not, write to the | |
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
25 | |
26 ;;; Commentary: | |
27 | |
28 ;;; split off of mule.el and mostly moved to coding.el | |
29 | |
30 ;;; Code: | |
31 | |
32 (defun coding-system-force-on-output (coding-system register) | |
33 "Return the 'force-on-output property of CODING-SYSTEM for the specified REGISTER." | |
34 (unless (integerp register) | |
35 (signal 'wrong-type-argument (list 'integerp register))) | |
36 (coding-system-property | |
37 coding-system | |
38 (case register | |
39 (0 'force-g0-on-output) | |
40 (1 'force-g1-on-output) | |
41 (2 'force-g2-on-output) | |
42 (3 'force-g3-on-output) | |
43 (t (signal 'args-out-of-range (list register 0 3)))))) | |
44 | |
45 (defun coding-system-short (coding-system) | |
46 "Return the 'short property of CODING-SYSTEM." | |
47 (coding-system-property coding-system 'short)) | |
48 | |
49 (defun coding-system-no-ascii-eol (coding-system) | |
50 "Return the 'no-ascii-eol property of CODING-SYSTEM." | |
51 (coding-system-property coding-system 'no-ascii-eol)) | |
52 | |
53 (defun coding-system-no-ascii-cntl (coding-system) | |
54 "Return the 'no-ascii-cntl property of CODING-SYSTEM." | |
55 (coding-system-property coding-system 'no-ascii-cntl)) | |
56 | |
57 (defun coding-system-seven (coding-system) | |
58 "Return the 'seven property of CODING-SYSTEM." | |
59 (coding-system-property coding-system 'seven)) | |
60 | |
61 (defun coding-system-lock-shift (coding-system) | |
62 "Return the 'lock-shift property of CODING-SYSTEM." | |
63 (coding-system-property coding-system 'lock-shift)) | |
64 | |
65 ;;(defun coding-system-use-japanese-jisx0201-roman (coding-system) | |
66 ;; "Return the 'use-japanese-jisx0201-roman property of CODING-SYSTEM." | |
67 ;; (coding-system-property coding-system 'use-japanese-jisx0201-roman)) | |
68 | |
69 ;;(defun coding-system-use-japanese-jisx0208-1978 (coding-system) | |
70 ;; "Return the 'use-japanese-jisx0208-1978 property of CODING-SYSTEM." | |
71 ;; (coding-system-property coding-system 'use-japanese-jisx0208-2978)) | |
72 | |
73 (defun coding-system-no-iso6429 (coding-system) | |
74 "Return the 'no-iso6429 property of CODING-SYSTEM." | |
75 (coding-system-property coding-system 'no-iso6429)) | |
76 | |
77 (defun coding-system-ccl-encode (coding-system) | |
78 "Return the CCL 'encode property of CODING-SYSTEM." | |
79 (coding-system-property coding-system 'encode)) | |
80 | |
81 (defun coding-system-ccl-decode (coding-system) | |
82 "Return the CCL 'decode property of CODING-SYSTEM." | |
83 (coding-system-property coding-system 'decode)) | |
84 | |
85 | |
86 ;;;; Definitions of predefined coding systems | |
87 | |
88 (make-coding-system | |
89 'ctext 'iso2022 | |
90 "Coding-system used in X as Compound Text Encoding." | |
91 '(charset-g0 ascii | |
92 charset-g1 latin-iso8859-1 | |
93 eol-type nil | |
94 mnemonic "CText")) | |
95 | |
96 ;;; iso-8859-1 and ctext are aliases. | |
97 | |
98 ;; (copy-coding-system 'ctext 'iso-8859-1) | |
99 (make-coding-system | |
100 'iso-8859-1 'no-conversion | |
101 "Coding-system used in X as Compound Text Encoding." | |
102 '(eol-type nil mnemonic "Noconv")) | |
103 | |
104 (make-coding-system | |
105 'iso-2022-8bit-ss2 'iso2022 | |
106 "ISO-2022 coding system using SS2 for 96-charset in 8-bit code." | |
107 '(charset-g0 ascii | |
108 charset-g1 latin-iso8859-1 | |
109 charset-g2 t ;; unspecified but can be used later. | |
110 short t | |
111 mnemonic "ISO8/SS" | |
112 )) | |
113 | |
114 (make-coding-system | |
115 'iso-2022-7bit-ss2 'iso2022 | |
116 "ISO-2022 coding system using SS2 for 96-charset in 7-bit code." | |
117 '(charset-g0 ascii | |
118 charset-g2 t ;; unspecified but can be used later. | |
119 seven t | |
120 short t | |
121 mnemonic "ISO7/SS" | |
122 eol-type nil)) | |
123 | |
124 ;; (copy-coding-system 'iso-2022-7bit-ss2 'iso-2022-jp-2) | |
125 (make-coding-system | |
126 'iso-2022-jp-2 'iso2022 | |
127 "ISO-2022 coding system using SS2 for 96-charset in 7-bit code." | |
128 '(charset-g0 ascii | |
129 charset-g2 t ;; unspecified but can be used later. | |
130 seven t | |
131 short t | |
132 mnemonic "ISO7/SS" | |
133 eol-type nil)) | |
134 | |
135 (make-coding-system | |
136 'iso-2022-7bit 'iso2022 | |
137 "ISO 2022 based 7-bit encoding using only G0" | |
138 '(charset-g0 ascii | |
139 seven t | |
140 short t | |
141 mnemonic "ISO7")) | |
142 | |
143 ;; compatibility for old XEmacsen | |
144 (copy-coding-system 'iso-2022-7bit 'iso-2022-7) | |
145 | |
146 (make-coding-system | |
147 'iso-2022-8 'iso2022 | |
148 "ISO-2022 eight-bit coding system. No single-shift or locking-shift." | |
149 '(charset-g0 ascii | |
150 charset-g1 latin-iso8859-1 | |
151 short t | |
152 mnemonic "ISO8" | |
153 )) | |
154 | |
155 (make-coding-system | |
156 'escape-quoted 'iso2022 | |
157 "ISO-2022 eight-bit coding system with escape quoting; used for .ELC files." | |
158 '(charset-g0 ascii | |
159 charset-g1 latin-iso8859-1 | |
160 eol-type lf | |
161 escape-quoted t | |
162 mnemonic "ESC/Quot" | |
163 )) | |
164 | |
165 (make-coding-system | |
166 'iso-2022-lock 'iso2022 | |
167 "ISO-2022 coding system using Locking-Shift for 96-charset." | |
168 '(charset-g0 ascii | |
169 charset-g1 t ;; unspecified but can be used later. | |
170 seven t | |
171 lock-shift t | |
172 mnemonic "ISO7/Lock" | |
173 )) | |
174 | |
175 ;; initialize the coding categories to something semi-reasonable | |
176 ;; so that the remaining Lisp files can contain extended characters. | |
177 ;; (They will be in ISO-7 format) | |
178 | |
179 (set-coding-priority-list '(iso-8-2 iso-8-designate iso-8-1 | |
180 iso-7 iso-lock-shift no-conversion)) | |
181 | |
182 (set-coding-category-system 'iso-7 'iso-2022-7) | |
183 (set-coding-category-system 'iso-8-designate 'ctext) | |
184 (set-coding-category-system 'iso-8-1 'ctext) | |
185 (set-coding-category-system 'iso-lock-shift 'iso-2022-lock) | |
186 (set-coding-category-system 'no-conversion 'no-conversion) | |
187 | |
188 ;;; mule-coding.el ends here |