annotate lisp/msw-glyphs.el @ 404:2f8bb876ab1d r21-2-32

Import from CVS: tag r21-2-32
author cvs
date Mon, 13 Aug 2007 11:16:07 +0200
parents 74fd4e045ea6
children 697ef44129c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
1 ;;; msw-glyphs.el --- Support for glyphs in ms windows
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
2
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
3 ;; Copyright (C) 1994, 1997 Free Software Foundation, Inc.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
4
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
5 ;; Author: Kirill M. Katsnelson <kkm@kis.ru>
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
6 ;; Maintainer: XEmacs Development Team
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
7 ;; Keywords: extensions, internal, dumped
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
8
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
9 ;; This file is part of XEmacs.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
10
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
11 ;; XEmacs is free software; you can redistribute it and/or modify it
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
12 ;; under the terms of the GNU General Public License as published by
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
14 ;; any later version.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
15
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
16 ;; XEmacs is distributed in the hope that it will be useful, but
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
17 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
19 ;; General Public License for more details.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
20
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
22 ;; along with XEmacs; see the file COPYING. If not, write to the
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
23 ;; Free Software Foundation, 59 Temple Place - Suite 330,
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
24 ;; Boston, MA 02111-1307, USA.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
25
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
26 ;;; Synched up with: Not in FSF.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
27
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
28 ;;; Commentary:
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
29
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 294
diff changeset
30 ;; Initialization code for MS Windows glyphs.
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
31
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 294
diff changeset
32 ;; This file is dumped with XEmacs (when MS Windows support is
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
33 ;; compiled in). Make sure this is the first of msw-*.el files
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
34 ;; dumped.
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
35
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
36 ;;; Code:
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
37
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
38 (defun msgdi-device-p (&optional device)
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
39 "Return non-nil if DEVICE is a GDI device, that is 'mswindows or 'msprinter.
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
40 MS GDI devices are mutuially WYSIWIG-compatible, so that many common glyph,
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
41 color and font properties apply to them equally.
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
42
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
43 This function is also a predicate for 'msgdi device tag, matching this
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
44 device class."
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
45 (memq (device-type device) '(mswindows msprinter)))
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
46
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
47 (progn
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
48
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
49 (define-specifier-tag 'msgdi (function msgdi-device-p))
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
50
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
51 (set-console-type-image-conversion-list
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
52 'mswindows
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
53 `(("\\.bmp\\'" [bmp :file nil] 2)
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
54 ("\\`BM" [bmp :data nil] 2)
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
55 ,@(if (featurep 'xpm) '(("\\.xpm\\'" [xpm :file nil] 2)))
288
e11d67e05968 Import from CVS: tag r21-0b42
cvs
parents: 286
diff changeset
56 ("\\.xbm\\'" [xbm :file nil] 2)
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
57 ,@(if (featurep 'xpm) '(("\\`/\\* XPM \\*/" [xpm :data nil] 2)))
278
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
58 ,@(if (featurep 'gif) '(("\\.gif\\'" [gif :file nil] 2)
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
59 ("\\`GIF8[79]" [gif :data nil] 2)))
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
60 ,@(if (featurep 'jpeg) '(("\\.jpe?g\\'" [jpeg :file nil] 2)))
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
61 ;; all of the JFIF-format JPEG's that I've seen begin with
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
62 ;; the following. I have no idea if this is standard.
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
63 ,@(if (featurep 'jpeg) '(("\\`\377\330\377\340\000\020JFIF"
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
64 [jpeg :data nil] 2)))
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
65 ,@(if (featurep 'png) '(("\\.png\\'" [png :file nil] 2)))
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
66 ,@(if (featurep 'png) '(("\\`\211PNG" [png :data nil] 2)))
90d73dddcdc4 Import from CVS: tag r21-0b37
cvs
parents: 272
diff changeset
67 ,@(if (featurep 'tiff) '(("\\.tif?f\\'" [tiff :file nil] 2)))
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
68 ("\\`X-Face:" [string :data "[xface]"])
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
69 ("\\`/\\* XPM \\*/" [string :data "[xpm]"])
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
70 ("" [string :data nil] 2)
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
71 ;; this last one is here for pointers and icons and such --
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
72 ;; strings are not allowed so they will be ignored.
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
73 ("" [nothing])))
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
74
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
75 (set-console-type-image-conversion-list
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
76 'msprinter (console-type-image-conversion-list 'mswindows))
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
77
294
4b85ae5eabfb Import from CVS: tag r21-0b45
cvs
parents: 288
diff changeset
78 (set-face-font 'border-glyph "WingDings:Regular:11::Symbol"
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
79 'global 'msgdi)
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
80 (set-glyph-image continuation-glyph "\xC3" 'global 'msgdi)
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
81 (set-glyph-image truncation-glyph "\xF0" 'global 'msgdi)
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
82 (set-glyph-image hscroll-glyph "\xEF" 'global 'msgdi)
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
83
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
84 (set-glyph-image octal-escape-glyph "\\")
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
85 (set-glyph-image control-arrow-glyph "^")
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
86 (set-glyph-image invisible-text-glyph " ...")
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
87
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
88 (cond ((featurep 'xpm)
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 267
diff changeset
89 (set-glyph-image frame-icon-glyph
282
c42ec1d1cded Import from CVS: tag r21-0b39
cvs
parents: 278
diff changeset
90 (concat "../etc/" "xemacs-icon3.xpm")
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 267
diff changeset
91 'global 'mswindows)
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
92 (set-glyph-image xemacs-logo
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
93 (concat "../etc/"
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
94 (if emacs-beta-version
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
95 "xemacs-beta.xpm"
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
96 "xemacs.xpm"))
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
97 'global 'msgdi))
267
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
98 (t
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
99 (set-glyph-image xemacs-logo
966663fcf606 Import from CVS: tag r20-5b32
cvs
parents: 265
diff changeset
100 "XEmacs <insert spiffy graphic logo here>"
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 398
diff changeset
101 'global 'msgdi)))
265
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
102 )
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
103
8efd647ea9ca Import from CVS: tag r20-5b31
cvs
parents:
diff changeset
104 ;;; msw-glyphs.el ends here