]> code.delx.au - gnu-emacs/blob - lisp/term/mac-win.el
Add a provide statement.
[gnu-emacs] / lisp / term / mac-win.el
1 ;;; mac-win.el --- support for "Macintosh windows"
2
3 ;; Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
4
5 ;; Author: Andrew Choi <akochoi@mac.com>
6
7 ;; This file is part of GNU Emacs.
8
9 ;; GNU Emacs is free software; you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation; either version 2, or (at your option)
12 ;; any later version.
13
14 ;; GNU Emacs is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 ;; GNU General Public License for more details.
18
19 ;; You should have received a copy of the GNU General Public License
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22 ;; Boston, MA 02111-1307, USA.
23
24 ;;; Commentary:
25
26 ;;; Code:
27
28 ;; ---------------------------------------------------------------------------
29 ;; We want to delay setting frame parameters until the faces are setup
30
31 ;; Mac can't handle ~ prefix in file names
32 ;(setq auto-save-list-file-prefix ".saves-")
33
34 (setq frame-creation-function 'x-create-frame-with-faces)
35
36 ;; for debugging
37 ;; (defun mac-handle-scroll-bar-event (event) (interactive "e") (princ event))
38
39 ;;(global-set-key [vertical-scroll-bar mouse-1] 'mac-handle-scroll-bar-event)
40
41 (global-set-key
42 [vertical-scroll-bar down-mouse-1]
43 'mac-handle-scroll-bar-event)
44
45 (global-unset-key [vertical-scroll-bar drag-mouse-1])
46 (global-unset-key [vertical-scroll-bar mouse-1])
47
48 (require 'scroll-bar)
49
50 (defun mac-handle-scroll-bar-event (event)
51 "Handle scroll bar EVENT to emulate Mac Toolbox style scrolling."
52 (interactive "e")
53 (let* ((position (event-start event))
54 (window (nth 0 position))
55 (bar-part (nth 4 position)))
56 (select-window window)
57 (cond
58 ((eq bar-part 'up)
59 (goto-char (window-start window))
60 (mac-scroll-down-line))
61 ((eq bar-part 'above-handle)
62 (mac-scroll-down))
63 ((eq bar-part 'handle)
64 (scroll-bar-drag event))
65 ((eq bar-part 'below-handle)
66 (mac-scroll-up))
67 ((eq bar-part 'down)
68 (goto-char (window-start window))
69 (mac-scroll-up-line)))))
70
71 (defun mac-scroll-ignore-events ()
72 ;; Ignore confusing non-mouse events
73 (while (not (memq (car-safe (read-event))
74 '(mouse-1 double-mouse-1 triple-mouse-1))) nil))
75
76 (defun mac-scroll-down ()
77 (track-mouse
78 (mac-scroll-ignore-events)
79 (scroll-down)))
80
81 (defun mac-scroll-down-line ()
82 (track-mouse
83 (mac-scroll-ignore-events)
84 (scroll-down 1)))
85
86 (defun mac-scroll-up ()
87 (track-mouse
88 (mac-scroll-ignore-events)
89 (scroll-up)))
90
91 (defun mac-scroll-up-line ()
92 (track-mouse
93 (mac-scroll-ignore-events)
94 (scroll-up 1)))
95
96 (defun xw-defined-colors (&optional frame)
97 "Internal function called by `defined-colors', which see."
98 (or frame (setq frame (selected-frame)))
99 (let ((all-colors x-colors)
100 (this-color nil)
101 (defined-colors nil))
102 (while all-colors
103 (setq this-color (car all-colors)
104 all-colors (cdr all-colors))
105 (and (color-supported-p this-color frame t)
106 (setq defined-colors (cons this-color defined-colors))))
107 defined-colors))
108
109 ;; Don't have this yet.
110 (fset 'x-get-resource 'ignore)
111
112 (unless (eq system-type 'darwin)
113 ;; This variable specifies the Unix program to call (as a process) to
114 ;; deteremine the amount of free space on a file system (defaults to
115 ;; df). If it is not set to nil, ls-lisp will not work correctly
116 ;; unless an external application df is implemented on the Mac.
117 (setq directory-free-space-program nil)
118
119 ;; Set this so that Emacs calls subprocesses with "sh" as shell to
120 ;; expand filenames Note no subprocess for the shell is actually
121 ;; started (see run_mac_command in sysdep.c).
122 (setq shell-file-name "sh"))
123
124 ;; X Window emulation in macterm.c is not complete enough to start a
125 ;; frame without a minibuffer properly. Call this to tell ediff
126 ;; library to use a single frame.
127 ; (ediff-toggle-multiframe)
128
129 ;; Setup to use the Mac clipboard. The functions mac-cut-function and
130 ;; mac-paste-function are defined in mac.c.
131 (set-selection-coding-system 'compound-text-mac)
132
133 (setq interprogram-cut-function
134 '(lambda (str push)
135 (mac-cut-function
136 (encode-coding-string str selection-coding-system t) push)))
137
138 (setq interprogram-paste-function
139 '(lambda ()
140 (let ((clipboard (mac-paste-function)))
141 (if clipboard
142 (decode-coding-string clipboard selection-coding-system t)))))
143
144 ;; Don't show the frame name; that's redundant.
145 (setq-default mode-line-frame-identification " ")
146
147 (defun mac-drag-n-drop (event)
148 "Edit the files listed in the drag-n-drop event.\n\
149 Switch to a buffer editing the last file dropped."
150 (interactive "e")
151 (save-excursion
152 ;; Make sure the drop target has positive co-ords
153 ;; before setting the selected frame - otherwise it
154 ;; won't work. <skx@tardis.ed.ac.uk>
155 (let* ((window (posn-window (event-start event)))
156 (coords (posn-x-y (event-start event)))
157 (x (car coords))
158 (y (cdr coords)))
159 (if (and (> x 0) (> y 0))
160 (set-frame-selected-window nil window))
161 (mapcar
162 '(lambda (file)
163 (find-file
164 (decode-coding-string
165 file
166 (or file-name-coding-system
167 default-file-name-coding-system))))
168 (car (cdr (cdr event)))))
169 (raise-frame)
170 (recenter)))
171
172 (global-set-key [drag-n-drop] 'mac-drag-n-drop)
173
174 ;; By checking whether the variable mac-ready-for-drag-n-drop has been
175 ;; defined, the event loop in macterm.c can be informed that it can
176 ;; now receive Finder drag and drop events. Files dropped onto the
177 ;; Emacs application icon can only be processed when the initial frame
178 ;; has been created: this is where the files should be opened.
179 (add-hook 'after-init-hook
180 '(lambda ()
181 (defvar mac-ready-for-drag-n-drop t)))
182
183 ; Define constant values to be set to mac-keyboard-text-encoding
184 (defconst kTextEncodingMacRoman 0)
185 (defconst kTextEncodingISOLatin1 513 "0x201")
186 (defconst kTextEncodingISOLatin2 514 "0x202")
187
188
189 (define-ccl-program ccl-encode-mac-roman-font
190 `(0
191 (if (r0 != ,(charset-id 'ascii))
192 (if (r0 <= ?\x8f)
193 (translate-character mac-roman-encoder r0 r1)
194 ((r1 <<= 7)
195 (r1 |= r2)
196 (translate-character mac-roman-encoder r0 r1)))))
197 "CCL program for Mac Roman font")
198
199 (let
200 ((encoding-vector (make-vector 256 nil))
201 (i 0)
202 (vec ;; mac-centraleuropean (128..255) -> UCS mapping
203 [ #x00C4 ;; 128:LATIN CAPITAL LETTER A WITH DIAERESIS
204 #x0100 ;; 129:LATIN CAPITAL LETTER A WITH MACRON
205 #x0101 ;; 130:LATIN SMALL LETTER A WITH MACRON
206 #x00C9 ;; 131:LATIN CAPITAL LETTER E WITH ACUTE
207 #x0104 ;; 132:LATIN CAPITAL LETTER A WITH OGONEK
208 #x00D6 ;; 133:LATIN CAPITAL LETTER O WITH DIAERESIS
209 #x00DC ;; 134:LATIN CAPITAL LETTER U WITH DIAERESIS
210 #x00E1 ;; 135:LATIN SMALL LETTER A WITH ACUTE
211 #x0105 ;; 136:LATIN SMALL LETTER A WITH OGONEK
212 #x010C ;; 137:LATIN CAPITAL LETTER C WITH CARON
213 #x00E4 ;; 138:LATIN SMALL LETTER A WITH DIAERESIS
214 #x010D ;; 139:LATIN SMALL LETTER C WITH CARON
215 #x0106 ;; 140:LATIN CAPITAL LETTER C WITH ACUTE
216 #x0107 ;; 141:LATIN SMALL LETTER C WITH ACUTE
217 #x00E9 ;; 142:LATIN SMALL LETTER E WITH ACUTE
218 #x0179 ;; 143:LATIN CAPITAL LETTER Z WITH ACUTE
219 #x017A ;; 144:LATIN SMALL LETTER Z WITH ACUTE
220 #x010E ;; 145:LATIN CAPITAL LETTER D WITH CARON
221 #x00ED ;; 146:LATIN SMALL LETTER I WITH ACUTE
222 #x010F ;; 147:LATIN SMALL LETTER D WITH CARON
223 #x0112 ;; 148:LATIN CAPITAL LETTER E WITH MACRON
224 #x0113 ;; 149:LATIN SMALL LETTER E WITH MACRON
225 #x0116 ;; 150:LATIN CAPITAL LETTER E WITH DOT ABOVE
226 #x00F3 ;; 151:LATIN SMALL LETTER O WITH ACUTE
227 #x0117 ;; 152:LATIN SMALL LETTER E WITH DOT ABOVE
228 #x00F4 ;; 153:LATIN SMALL LETTER O WITH CIRCUMFLEX
229 #x00F6 ;; 154:LATIN SMALL LETTER O WITH DIAERESIS
230 #x00F5 ;; 155:LATIN SMALL LETTER O WITH TILDE
231 #x00FA ;; 156:LATIN SMALL LETTER U WITH ACUTE
232 #x011A ;; 157:LATIN CAPITAL LETTER E WITH CARON
233 #x011B ;; 158:LATIN SMALL LETTER E WITH CARON
234 #x00FC ;; 159:LATIN SMALL LETTER U WITH DIAERESIS
235 #x2020 ;; 160:DAGGER
236 #x00B0 ;; 161:DEGREE SIGN
237 #x0118 ;; 162:LATIN CAPITAL LETTER E WITH OGONEK
238 #x00A3 ;; 163:POUND SIGN
239 #x00A7 ;; 164:SECTION SIGN
240 #x2022 ;; 165:BULLET
241 #x00B6 ;; 166:PILCROW SIGN
242 #x00DF ;; 167:LATIN SMALL LETTER SHARP S
243 #x00AE ;; 168:REGISTERED SIGN
244 #x00A9 ;; 169:COPYRIGHT SIGN
245 #x2122 ;; 170:TRADE MARK SIGN
246 #x0119 ;; 171:LATIN SMALL LETTER E WITH OGONEK
247 #x00A8 ;; 172:DIAERESIS
248 #x2260 ;; 173:NOT EQUAL TO
249 #x0123 ;; 174:LATIN SMALL LETTER G WITH CEDILLA
250 #x012E ;; 175:LATIN CAPITAL LETTER I WITH OGONEK
251 #x012F ;; 176:LATIN SMALL LETTER I WITH OGONEK
252 #x012A ;; 177:LATIN CAPITAL LETTER I WITH MACRON
253 #x2264 ;; 178:LESS-THAN OR EQUAL TO
254 #x2265 ;; 179:GREATER-THAN OR EQUAL TO
255 #x012B ;; 180:LATIN SMALL LETTER I WITH MACRON
256 #x0136 ;; 181:LATIN CAPITAL LETTER K WITH CEDILLA
257 #x2202 ;; 182:PARTIAL DIFFERENTIAL
258 #x2211 ;; 183:N-ARY SUMMATION
259 #x0142 ;; 184:LATIN SMALL LETTER L WITH STROKE
260 #x013B ;; 185:LATIN CAPITAL LETTER L WITH CEDILLA
261 #x013C ;; 186:LATIN SMALL LETTER L WITH CEDILLA
262 #x013D ;; 187:LATIN CAPITAL LETTER L WITH CARON
263 #x013E ;; 188:LATIN SMALL LETTER L WITH CARON
264 #x0139 ;; 189:LATIN CAPITAL LETTER L WITH ACUTE
265 #x013A ;; 190:LATIN SMALL LETTER L WITH ACUTE
266 #x0145 ;; 191:LATIN CAPITAL LETTER N WITH CEDILLA
267 #x0146 ;; 192:LATIN SMALL LETTER N WITH CEDILLA
268 #x0143 ;; 193:LATIN CAPITAL LETTER N WITH ACUTE
269 #x00AC ;; 194:NOT SIGN
270 #x221A ;; 195:SQUARE ROOT
271 #x0144 ;; 196:LATIN SMALL LETTER N WITH ACUTE
272 #x0147 ;; 197:LATIN CAPITAL LETTER N WITH CARON
273 #x2206 ;; 198:INCREMENT
274 #x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
275 #x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
276 #x2026 ;; 201:HORIZONTAL ELLIPSIS
277 #x00A0 ;; 202:NO-BREAK SPACE
278 #x0148 ;; 203:LATIN SMALL LETTER N WITH CARON
279 #x0150 ;; 204:LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
280 #x00D5 ;; 205:LATIN CAPITAL LETTER O WITH TILDE
281 #x0151 ;; 206:LATIN SMALL LETTER O WITH DOUBLE ACUTE
282 #x014C ;; 207:LATIN CAPITAL LETTER O WITH MACRON
283 #x2013 ;; 208:EN DASH
284 #x2014 ;; 209:EM DASH
285 #x201C ;; 210:LEFT DOUBLE QUOTATION MARK
286 #x201D ;; 211:RIGHT DOUBLE QUOTATION MARK
287 #x2018 ;; 212:LEFT SINGLE QUOTATION MARK
288 #x2019 ;; 213:RIGHT SINGLE QUOTATION MARK
289 #x00F7 ;; 214:DIVISION SIGN
290 #x25CA ;; 215:LOZENGE
291 #x014D ;; 216:LATIN SMALL LETTER O WITH MACRON
292 #x0154 ;; 217:LATIN CAPITAL LETTER R WITH ACUTE
293 #x0155 ;; 218:LATIN SMALL LETTER R WITH ACUTE
294 #x0158 ;; 219:LATIN CAPITAL LETTER R WITH CARON
295 #x2039 ;; 220:SINGLE LEFT-POINTING ANGLE QUOTATION MARK
296 #x203A ;; 221:SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
297 #x0159 ;; 222:LATIN SMALL LETTER R WITH CARON
298 #x0156 ;; 223:LATIN CAPITAL LETTER R WITH CEDILLA
299 #x0157 ;; 224:LATIN SMALL LETTER R WITH CEDILLA
300 #x0160 ;; 225:LATIN CAPITAL LETTER S WITH CARON
301 #x201A ;; 226:SINGLE LOW-9 QUOTATION MARK
302 #x201E ;; 227:DOUBLE LOW-9 QUOTATION MARK
303 #x0161 ;; 228:LATIN SMALL LETTER S WITH CARON
304 #x015A ;; 229:LATIN CAPITAL LETTER S WITH ACUTE
305 #x015B ;; 230:LATIN SMALL LETTER S WITH ACUTE
306 #x00C1 ;; 231:LATIN CAPITAL LETTER A WITH ACUTE
307 #x0164 ;; 232:LATIN CAPITAL LETTER T WITH CARON
308 #x0165 ;; 233:LATIN SMALL LETTER T WITH CARON
309 #x00CD ;; 234:LATIN CAPITAL LETTER I WITH ACUTE
310 #x017D ;; 235:LATIN CAPITAL LETTER Z WITH CARON
311 #x017E ;; 236:LATIN SMALL LETTER Z WITH CARON
312 #x016A ;; 237:LATIN CAPITAL LETTER U WITH MACRON
313 #x00D3 ;; 238:LATIN CAPITAL LETTER O WITH ACUTE
314 #x00D4 ;; 239:LATIN CAPITAL LETTER O WITH CIRCUMFLEX
315 #x016B ;; 240:LATIN SMALL LETTER U WITH MACRON
316 #x016E ;; 241:LATIN CAPITAL LETTER U WITH RING ABOVE
317 #x00DA ;; 242:LATIN CAPITAL LETTER U WITH ACUTE
318 #x016F ;; 243:LATIN SMALL LETTER U WITH RING ABOVE
319 #x0170 ;; 244:LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
320 #x0171 ;; 245:LATIN SMALL LETTER U WITH DOUBLE ACUTE
321 #x0172 ;; 246:LATIN CAPITAL LETTER U WITH OGONEK
322 #x0173 ;; 247:LATIN SMALL LETTER U WITH OGONEK
323 #x00DD ;; 248:LATIN CAPITAL LETTER Y WITH ACUTE
324 #x00FD ;; 249:LATIN SMALL LETTER Y WITH ACUTE
325 #x0137 ;; 250:LATIN SMALL LETTER K WITH CEDILLA
326 #x017B ;; 251:LATIN CAPITAL LETTER Z WITH DOT ABOVE
327 #x0141 ;; 252:LATIN CAPITAL LETTER L WITH STROKE
328 #x017C ;; 253:LATIN SMALL LETTER Z WITH DOT ABOVE
329 #x0122 ;; 254:LATIN CAPITAL LETTER G WITH CEDILLA
330 #x02C7 ;; 255:CARON
331 ])
332 translation-table)
333 (while (< i 128)
334 (aset encoding-vector i i)
335 (setq i (1+ i)))
336 (while (< i 256)
337 (aset encoding-vector i
338 (decode-char 'ucs (aref vec (- i 128))))
339 (setq i (1+ i)))
340 (setq translation-table
341 (make-translation-table-from-vector encoding-vector))
342 ;; (define-translation-table 'mac-centraleuropean-decoder translation-table)
343 (define-translation-table 'mac-centraleuropean-encoder
344 (char-table-extra-slot translation-table 0)))
345
346 (let
347 ((encoding-vector (make-vector 256 nil))
348 (i 0)
349 (vec ;; mac-cyrillic (128..255) -> UCS mapping
350 [ #x0410 ;; 128:CYRILLIC CAPITAL LETTER A
351 #x0411 ;; 129:CYRILLIC CAPITAL LETTER BE
352 #x0412 ;; 130:CYRILLIC CAPITAL LETTER VE
353 #x0413 ;; 131:CYRILLIC CAPITAL LETTER GHE
354 #x0414 ;; 132:CYRILLIC CAPITAL LETTER DE
355 #x0415 ;; 133:CYRILLIC CAPITAL LETTER IE
356 #x0416 ;; 134:CYRILLIC CAPITAL LETTER ZHE
357 #x0417 ;; 135:CYRILLIC CAPITAL LETTER ZE
358 #x0418 ;; 136:CYRILLIC CAPITAL LETTER I
359 #x0419 ;; 137:CYRILLIC CAPITAL LETTER SHORT I
360 #x041A ;; 138:CYRILLIC CAPITAL LETTER KA
361 #x041B ;; 139:CYRILLIC CAPITAL LETTER EL
362 #x041C ;; 140:CYRILLIC CAPITAL LETTER EM
363 #x041D ;; 141:CYRILLIC CAPITAL LETTER EN
364 #x041E ;; 142:CYRILLIC CAPITAL LETTER O
365 #x041F ;; 143:CYRILLIC CAPITAL LETTER PE
366 #x0420 ;; 144:CYRILLIC CAPITAL LETTER ER
367 #x0421 ;; 145:CYRILLIC CAPITAL LETTER ES
368 #x0422 ;; 146:CYRILLIC CAPITAL LETTER TE
369 #x0423 ;; 147:CYRILLIC CAPITAL LETTER U
370 #x0424 ;; 148:CYRILLIC CAPITAL LETTER EF
371 #x0425 ;; 149:CYRILLIC CAPITAL LETTER HA
372 #x0426 ;; 150:CYRILLIC CAPITAL LETTER TSE
373 #x0427 ;; 151:CYRILLIC CAPITAL LETTER CHE
374 #x0428 ;; 152:CYRILLIC CAPITAL LETTER SHA
375 #x0429 ;; 153:CYRILLIC CAPITAL LETTER SHCHA
376 #x042A ;; 154:CYRILLIC CAPITAL LETTER HARD SIGN
377 #x042B ;; 155:CYRILLIC CAPITAL LETTER YERU
378 #x042C ;; 156:CYRILLIC CAPITAL LETTER SOFT SIGN
379 #x042D ;; 157:CYRILLIC CAPITAL LETTER E
380 #x042E ;; 158:CYRILLIC CAPITAL LETTER YU
381 #x042F ;; 159:CYRILLIC CAPITAL LETTER YA
382 #x2020 ;; 160:DAGGER
383 #x00B0 ;; 161:DEGREE SIGN
384 #x0490 ;; 162:CYRILLIC CAPITAL LETTER GHE WITH UPTURN
385 #x00A3 ;; 163:POUND SIGN
386 #x00A7 ;; 164:SECTION SIGN
387 #x2022 ;; 165:BULLET
388 #x00B6 ;; 166:PILCROW SIGN
389 #x0406 ;; 167:CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
390 #x00AE ;; 168:REGISTERED SIGN
391 #x00A9 ;; 169:COPYRIGHT SIGN
392 #x2122 ;; 170:TRADE MARK SIGN
393 #x0402 ;; 171:CYRILLIC CAPITAL LETTER DJE
394 #x0452 ;; 172:CYRILLIC SMALL LETTER DJE
395 #x2260 ;; 173:NOT EQUAL TO
396 #x0403 ;; 174:CYRILLIC CAPITAL LETTER GJE
397 #x0453 ;; 175:CYRILLIC SMALL LETTER GJE
398 #x221E ;; 176:INFINITY
399 #x00B1 ;; 177:PLUS-MINUS SIGN
400 #x2264 ;; 178:LESS-THAN OR EQUAL TO
401 #x2265 ;; 179:GREATER-THAN OR EQUAL TO
402 #x0456 ;; 180:CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
403 #x00B5 ;; 181:MICRO SIGN
404 #x0491 ;; 182:CYRILLIC SMALL LETTER GHE WITH UPTURN
405 #x0408 ;; 183:CYRILLIC CAPITAL LETTER JE
406 #x0404 ;; 184:CYRILLIC CAPITAL LETTER UKRAINIAN IE
407 #x0454 ;; 185:CYRILLIC SMALL LETTER UKRAINIAN IE
408 #x0407 ;; 186:CYRILLIC CAPITAL LETTER YI
409 #x0457 ;; 187:CYRILLIC SMALL LETTER YI
410 #x0409 ;; 188:CYRILLIC CAPITAL LETTER LJE
411 #x0459 ;; 189:CYRILLIC SMALL LETTER LJE
412 #x040A ;; 190:CYRILLIC CAPITAL LETTER NJE
413 #x045A ;; 191:CYRILLIC SMALL LETTER NJE
414 #x0458 ;; 192:CYRILLIC SMALL LETTER JE
415 #x0405 ;; 193:CYRILLIC CAPITAL LETTER DZE
416 #x00AC ;; 194:NOT SIGN
417 #x221A ;; 195:SQUARE ROOT
418 #x0192 ;; 196:LATIN SMALL LETTER F WITH HOOK
419 #x2248 ;; 197:ALMOST EQUAL TO
420 #x2206 ;; 198:INCREMENT
421 #x00AB ;; 199:LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
422 #x00BB ;; 200:RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
423 #x2026 ;; 201:HORIZONTAL ELLIPSIS
424 #x00A0 ;; 202:NO-BREAK SPACE
425 #x040B ;; 203:CYRILLIC CAPITAL LETTER TSHE
426 #x045B ;; 204:CYRILLIC SMALL LETTER TSHE
427 #x040C ;; 205:CYRILLIC CAPITAL LETTER KJE
428 #x045C ;; 206:CYRILLIC SMALL LETTER KJE
429 #x0455 ;; 207:CYRILLIC SMALL LETTER DZE
430 #x2013 ;; 208:EN DASH
431 #x2014 ;; 209:EM DASH
432 #x201C ;; 210:LEFT DOUBLE QUOTATION MARK
433 #x201D ;; 211:RIGHT DOUBLE QUOTATION MARK
434 #x2018 ;; 212:LEFT SINGLE QUOTATION MARK
435 #x2019 ;; 213:RIGHT SINGLE QUOTATION MARK
436 #x00F7 ;; 214:DIVISION SIGN
437 #x201E ;; 215:DOUBLE LOW-9 QUOTATION MARK
438 #x040E ;; 216:CYRILLIC CAPITAL LETTER SHORT U
439 #x045E ;; 217:CYRILLIC SMALL LETTER SHORT U
440 #x040F ;; 218:CYRILLIC CAPITAL LETTER DZHE
441 #x045F ;; 219:CYRILLIC SMALL LETTER DZHE
442 #x2116 ;; 220:NUMERO SIGN
443 #x0401 ;; 221:CYRILLIC CAPITAL LETTER IO
444 #x0451 ;; 222:CYRILLIC SMALL LETTER IO
445 #x044F ;; 223:CYRILLIC SMALL LETTER YA
446 #x0430 ;; 224:CYRILLIC SMALL LETTER A
447 #x0431 ;; 225:CYRILLIC SMALL LETTER BE
448 #x0432 ;; 226:CYRILLIC SMALL LETTER VE
449 #x0433 ;; 227:CYRILLIC SMALL LETTER GHE
450 #x0434 ;; 228:CYRILLIC SMALL LETTER DE
451 #x0435 ;; 229:CYRILLIC SMALL LETTER IE
452 #x0436 ;; 230:CYRILLIC SMALL LETTER ZHE
453 #x0437 ;; 231:CYRILLIC SMALL LETTER ZE
454 #x0438 ;; 232:CYRILLIC SMALL LETTER I
455 #x0439 ;; 233:CYRILLIC SMALL LETTER SHORT I
456 #x043A ;; 234:CYRILLIC SMALL LETTER KA
457 #x043B ;; 235:CYRILLIC SMALL LETTER EL
458 #x043C ;; 236:CYRILLIC SMALL LETTER EM
459 #x043D ;; 237:CYRILLIC SMALL LETTER EN
460 #x043E ;; 238:CYRILLIC SMALL LETTER O
461 #x043F ;; 239:CYRILLIC SMALL LETTER PE
462 #x0440 ;; 240:CYRILLIC SMALL LETTER ER
463 #x0441 ;; 241:CYRILLIC SMALL LETTER ES
464 #x0442 ;; 242:CYRILLIC SMALL LETTER TE
465 #x0443 ;; 243:CYRILLIC SMALL LETTER U
466 #x0444 ;; 244:CYRILLIC SMALL LETTER EF
467 #x0445 ;; 245:CYRILLIC SMALL LETTER HA
468 #x0446 ;; 246:CYRILLIC SMALL LETTER TSE
469 #x0447 ;; 247:CYRILLIC SMALL LETTER CHE
470 #x0448 ;; 248:CYRILLIC SMALL LETTER SHA
471 #x0449 ;; 249:CYRILLIC SMALL LETTER SHCHA
472 #x044A ;; 250:CYRILLIC SMALL LETTER HARD SIGN
473 #x044B ;; 251:CYRILLIC SMALL LETTER YERU
474 #x044C ;; 252:CYRILLIC SMALL LETTER SOFT SIGN
475 #x044D ;; 253:CYRILLIC SMALL LETTER E
476 #x044E ;; 254:CYRILLIC SMALL LETTER YU
477 #x20AC ;; 255:EURO SIGN
478 ])
479 translation-table)
480 (while (< i 128)
481 (aset encoding-vector i i)
482 (setq i (1+ i)))
483 (while (< i 256)
484 (aset encoding-vector i
485 (decode-char 'ucs (aref vec (- i 128))))
486 (setq i (1+ i)))
487 (setq translation-table
488 (make-translation-table-from-vector encoding-vector))
489 ;; (define-translation-table 'mac-cyrillic-decoder translation-table)
490 (define-translation-table 'mac-cyrillic-encoder
491 (char-table-extra-slot translation-table 0)))
492
493 (defvar mac-font-encoder-list
494 '(("mac-roman" mac-roman-encoder
495 ccl-encode-mac-roman-font "%s")
496 ("mac-centraleuropean" mac-centraleuropean-encoder
497 ccl-encode-mac-centraleuropean-font "%s ce")
498 ("mac-cyrillic" mac-cyrillic-encoder
499 ccl-encode-mac-cyrillic-font "%s cy")))
500
501 (let ((encoder-list
502 (mapcar (lambda (lst) (nth 1 lst)) mac-font-encoder-list))
503 (charset-list
504 '(latin-iso8859-2
505 latin-iso8859-3 latin-iso8859-4
506 cyrillic-iso8859-5 greek-iso8859-7 hebrew-iso8859-8
507 latin-iso8859-9 latin-iso8859-14 latin-iso8859-15)))
508 (dolist (encoder encoder-list)
509 (let ((table (get encoder 'translation-table)))
510 (dolist (charset charset-list)
511 (dotimes (i 96)
512 (let* ((c (make-char charset (+ i 32)))
513 (mu (aref ucs-mule-to-mule-unicode c))
514 (mac-encoded (and mu (aref table mu))))
515 (if mac-encoded
516 (aset table c mac-encoded))))))))
517
518 (define-ccl-program ccl-encode-mac-centraleuropean-font
519 `(0
520 (if (r0 != ,(charset-id 'ascii))
521 (if (r0 <= ?\x8f)
522 (translate-character mac-centraleuropean-encoder r0 r1)
523 ((r1 <<= 7)
524 (r1 |= r2)
525 (translate-character mac-centraleuropean-encoder r0 r1)))))
526 "CCL program for Mac Central European font")
527
528 (define-ccl-program ccl-encode-mac-cyrillic-font
529 `(0
530 (if (r0 != ,(charset-id 'ascii))
531 (if (r0 <= ?\x8f)
532 (translate-character mac-cyrillic-encoder r0 r1)
533 ((r1 <<= 7)
534 (r1 |= r2)
535 (translate-character mac-cyrillic-encoder r0 r1)))))
536 "CCL program for Mac Cyrillic font")
537
538
539 (setq font-ccl-encoder-alist
540 (nconc
541 (mapcar (lambda (lst) (cons (nth 0 lst) (nth 2 lst)))
542 mac-font-encoder-list)
543 font-ccl-encoder-alist))
544
545 (defun fontset-add-mac-fonts (fontset &optional base-family)
546 (if base-family
547 (setq base-family (downcase base-family))
548 (let ((ascii-font
549 (downcase (x-resolve-font-name
550 (fontset-font fontset (charset-id 'ascii))))))
551 (setq base-family (aref (x-decompose-font-name ascii-font)
552 xlfd-regexp-family-subnum))))
553 ;; (if (not (string-match "^fontset-" fontset))
554 ;; (setq fontset
555 ;; (concat "fontset-" (aref (x-decompose-font-name fontset)
556 ;; xlfd-regexp-encoding-subnum))))
557 (dolist
558 (font-encoder
559 (nreverse
560 (mapcar (lambda (lst)
561 (cons (cons (format (nth 3 lst) base-family) (nth 0 lst))
562 (nth 1 lst)))
563 mac-font-encoder-list)))
564 (let ((font (car font-encoder))
565 (encoder (cdr font-encoder)))
566 (map-char-table
567 (lambda (key val)
568 (or (null val)
569 (generic-char-p key)
570 (memq (char-charset key)
571 '(ascii eight-bit-control eight-bit-graphic))
572 (set-fontset-font fontset key font)))
573 (get encoder 'translation-table)))))
574
575 (defun create-fontset-from-mac-roman-font (font &optional resolved-font
576 fontset-name)
577 "Create a fontset from a Mac roman font FONT.
578
579 Optional 1st arg RESOLVED-FONT is a resolved name of FONT. If
580 omitted, `x-resolve-font-name' is called to get the resolved name. At
581 this time, if FONT is not available, error is signaled.
582
583 Optional 2nd arg FONTSET-NAME is a string to be used in
584 `<CHARSET_ENCODING>' fields of a new fontset name. If it is omitted,
585 an appropriate name is generated automatically.
586
587 It returns a name of the created fontset."
588 (let ((fontset
589 (create-fontset-from-ascii-font font resolved-font fontset-name)))
590 (fontset-add-mac-fonts fontset)
591 fontset))
592
593 ;; Create a fontset that uses mac-roman font. With this fontset,
594 ;; characters decoded from mac-roman encoding (ascii, latin-iso8859-1,
595 ;; and mule-unicode-xxxx-yyyy) are displayed by a mac-roman font.
596
597 (if (fboundp 'new-fontset)
598 (progn
599 (require 'fontset)
600 (setup-default-fontset)
601 (create-fontset-from-fontset-spec
602 "-etl-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-mac,
603 ascii:-*-Monaco-*-*-*-*-12-*-*-*-*-*-mac-roman")
604 (fontset-add-mac-fonts "fontset-mac")))
605
606 (if (eq system-type 'darwin)
607 ;; On Darwin filenames are encoded in UTF-8
608 (setq file-name-coding-system 'utf-8)
609 ;; To display filenames in Chinese or Japanese, replace mac-roman with
610 ;; big5 or sjis
611 (setq file-name-coding-system 'mac-roman))
612
613 ;; If Emacs is started from the Finder, change the default directory
614 ;; to the user's home directory.
615 (if (string= default-directory "/")
616 (cd "~"))
617
618 ;; Tell Emacs to use pipes instead of pty's for processes because the
619 ;; latter sometimes lose characters. Pty support is compiled in since
620 ;; ange-ftp will not work without it.
621 (setq process-connection-type nil)
622
623 ;; Assume that fonts are always scalable on the Mac. This sometimes
624 ;; results in characters with jagged edges. However, without it,
625 ;; fonts with both truetype and bitmap representations but no italic
626 ;; or bold bitmap versions will not display these variants correctly.
627 (setq scalable-fonts-allowed t)
628
629 ;; Make suspend-emacs [C-z] collapse the current frame
630 (substitute-key-definition 'suspend-emacs 'iconify-frame
631 global-map)
632
633 ;; Support mouse-wheel scrolling
634 (mouse-wheel-mode 1)
635
636 ;; (prefer-coding-system 'mac-roman)
637
638 ;; Map certain keypad keys into ASCII characters that people usually expect
639 (define-key function-key-map [return] [?\C-m])
640 (define-key function-key-map [M-return] [?\M-\C-m])
641 (define-key function-key-map [tab] [?\t])
642 (define-key function-key-map [M-tab] [?\M-\t])
643 (define-key function-key-map [backspace] [127])
644 (define-key function-key-map [M-backspace] [?\M-\d])
645 (define-key function-key-map [escape] [?\e])
646 (define-key function-key-map [M-escape] [?\M-\e])
647
648 ;; Tell read-char how to convert special chars to ASCII
649 (put 'return 'ascii-character 13)
650 (put 'tab 'ascii-character ?\t)
651 (put 'backspace 'ascii-character 127)
652 (put 'escape 'ascii-character ?\e)
653
654 ;;
655 ;; Available colors
656 ;;
657
658 (defvar x-colors '("LightGreen"
659 "light green"
660 "DarkRed"
661 "dark red"
662 "DarkMagenta"
663 "dark magenta"
664 "DarkCyan"
665 "dark cyan"
666 "DarkBlue"
667 "dark blue"
668 "DarkGray"
669 "dark gray"
670 "DarkGrey"
671 "dark grey"
672 "grey100"
673 "gray100"
674 "grey99"
675 "gray99"
676 "grey98"
677 "gray98"
678 "grey97"
679 "gray97"
680 "grey96"
681 "gray96"
682 "grey95"
683 "gray95"
684 "grey94"
685 "gray94"
686 "grey93"
687 "gray93"
688 "grey92"
689 "gray92"
690 "grey91"
691 "gray91"
692 "grey90"
693 "gray90"
694 "grey89"
695 "gray89"
696 "grey88"
697 "gray88"
698 "grey87"
699 "gray87"
700 "grey86"
701 "gray86"
702 "grey85"
703 "gray85"
704 "grey84"
705 "gray84"
706 "grey83"
707 "gray83"
708 "grey82"
709 "gray82"
710 "grey81"
711 "gray81"
712 "grey80"
713 "gray80"
714 "grey79"
715 "gray79"
716 "grey78"
717 "gray78"
718 "grey77"
719 "gray77"
720 "grey76"
721 "gray76"
722 "grey75"
723 "gray75"
724 "grey74"
725 "gray74"
726 "grey73"
727 "gray73"
728 "grey72"
729 "gray72"
730 "grey71"
731 "gray71"
732 "grey70"
733 "gray70"
734 "grey69"
735 "gray69"
736 "grey68"
737 "gray68"
738 "grey67"
739 "gray67"
740 "grey66"
741 "gray66"
742 "grey65"
743 "gray65"
744 "grey64"
745 "gray64"
746 "grey63"
747 "gray63"
748 "grey62"
749 "gray62"
750 "grey61"
751 "gray61"
752 "grey60"
753 "gray60"
754 "grey59"
755 "gray59"
756 "grey58"
757 "gray58"
758 "grey57"
759 "gray57"
760 "grey56"
761 "gray56"
762 "grey55"
763 "gray55"
764 "grey54"
765 "gray54"
766 "grey53"
767 "gray53"
768 "grey52"
769 "gray52"
770 "grey51"
771 "gray51"
772 "grey50"
773 "gray50"
774 "grey49"
775 "gray49"
776 "grey48"
777 "gray48"
778 "grey47"
779 "gray47"
780 "grey46"
781 "gray46"
782 "grey45"
783 "gray45"
784 "grey44"
785 "gray44"
786 "grey43"
787 "gray43"
788 "grey42"
789 "gray42"
790 "grey41"
791 "gray41"
792 "grey40"
793 "gray40"
794 "grey39"
795 "gray39"
796 "grey38"
797 "gray38"
798 "grey37"
799 "gray37"
800 "grey36"
801 "gray36"
802 "grey35"
803 "gray35"
804 "grey34"
805 "gray34"
806 "grey33"
807 "gray33"
808 "grey32"
809 "gray32"
810 "grey31"
811 "gray31"
812 "grey30"
813 "gray30"
814 "grey29"
815 "gray29"
816 "grey28"
817 "gray28"
818 "grey27"
819 "gray27"
820 "grey26"
821 "gray26"
822 "grey25"
823 "gray25"
824 "grey24"
825 "gray24"
826 "grey23"
827 "gray23"
828 "grey22"
829 "gray22"
830 "grey21"
831 "gray21"
832 "grey20"
833 "gray20"
834 "grey19"
835 "gray19"
836 "grey18"
837 "gray18"
838 "grey17"
839 "gray17"
840 "grey16"
841 "gray16"
842 "grey15"
843 "gray15"
844 "grey14"
845 "gray14"
846 "grey13"
847 "gray13"
848 "grey12"
849 "gray12"
850 "grey11"
851 "gray11"
852 "grey10"
853 "gray10"
854 "grey9"
855 "gray9"
856 "grey8"
857 "gray8"
858 "grey7"
859 "gray7"
860 "grey6"
861 "gray6"
862 "grey5"
863 "gray5"
864 "grey4"
865 "gray4"
866 "grey3"
867 "gray3"
868 "grey2"
869 "gray2"
870 "grey1"
871 "gray1"
872 "grey0"
873 "gray0"
874 "thistle4"
875 "thistle3"
876 "thistle2"
877 "thistle1"
878 "MediumPurple4"
879 "MediumPurple3"
880 "MediumPurple2"
881 "MediumPurple1"
882 "purple4"
883 "purple3"
884 "purple2"
885 "purple1"
886 "DarkOrchid4"
887 "DarkOrchid3"
888 "DarkOrchid2"
889 "DarkOrchid1"
890 "MediumOrchid4"
891 "MediumOrchid3"
892 "MediumOrchid2"
893 "MediumOrchid1"
894 "plum4"
895 "plum3"
896 "plum2"
897 "plum1"
898 "orchid4"
899 "orchid3"
900 "orchid2"
901 "orchid1"
902 "magenta4"
903 "magenta3"
904 "magenta2"
905 "magenta1"
906 "VioletRed4"
907 "VioletRed3"
908 "VioletRed2"
909 "VioletRed1"
910 "maroon4"
911 "maroon3"
912 "maroon2"
913 "maroon1"
914 "PaleVioletRed4"
915 "PaleVioletRed3"
916 "PaleVioletRed2"
917 "PaleVioletRed1"
918 "LightPink4"
919 "LightPink3"
920 "LightPink2"
921 "LightPink1"
922 "pink4"
923 "pink3"
924 "pink2"
925 "pink1"
926 "HotPink4"
927 "HotPink3"
928 "HotPink2"
929 "HotPink1"
930 "DeepPink4"
931 "DeepPink3"
932 "DeepPink2"
933 "DeepPink1"
934 "red4"
935 "red3"
936 "red2"
937 "red1"
938 "OrangeRed4"
939 "OrangeRed3"
940 "OrangeRed2"
941 "OrangeRed1"
942 "tomato4"
943 "tomato3"
944 "tomato2"
945 "tomato1"
946 "coral4"
947 "coral3"
948 "coral2"
949 "coral1"
950 "DarkOrange4"
951 "DarkOrange3"
952 "DarkOrange2"
953 "DarkOrange1"
954 "orange4"
955 "orange3"
956 "orange2"
957 "orange1"
958 "LightSalmon4"
959 "LightSalmon3"
960 "LightSalmon2"
961 "LightSalmon1"
962 "salmon4"
963 "salmon3"
964 "salmon2"
965 "salmon1"
966 "brown4"
967 "brown3"
968 "brown2"
969 "brown1"
970 "firebrick4"
971 "firebrick3"
972 "firebrick2"
973 "firebrick1"
974 "chocolate4"
975 "chocolate3"
976 "chocolate2"
977 "chocolate1"
978 "tan4"
979 "tan3"
980 "tan2"
981 "tan1"
982 "wheat4"
983 "wheat3"
984 "wheat2"
985 "wheat1"
986 "burlywood4"
987 "burlywood3"
988 "burlywood2"
989 "burlywood1"
990 "sienna4"
991 "sienna3"
992 "sienna2"
993 "sienna1"
994 "IndianRed4"
995 "IndianRed3"
996 "IndianRed2"
997 "IndianRed1"
998 "RosyBrown4"
999 "RosyBrown3"
1000 "RosyBrown2"
1001 "RosyBrown1"
1002 "DarkGoldenrod4"
1003 "DarkGoldenrod3"
1004 "DarkGoldenrod2"
1005 "DarkGoldenrod1"
1006 "goldenrod4"
1007 "goldenrod3"
1008 "goldenrod2"
1009 "goldenrod1"
1010 "gold4"
1011 "gold3"
1012 "gold2"
1013 "gold1"
1014 "yellow4"
1015 "yellow3"
1016 "yellow2"
1017 "yellow1"
1018 "LightYellow4"
1019 "LightYellow3"
1020 "LightYellow2"
1021 "LightYellow1"
1022 "LightGoldenrod4"
1023 "LightGoldenrod3"
1024 "LightGoldenrod2"
1025 "LightGoldenrod1"
1026 "khaki4"
1027 "khaki3"
1028 "khaki2"
1029 "khaki1"
1030 "DarkOliveGreen4"
1031 "DarkOliveGreen3"
1032 "DarkOliveGreen2"
1033 "DarkOliveGreen1"
1034 "OliveDrab4"
1035 "OliveDrab3"
1036 "OliveDrab2"
1037 "OliveDrab1"
1038 "chartreuse4"
1039 "chartreuse3"
1040 "chartreuse2"
1041 "chartreuse1"
1042 "green4"
1043 "green3"
1044 "green2"
1045 "green1"
1046 "SpringGreen4"
1047 "SpringGreen3"
1048 "SpringGreen2"
1049 "SpringGreen1"
1050 "PaleGreen4"
1051 "PaleGreen3"
1052 "PaleGreen2"
1053 "PaleGreen1"
1054 "SeaGreen4"
1055 "SeaGreen3"
1056 "SeaGreen2"
1057 "SeaGreen1"
1058 "DarkSeaGreen4"
1059 "DarkSeaGreen3"
1060 "DarkSeaGreen2"
1061 "DarkSeaGreen1"
1062 "aquamarine4"
1063 "aquamarine3"
1064 "aquamarine2"
1065 "aquamarine1"
1066 "DarkSlateGray4"
1067 "DarkSlateGray3"
1068 "DarkSlateGray2"
1069 "DarkSlateGray1"
1070 "cyan4"
1071 "cyan3"
1072 "cyan2"
1073 "cyan1"
1074 "turquoise4"
1075 "turquoise3"
1076 "turquoise2"
1077 "turquoise1"
1078 "CadetBlue4"
1079 "CadetBlue3"
1080 "CadetBlue2"
1081 "CadetBlue1"
1082 "PaleTurquoise4"
1083 "PaleTurquoise3"
1084 "PaleTurquoise2"
1085 "PaleTurquoise1"
1086 "LightCyan4"
1087 "LightCyan3"
1088 "LightCyan2"
1089 "LightCyan1"
1090 "LightBlue4"
1091 "LightBlue3"
1092 "LightBlue2"
1093 "LightBlue1"
1094 "LightSteelBlue4"
1095 "LightSteelBlue3"
1096 "LightSteelBlue2"
1097 "LightSteelBlue1"
1098 "SlateGray4"
1099 "SlateGray3"
1100 "SlateGray2"
1101 "SlateGray1"
1102 "LightSkyBlue4"
1103 "LightSkyBlue3"
1104 "LightSkyBlue2"
1105 "LightSkyBlue1"
1106 "SkyBlue4"
1107 "SkyBlue3"
1108 "SkyBlue2"
1109 "SkyBlue1"
1110 "DeepSkyBlue4"
1111 "DeepSkyBlue3"
1112 "DeepSkyBlue2"
1113 "DeepSkyBlue1"
1114 "SteelBlue4"
1115 "SteelBlue3"
1116 "SteelBlue2"
1117 "SteelBlue1"
1118 "DodgerBlue4"
1119 "DodgerBlue3"
1120 "DodgerBlue2"
1121 "DodgerBlue1"
1122 "blue4"
1123 "blue3"
1124 "blue2"
1125 "blue1"
1126 "RoyalBlue4"
1127 "RoyalBlue3"
1128 "RoyalBlue2"
1129 "RoyalBlue1"
1130 "SlateBlue4"
1131 "SlateBlue3"
1132 "SlateBlue2"
1133 "SlateBlue1"
1134 "azure4"
1135 "azure3"
1136 "azure2"
1137 "azure1"
1138 "MistyRose4"
1139 "MistyRose3"
1140 "MistyRose2"
1141 "MistyRose1"
1142 "LavenderBlush4"
1143 "LavenderBlush3"
1144 "LavenderBlush2"
1145 "LavenderBlush1"
1146 "honeydew4"
1147 "honeydew3"
1148 "honeydew2"
1149 "honeydew1"
1150 "ivory4"
1151 "ivory3"
1152 "ivory2"
1153 "ivory1"
1154 "cornsilk4"
1155 "cornsilk3"
1156 "cornsilk2"
1157 "cornsilk1"
1158 "LemonChiffon4"
1159 "LemonChiffon3"
1160 "LemonChiffon2"
1161 "LemonChiffon1"
1162 "NavajoWhite4"
1163 "NavajoWhite3"
1164 "NavajoWhite2"
1165 "NavajoWhite1"
1166 "PeachPuff4"
1167 "PeachPuff3"
1168 "PeachPuff2"
1169 "PeachPuff1"
1170 "bisque4"
1171 "bisque3"
1172 "bisque2"
1173 "bisque1"
1174 "AntiqueWhite4"
1175 "AntiqueWhite3"
1176 "AntiqueWhite2"
1177 "AntiqueWhite1"
1178 "seashell4"
1179 "seashell3"
1180 "seashell2"
1181 "seashell1"
1182 "snow4"
1183 "snow3"
1184 "snow2"
1185 "snow1"
1186 "thistle"
1187 "MediumPurple"
1188 "medium purple"
1189 "purple"
1190 "BlueViolet"
1191 "blue violet"
1192 "DarkViolet"
1193 "dark violet"
1194 "DarkOrchid"
1195 "dark orchid"
1196 "MediumOrchid"
1197 "medium orchid"
1198 "orchid"
1199 "plum"
1200 "violet"
1201 "magenta"
1202 "VioletRed"
1203 "violet red"
1204 "MediumVioletRed"
1205 "medium violet red"
1206 "maroon"
1207 "PaleVioletRed"
1208 "pale violet red"
1209 "LightPink"
1210 "light pink"
1211 "pink"
1212 "DeepPink"
1213 "deep pink"
1214 "HotPink"
1215 "hot pink"
1216 "red"
1217 "OrangeRed"
1218 "orange red"
1219 "tomato"
1220 "LightCoral"
1221 "light coral"
1222 "coral"
1223 "DarkOrange"
1224 "dark orange"
1225 "orange"
1226 "LightSalmon"
1227 "light salmon"
1228 "salmon"
1229 "DarkSalmon"
1230 "dark salmon"
1231 "brown"
1232 "firebrick"
1233 "chocolate"
1234 "tan"
1235 "SandyBrown"
1236 "sandy brown"
1237 "wheat"
1238 "beige"
1239 "burlywood"
1240 "peru"
1241 "sienna"
1242 "SaddleBrown"
1243 "saddle brown"
1244 "IndianRed"
1245 "indian red"
1246 "RosyBrown"
1247 "rosy brown"
1248 "DarkGoldenrod"
1249 "dark goldenrod"
1250 "goldenrod"
1251 "LightGoldenrod"
1252 "light goldenrod"
1253 "gold"
1254 "yellow"
1255 "LightYellow"
1256 "light yellow"
1257 "LightGoldenrodYellow"
1258 "light goldenrod yellow"
1259 "PaleGoldenrod"
1260 "pale goldenrod"
1261 "khaki"
1262 "DarkKhaki"
1263 "dark khaki"
1264 "OliveDrab"
1265 "olive drab"
1266 "ForestGreen"
1267 "forest green"
1268 "YellowGreen"
1269 "yellow green"
1270 "LimeGreen"
1271 "lime green"
1272 "GreenYellow"
1273 "green yellow"
1274 "MediumSpringGreen"
1275 "medium spring green"
1276 "chartreuse"
1277 "green"
1278 "LawnGreen"
1279 "lawn green"
1280 "SpringGreen"
1281 "spring green"
1282 "PaleGreen"
1283 "pale green"
1284 "LightSeaGreen"
1285 "light sea green"
1286 "MediumSeaGreen"
1287 "medium sea green"
1288 "SeaGreen"
1289 "sea green"
1290 "DarkSeaGreen"
1291 "dark sea green"
1292 "DarkOliveGreen"
1293 "dark olive green"
1294 "DarkGreen"
1295 "dark green"
1296 "aquamarine"
1297 "MediumAquamarine"
1298 "medium aquamarine"
1299 "CadetBlue"
1300 "cadet blue"
1301 "LightCyan"
1302 "light cyan"
1303 "cyan"
1304 "turquoise"
1305 "MediumTurquoise"
1306 "medium turquoise"
1307 "DarkTurquoise"
1308 "dark turquoise"
1309 "PaleTurquoise"
1310 "pale turquoise"
1311 "PowderBlue"
1312 "powder blue"
1313 "LightBlue"
1314 "light blue"
1315 "LightSteelBlue"
1316 "light steel blue"
1317 "SteelBlue"
1318 "steel blue"
1319 "LightSkyBlue"
1320 "light sky blue"
1321 "SkyBlue"
1322 "sky blue"
1323 "DeepSkyBlue"
1324 "deep sky blue"
1325 "DodgerBlue"
1326 "dodger blue"
1327 "blue"
1328 "RoyalBlue"
1329 "royal blue"
1330 "MediumBlue"
1331 "medium blue"
1332 "LightSlateBlue"
1333 "light slate blue"
1334 "MediumSlateBlue"
1335 "medium slate blue"
1336 "SlateBlue"
1337 "slate blue"
1338 "DarkSlateBlue"
1339 "dark slate blue"
1340 "CornflowerBlue"
1341 "cornflower blue"
1342 "NavyBlue"
1343 "navy blue"
1344 "navy"
1345 "MidnightBlue"
1346 "midnight blue"
1347 "LightGray"
1348 "light gray"
1349 "LightGrey"
1350 "light grey"
1351 "grey"
1352 "gray"
1353 "LightSlateGrey"
1354 "light slate grey"
1355 "LightSlateGray"
1356 "light slate gray"
1357 "SlateGrey"
1358 "slate grey"
1359 "SlateGray"
1360 "slate gray"
1361 "DimGrey"
1362 "dim grey"
1363 "DimGray"
1364 "dim gray"
1365 "DarkSlateGrey"
1366 "dark slate grey"
1367 "DarkSlateGray"
1368 "dark slate gray"
1369 "black"
1370 "white"
1371 "MistyRose"
1372 "misty rose"
1373 "LavenderBlush"
1374 "lavender blush"
1375 "lavender"
1376 "AliceBlue"
1377 "alice blue"
1378 "azure"
1379 "MintCream"
1380 "mint cream"
1381 "honeydew"
1382 "seashell"
1383 "LemonChiffon"
1384 "lemon chiffon"
1385 "ivory"
1386 "cornsilk"
1387 "moccasin"
1388 "NavajoWhite"
1389 "navajo white"
1390 "PeachPuff"
1391 "peach puff"
1392 "bisque"
1393 "BlanchedAlmond"
1394 "blanched almond"
1395 "PapayaWhip"
1396 "papaya whip"
1397 "AntiqueWhite"
1398 "antique white"
1399 "linen"
1400 "OldLace"
1401 "old lace"
1402 "FloralWhite"
1403 "floral white"
1404 "gainsboro"
1405 "WhiteSmoke"
1406 "white smoke"
1407 "GhostWhite"
1408 "ghost white"
1409 "snow")
1410 "The list of X colors from the `rgb.txt' file.
1411 XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp")
1412
1413 ;;; arch-tag: 71dfcd14-cde8-4d66-b05c-85ec94fb23a6
1414 ;;; mac-win.el ends here