]> code.delx.au - gnu-emacs/blobdiff - lisp/ps-def.el
w32.c (sys_open): Don't reset the flags for FD in fd_info[].
[gnu-emacs] / lisp / ps-def.el
index ffd8a7bd6c1ac9ce525bc08cdd713bafd8ae7abc..468af28240fed8ff929cc18d79ee5cfe0a093207 100644 (file)
@@ -1,30 +1,29 @@
 ;;; ps-def.el --- XEmacs and Emacs definitions for ps-print
 
-;; Copyright (C) 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2013 Free Software Foundation, Inc.
 
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;;     Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;; Maintainer: Kenichi Handa <handa@m17n.org> (multi-byte characters)
 ;;     Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: wp, print, PostScript
-;; Version: 7.2
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
+;; Package: ps-print
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify it under
-;; the terms of the GNU General Public License as published by the Free
-;; Software Foundation; either version 2, or (at your option) any later
-;; version.
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
-;; GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY
-;; WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-;; FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-;; details.
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
 
-;; You should have received a copy of the GNU General Public License along with
-;; GNU Emacs; see the file COPYING.  If not, write to the Free Software
-;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 
 ;;; Code:
 
+(eval-and-compile
+  (unless (fboundp 'declare-function) (defmacro declare-function (&rest _r))))
+
+(declare-function ps-plot-with-face "ps-print" (from to face))
+(declare-function ps-plot-string    "ps-print" (string))
+
+(defvar ps-bold-faces)                  ; in ps-print.el
+(defvar ps-italic-faces)
+
 
 \f
 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
 (cond
- ((featurep 'xemacs)                   ; xemacs
-
+ ((featurep 'xemacs)                   ; XEmacs
 
   ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; ps-bdf
 
   (defvar installation-directory nil)
-  (defvar coding-system-for-read nil)
-
+  (defvar coding-system-for-read)
 
   ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; ps-mule
 
-  (defvar leading-code-private-22 157)
-
-  (or (fboundp 'charset-bytes)
-      (defun charset-bytes (charset) 1)) ; ascii
-
   (or (fboundp 'charset-dimension)
-      (defun charset-dimension (charset) 1)) ; ascii
-
-  (or (fboundp 'charset-id)
-      (defun charset-id (charset) 0))  ; ascii
-
-  (or (fboundp 'charset-width)
-      (defun charset-width (charset) 1)) ; ascii
-
-  (or (fboundp 'find-charset-region)
-      (defun find-charset-region (beg end &optional table)
-       (list 'ascii)))
+      (defun charset-dimension (_charset) 1)) ; ascii
 
   (or (fboundp 'char-width)
-      (defun char-width (char) 1))     ; ascii
-
-  (or (fboundp 'chars-in-region)
-      (defun chars-in-region (beg end)
-       (- (max beg end) (min beg end))))
-
-  (or (fboundp 'forward-point)
-      (defun forward-point (arg)
-       (save-excursion
-         (let ((count (abs arg))
-               (step  (if (zerop arg)
-                          0
-                        (/ arg arg))))
-           (while (and (> count 0)
-                       (< (point-min) (point)) (< (point) (point-max)))
-             (forward-char step)
-             (setq count (1- count)))
-           (+ (point) (* count step))))))
-
-  (or (fboundp 'decompose-composite-char)
-      (defun decompose-composite-char (char &optional type
-                                           with-composition-rule)
-       nil))
-
-  (or (fboundp 'encode-coding-string)
-      (defun encode-coding-string (string coding-system &optional nocopy)
-       (if nocopy
-           string
-         (copy-sequence string))))
-
-  (or (fboundp 'coding-system-p)
-      (defun coding-system-p (obj) nil))
-
-  (or (fboundp 'ccl-execute-on-string)
-      (defun ccl-execute-on-string (ccl-prog status str
-                                            &optional contin unibyte-p)
-       str))
-
-  (or (fboundp 'define-ccl-program)
-      (defmacro define-ccl-program (name ccl-program &optional doc)
-       `(defconst ,name nil ,doc)))
-
-  (or (fboundp 'multibyte-string-p)
-      (defun multibyte-string-p (str)
-       (let ((len (length str))
-             (i 0)
-             multibyte)
-         (while (and (< i len) (not (setq multibyte (> (aref str i) 255))))
-           (setq i (1+ i)))
-         multibyte)))
-
-  (or (fboundp 'string-make-multibyte)
-      (defalias 'string-make-multibyte 'copy-sequence))
+      (defun char-width (_char) 1))    ; ascii
 
   (or (fboundp 'encode-char)
-      (defun encode-char (ch ccs)
+      (defun encode-char (ch _ccs)
        ch))
 
-
   ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; ps-print
 
     (ps-xemacs-color-name (face-background face)))
 
 
-  (defun ps-frame-parameter (param)
-    (frame-property nil param))
+  (defalias 'ps-frame-parameter 'frame-property)
 
 
   ;; Return t if the device (which can be changed during an emacs session)
   ;; can handle colors.
-  ;; XEmacs change: Need to check for emacs-major-version too.
-  (if (or (> emacs-major-version 19)
-         (and (= emacs-major-version 19)
-              (>= emacs-minor-version 12)))
-      ;; xemacs >= 19.12
-      (defun ps-color-device ()
-       (eq (device-class) 'color))
-    ;; xemacs < 19.12
-    (setq ps-print-color-p nil)
-    (defalias 'ps-color-device 'ignore))
-
+  (defun ps-color-device ()
+    (eq (device-class) 'color))
 
   (defun ps-mapper (extent list)
     (nconc list
 
 
   ;; to avoid XEmacs compilation gripes
-  (defvar coding-system-for-write   nil)
-  (defvar coding-system-for-read    nil)
-  (defvar buffer-file-coding-system nil)
+  (defvar coding-system-for-write)
+  (defvar buffer-file-coding-system)
 
 
   (and (fboundp 'find-coding-system)
        (memq face ps-italic-faces)))   ; Kludge-compatible
 
 
+  (defalias 'ps-face-strikeout-p 'ignore)
+
+
+  (defalias 'ps-face-overline-p 'ignore)
+
+
+  (defalias 'ps-face-box-p 'ignore)
+
+
   ;; XEmacs will have to make do with %s (princ) for floats.
   (defvar ps-color-format "%s %s %s")
   (defvar ps-float-format "%s ")
       (ps-plot-with-face from to face)))
 
   )
- (t                                    ; emacs
+ (t                                    ; Emacs
   ;; Do nothing
   ))                                   ; end cond featurep
 
 
 
 (cond
- ((featurep 'xemacs)                   ; xemacs
+ ((featurep 'xemacs)                   ; XEmacs
   ;; Do nothing
   )
- (t                                    ; emacs
+ (t                                    ; Emacs
 
 
   ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; ps-print
 
-  (defvar mark-active nil)
-
 
   (defun ps-mark-active-p ()
     mark-active)
     (face-background face nil t))
 
 
-  (defun ps-frame-parameter (param)
-    (frame-parameter nil param))
+  (defalias 'ps-frame-parameter 'frame-parameter)
 
 
   ;; Return t if the device (which can be changed during an emacs session) can
        (memq face ps-italic-faces)))
 
 
+  (defun ps-face-strikeout-p (face)
+    (eq (face-attribute face :strike-through) t))
+
+
+  (defun ps-face-overline-p (face)
+    (eq (face-attribute face :overline) t))
+
+
+  (defun ps-face-box-p (face)
+    (not (memq (face-attribute face :box) '(nil unspecified))))
+
+
   ;; Emacs understands the %f format; we'll use it to limit color RGB values
   ;; to three decimals to cut down some on the size of the PostScript output.
   (defvar ps-color-format "%0.3f %0.3f %0.3f")
 
 (provide 'ps-def)
 
-;;; arch-tag: fb06a585-1112-4206-885d-a57d95d50579
 ;;; ps-def.el ends here