1315
|
1 ;;; mule-win32-init.el --- initialization code for MS Windows/Cygwin under MULE
|
|
2 ;;; Copyright (C) 2001, 2002 Ben Wing.
|
|
3
|
|
4 ;; This file is part of XEmacs.
|
|
5
|
|
6 ;; XEmacs is free software; you can redistribute it and/or modify it
|
|
7 ;; under the terms of the GNU General Public License as published by
|
|
8 ;; the Free Software Foundation; either version 2, or (at your option)
|
|
9 ;; any later version.
|
|
10
|
|
11 ;; XEmacs is distributed in the hope that it will be useful, but
|
|
12 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
14 ;; General Public License for more details.
|
|
15
|
|
16 ;; You should have received a copy of the GNU General Public License
|
|
17 ;; along with XEmacs; see the file COPYING. If not, write to the
|
|
18 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
19 ;; Boston, MA 02111-1307, USA.
|
|
20
|
|
21 (make-coding-system
|
|
22 'mswindows-multibyte 'mswindows-multibyte
|
|
23 "MS Windows Multibyte (current code page)"
|
|
24 '(mnemonic "MSW-MB"
|
|
25 documentation
|
|
26 "MS Windows multibyte -- current code page.
|
|
27
|
|
28 This implements the encoding specified by the current code page --
|
|
29 i.e. the ANSI code page corresponding to the current locale, as
|
|
30 returned by
|
|
31
|
|
32 (mswindows-locale-code-page (mswindows-current-locale))
|
|
33 "
|
|
34 locale current
|
|
35 code-page ansi))
|
|
36
|
|
37 ;; we temporarily aliased this to raw-text in intl-win32.c.
|
|
38 (define-coding-system-alias 'mswindows-multibyte-system-default nil)
|
|
39 (make-coding-system
|
|
40 'mswindows-multibyte-system-default 'mswindows-multibyte
|
|
41 "MS Windows Multibyte (system default code page)"
|
|
42 '(mnemonic "MSW-MB-SysDef"
|
|
43 documentation
|
|
44 "MS Windows multibyte -- system default code page.
|
|
45
|
|
46 This implements the encoding specified by the system default code page
|
|
47 -- i.e. the ANSI code page corresponding to the system default locale,
|
|
48 as returned by
|
|
49
|
|
50 (mswindows-locale-code-page (mswindows-system-default-locale))
|
|
51 "
|
|
52 locale system-default
|
|
53 code-page ansi))
|
|
54
|
|
55 (make-coding-system
|
|
56 'mswindows-multibyte-user-default 'mswindows-multibyte
|
|
57 "MS Windows Multibyte (user default code page)"
|
|
58 '(mnemonic "MSW-MB-UserDef"
|
|
59 documentation
|
|
60 "MS Windows multibyte -- user default code page.
|
|
61
|
|
62 This implements the encoding specified by the user default code page
|
|
63 -- i.e. the ANSI code page corresponding to the user default locale,
|
|
64 as returned by
|
|
65
|
|
66 (mswindows-locale-code-page (mswindows-user-default-locale))
|
|
67 "
|
|
68 locale user-default
|
|
69 code-page ansi))
|
|
70
|
|
71 (make-coding-system
|
|
72 'mswindows-multibyte-oem 'mswindows-multibyte
|
|
73 "MS Windows Multibyte (current OEM code page)"
|
|
74 '(mnemonic "MSW-MB-OEM"
|
|
75 documentation
|
|
76 "MS Windows multibyte -- current OEM code page.
|
|
77
|
|
78 This implements the encoding specified by the current OEM code page
|
|
79 -- i.e. the OEM code page corresponding to the current locale,
|
|
80 as returned by
|
|
81
|
|
82 (mswindows-locale-oem-code-page (mswindows-current-locale))
|
|
83 "
|
|
84 locale current
|
|
85 code-page oem))
|
|
86
|
|
87 (make-coding-system
|
|
88 'mswindows-multibyte-oem-system-default 'mswindows-multibyte
|
|
89 "MS Windows Multibyte (system default OEM code page)"
|
|
90 '(mnemonic "MSW-MB-OEM-SysDef"
|
|
91 documentation
|
|
92 "MS Windows multibyte -- system default OEM code page.
|
|
93
|
|
94 This implements the encoding specified by the system default OEM code page
|
|
95 -- i.e. the OEM code page corresponding to the system default locale,
|
|
96 as returned by
|
|
97
|
|
98 (mswindows-locale-oem-code-page (mswindows-system-default-locale))
|
|
99 "
|
|
100 locale system-default
|
|
101 code-page oem))
|
|
102
|
|
103 (make-coding-system
|
|
104 'mswindows-multibyte-oem-user-default 'mswindows-multibyte
|
|
105 "MS Windows Multibyte (user default OEM code page)"
|
|
106 '(mnemonic "MSW-MB-OEM-UserDef"
|
|
107 documentation
|
|
108 "MS Windows multibyte -- user default OEM code page.
|
|
109
|
|
110 This implements the encoding specified by the user default OEM code page
|
|
111 -- i.e. the OEM code page corresponding to the user default locale,
|
|
112 as returned by
|
|
113
|
|
114 (mswindows-locale-oem-code-page (mswindows-user-default-locale))
|
|
115 "
|
|
116 locale user-default
|
|
117 code-page oem))
|
|
118
|
|
119 (let ((cplist
|
|
120 '(("EBCDIC" 037 "EBCDIC")
|
|
121 ("OEM" 437 "MS-DOS United States")
|
|
122 ("EBCDIC" 500 "EBCDIC \"500V1\"")
|
|
123 ("OEM" 708 "Arabic (ASMO 708)")
|
|
124 ("OEM" 709 "Arabic (ASMO 449+, BCON V4)")
|
|
125 ("OEM" 710 "Arabic (Transparent Arabic)")
|
|
126 ("OEM" 720 "Arabic (Transparent ASMO)")
|
|
127 ("OEM" 737 "Greek (formerly 437G)")
|
|
128 ("OEM" 775 "Baltic")
|
|
129 ("OEM" 850 "MS-DOS Multilingual (Latin I)")
|
|
130 ("OEM" 852 "MS-DOS Slavic (Latin II)")
|
|
131 ("OEM" 855 "IBM Cyrillic (primarily Russian)")
|
|
132 ("OEM" 857 "IBM Turkish")
|
|
133 ("OEM" 860 "MS-DOS Portuguese")
|
|
134 ("OEM" 861 "MS-DOS Icelandic")
|
|
135 ("OEM" 862 "Hebrew")
|
|
136 ("OEM" 863 "MS-DOS Canadian-French")
|
|
137 ("OEM" 864 "Arabic")
|
|
138 ("OEM" 865 "MS-DOS Nordic")
|
|
139 ("OEM" 866 "MS-DOS Russian")
|
|
140 ("OEM" 869 "IBM Modern Greek")
|
|
141 ("Ansi/OEM" 874 "Thai")
|
|
142 ("EBCDIC" 875 "EBCDIC")
|
|
143 ("Ansi/OEM" 932 "Japanese")
|
|
144 ("Ansi/OEM" 936 "Chinese (PRC, Singapore)")
|
|
145 ("Ansi/OEM" 949 "Korean")
|
|
146 ("Ansi/OEM" 950 "Chinese (Taiwan; Hong Kong SAR, PRC)")
|
|
147 ("EBCDIC" 1026 "EBCDIC")
|
|
148 ("ANSI" 1200 "Unicode (BMP of ISO 10646)")
|
|
149 ("ANSI" 1250 "Windows 3.1 Eastern European")
|
|
150 ("ANSI" 1251 "Windows 3.1 Cyrillic")
|
|
151 ("ANSI" 1252 "Windows 3.1 US (ANSI)")
|
|
152 ("ANSI" 1253 "Windows 3.1 Greek")
|
|
153 ("ANSI" 1254 "Windows 3.1 Turkish")
|
|
154 ("ANSI" 1255 "Hebrew")
|
|
155 ("ANSI" 1256 "Arabic")
|
|
156 ("ANSI" 1257 "Baltic")
|
|
157 ("ANSI" 1258 "VietNam")
|
|
158 ("Ansi/OEM" 1361 "Korean (Johab)")
|
|
159 ("Mac" 10000 "Macintosh Roman")
|
|
160 ("Mac" 10001 "Macintosh Japanese")
|
|
161 ("Mac" 10006 "Macintosh Greek I")
|
|
162 ("Mac" 10007 "Macintosh Cyrillic")
|
|
163 ("Mac" 10029 "Macintosh Latin 2")
|
|
164 ("Mac" 10079 "Macintosh Icelandic")
|
|
165 ("Mac" 10081 "Macintosh Turkish"))))
|
|
166 (dolist (cpprops cplist)
|
|
167 (let ((ansioem (first cpprops))
|
|
168 (cp (second cpprops))
|
|
169 (name (third cpprops)))
|
|
170 (make-coding-system
|
|
171 (intern (format "windows-%s" cp))
|
|
172 'mswindows-multibyte
|
|
173 (format "MS Windows code page %s (%s, %s)" cp ansioem name)
|
|
174 `(mnemonic
|
|
175 ,(format "MSW-%s" cp)
|
|
176 code-page ,cp
|
|
177 documentation
|
|
178 ,(format
|
|
179 "MS Windows Multibyte -- code page %s (%s, %s).
|
|
180
|
|
181 This implements the encoding specified by code page %s.
|
|
182 For more information on code pages, see `mswindows-charset-code-page'."
|
|
183 cp ansioem name cp))))))
|