[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/ps-mule.el,v
From: |
Kenichi Handa |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/ps-mule.el,v |
Date: |
Wed, 20 Feb 2008 12:15:58 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Kenichi Handa <handa> 08/02/20 12:15:57
Index: ps-mule.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ps-mule.el,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- ps-mule.el 1 Feb 2008 16:01:05 -0000 1.58
+++ ps-mule.el 20 Feb 2008 12:15:57 -0000 1.59
@@ -579,10 +579,7 @@
f2, f3, h0, h1, and H0 respectively."
(let* ((font-spec nil)
(font-id 0)
- (string-list nil)
- ;; At most 4-byte (EscChar FONT-ID CODE1 CODE2) per character.
- (str (make-string (* (- to from) 4) 0))
- (i 0))
+ (code-list nil))
(goto-char from)
(while (< (point) to)
(let* ((char (following-char))
@@ -594,30 +591,20 @@
(setq char ??
this-spec (ps-mule-get-font-spec char font-spec-table nil)
this-id (ps-mule-font-spec-font-id this-spec)))
- (or (= font-id this-id)
- (progn
- (if font-spec
- (setq string-list (cons (substring str 0 i) string-list)
- i 0))
+ (unless (= font-id this-id)
(setq font-id this-id)
- (or (= font-id 0)
- (progn
- (aset str i ps-mule-esc-char)
- (setq i (1+ i))
- (aset str i font-id)
- (setq i (1+ i))))))
+ (push ps-mule-esc-char code-list)
+ (push font-id code-list))
(setq font-spec this-spec)
(if (< char 128)
- (aset str i char)
+ (push char code-list)
(let* ((code (ps-mule-encode-char char font-spec)))
(if (= (ps-mule-font-spec-bytes font-spec) 1)
- (aset str i code)
- (aset str i (/ code 256))
- (setq i (1+ i))
- (aset str i (% code 256)))))
- (setq i (1+ i))
+ (push code code-list)
+ (push (/ code 256) code-list)
+ (push (% code 256) code-list))))
(forward-char 1)))
- (nreverse (cons (substring str 0 i) string-list))))
+ (apply 'unibyte-string (nreverse code-list))))
(defun ps-mule-plot-composition (composition font-spec-table)
"Generate PostScript code for plotting COMPOSITION with FONT-SPEC-TABLE."
@@ -687,11 +674,10 @@
(cond ((= (point) stop)
(if (= stop to)
(setq endpos stop)
- (if (< from stop)
- (dolist (l (ps-mule-encode-region from (point)
+ (when (< from stop)
+ (ps-output-string (ps-mule-encode-region from (point)
font-spec-table))
- (ps-output-string l)
- (ps-output " S\n")))
+ (ps-output " S\n"))
(setq width (* (nth 5 composition) average-width))
(if (< ps-width-remaining (+ run-width width))
(setq endpos stop)
@@ -721,10 +707,9 @@
(setq run-width (+ run-width width))
(forward-char 1))))))
- (if (< from endpos)
- (dolist (l (ps-mule-encode-region from endpos font-spec-table))
- (ps-output-string l)
- (ps-output " S\n")))
+ (when (< from endpos)
+ (ps-output-string (ps-mule-encode-region from endpos font-spec-table))
+ (ps-output " S\n"))
(goto-char point)
(cons endpos run-width)))
@@ -1042,13 +1027,13 @@
Any other value is treated as \"/H0\"."
(with-temp-buffer
(insert string)
- (ps-mule-encode-region (point-min) (point-max)
+ (list (ps-mule-encode-region (point-min) (point-max)
(aref ps-mule-font-spec-tables
(aref ps-mule-font-number-to-type
(cond ((string= fonttag "/h0") 4)
((string= fonttag "/h1") 5)
((string= fonttag "/L0") 6)
- (t 0)))))))
+ (t 0))))))))
;;;###autoload
(defun ps-mule-begin-job (from to)