>>>> "JV" == Jan Vroonhof
<jan.vroonhof(a)ntlworld.com> writes:
JV> npak(a)ispras.ru (Nick V. Pakoulin) writes:
NVP> contains changes to ps-mule that I made to enable printing in russian.
JV> This looks promising..
> --- - Thu Nov 30 16:27:49 2000
> +++ lisp/ps-print/ps-mule.el Thu Nov 30 15:12:55 2000
> @@ -143,8 +143,9 @@
>
> ;; For Emacs 20.2 and the earlier version.
> (eval-and-compile
> - (if (and (boundp 'mule-version) ; only if mule package is loaded
> - (not (string< mule-version "4.0")))
> +;; (if (and (boundp 'mule-version) ; only if mule package is loaded +;;
> (not (string< mule-version "4.0")))
> + (if (featurep 'mule)
> (progn (defalias 'ps-mule-next-point '1+) (defalias
> 'ps-mule-chars-in-string 'length)
JV> This was to be expected
This might be done as Yoshiki proposed: to add one more disjunk that takes care
about xemacs case.
> +;;; The following commented code does not compile under XEmacs
21.2.36
> +;;; npak(a)ispras.ru +
> [ Ethiopic support comment out]
JV> Ok, we simply have no Ethoipic support
> ;; A charset which we are now processing.
> (defvar ps-mule-current-charset nil) @@ -934,6 +939,10 @@
> (string-as-unibyte (cond ((coding-system-p encoding) (encode-coding-string
> str encoding))
> + ;; XEmacs change npak(a)ispras.ru
> + ((and (symbolp encoding)
> + (find-coding-system encoding))
> + (encode-coding-string str (find-coding-system encoding)))
> ((functionp encoding) (funcall encoding str))
JV> Hmm.. Do we have a slight API incompatibility here, i.e. can we not take
JV> a coding system name in encode-coding-string? Anyway, it just another
JV> minor problem.
The problem is that ps-mule uses symbols as names for encodings. As I
understand GNU Emacs allow names of coding systems in place of the coding
systems. E.g. in GNU Emacs the following is evaluated to t while in XEmacs
to nil:
(coding-system-p 'iso-8859-5)
In XEmacs one should transform it to:
(coding-system-p (find-coding-system 'iso-8859-5))
> (and (boundp 'enable-multibyte-characters)
> - enable-multibyte-characters
> + ;; FIXME
> + ;;enable-multibyte-characters
JV> I think is again just a misguided FSF-specific mule test
`enable-multibyte-characters' behaves rather strangely in xemacs. Sometimes it
is t, but sometimes it is `nil'. I hit myself against it several times so I
preferred to comment this test out.
> [From another message:]
>
> (define-coding-system-alias 'cyrillic-iso-8bit 'iso-8859-5)
JV> I think was the essential bit... FSF Emacs has a whole bunch of different
JV> names for coding systems.
Ususal Emacs way ;((
JV> I think the core bits work.
JV> Could you, just for laughs, try printing using the bdf fonts if you have
JV> the intlfont package installed.
It seems that bdf-fonts are the only way to print russian via ps-mule. I tried
to set `ps-multibyte-buffer' to nil, non-latin-printer, bdf-font,
bdf-font-except-latin and only the bdf variants worked on my box.
JV> Jan
Nick.