[Comm] Печать в Emacs.

Alexej Kryukov =?iso-8859-1?q?akrioukov_=CE=C1_mail=2Eru?=
Чт Окт 9 15:09:03 MSD 2003


On Thursday 09 October 2003 07:43, Alexander Kirey wrote:
> Здравствуйте!
>
> После установки Emacs, при попытке распечатать buffer
> по команде C-u M-x ps-print-buffer:
> $ emacs -nw
> Fatal error (11).Segmentation fault
>
> При самой печати был запрос к ps-print.elc, как я успел заметить.
> только он почему-то был сжат ps-print.elc.bz2.

Давно не имел дела с AltLinux, поэтому не знаю, почему он оказался
упакованным. Никогда такого не видел.

> И еще, спотыкается на русском тексте:
> font for characters not found, continue anyway? (y or n)
>
> Как его научить понимать русский текст?
> Emacs использует ghostscript? 

да.

> и если использует, то почему
> не находит путь к фонтам ghostscript, или что-то я не правильно
> понимаю...

Просто шрифты для печати в emacs задаются отдельно, они не зависят
от экранных. Можно использовать либо именно шрифты ghostscript
(но тогда ghostscript действительно должен о них знать, в документ
они не встраиваются), либо растровые bdf (не pcf, а именно
некомпилированные bdf), но тогда они должны быть налицо и путь
к ним должен быть указан. Делается это так (фрагмент из моего
.emacs):

;; Загрузить это хозяйство явным образом, иначе
;; при автозагрузке будут сбиты настройки
(require 'mule-util)
(require 'mule)
(require 'ps-print)
(require 'ps-bdf)

;; Указываем, где искать bdf-шрифты
(setq bdf-directory-list
      (cons "~/fonts/bdf/latin1" bdf-directory-list))
(setq bdf-directory-list
      (cons "~/fonts/bdf/cyrillic" bdf-directory-list))

;; Только для win32
(if (memq system-type '(ms-dos windows-nt))
    (setq w32-bdf-filename-alist (w32-find-bdf-fonts
     bdf-directory-list)))

;; Настройки печати
(setq ps-print-color-p 'black-white)
(setq ps-use-face-background nil)
(setq ps-paper-type 'a4)
(setq ps-font-size 10)
(setq ps-print-control-characters nil)

(setq ps-multibyte-buffer nil)

;; Для печати bdf-шрифтами -- должны быть указаны точные имена файлов.
;; Кириллические шрифты должны быть в кодировке iso-8859-5!
;; Шрифты надо брать не меньше 12x24, иначе будет смотреться совсем
;; плохо.
(setq ps-mule-font-info-database-default
   '((ascii (normal bdf "12x24.bdf" nil 1))
    (latin-iso8859-1 (normal bdf "12x24.bdf" iso-latin-1 1))
    (cyrillic-iso8859-5 (normal bdf "12x24cyr.bdf" cyrillic-iso-8bit
     1))))

;; А вот так -- для шрифтов Ghostscript. Нужно указать имена шрифтов
;; ghostscript, как они указаны в Fontmap.GS.
(setq ps-mule-font-info-database-default
   '((ascii (normal builtin "Times-Roman" nil 1))
    (latin-iso8859-1 (normal builtin "Times-Roman" iso-latin-1 1))
    (cyrillic-iso8859-5 (normal builtin "Times-Roman" cyrillic-iso-8bit
     1))))


Возможно, что-то пропустил, но в принципе печать из-под emacs
настраивают именно так.




Подробная информация о списке рассылки community