[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