Subject: bug#35355: 27.0.50; ps-print-buffer-with-faces does not print non-ascii

From: Jean-Christophe Helary <[email-masked]>
Date: Sun, 21 Apr 2019 18:02:38 +0900

I tried to print a simple C buffer with some Japanese characters in commentsand the default printout was in b/w, but all the Japanese characters were printed out nicely.

Then, I tried the ps-print-buffer-with-faces command and the syntax highlighting worked fine but all the Japanese characters were replaced by ???.

Then, after reading the documentation a bit, I tried to
(setq ps−multibyte−buffer ’non−latin−printer)

but now the Japanese characters are totally mojibaked:
// $*$_$/$8$NFbMF0lMw

so I tried 'bfd-fonts and I got a weird message about having no font for
ascii, and with 'bfd-fonts-except-latin, I'm back to ???.

I tried the same with an elisp file and the result was the same.

A minor issue is that the first line of the header for the ps file seems
truncated. Only the path and the date are printed.

In GNU Emacs 27.0.50 (build 2, x86_64-apple-darwin18.5.0, NS appkit-1671.40 Version 10.14.4 (Build 18E226))
of 2019-04-16 built on mabinogion.local
Repository revision: debaa72dd89eee0dffc930a7ccff742ca5a81d88
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.4

Formatting...  0%
Collecting face information...
Formatting...done
Saving...
Wrote /Users/suzume/Desktop/test.ps [2 times]
Quit

Configured using:
'configure LDFLAGS=-L/usr/local/opt/texinfo/lib
PKG_CONFIG_PATH=/usr/local/Cellar/pkg-config'

Configured features:
DBUS NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS XIM NS
THREADS JSON PDUMPER LCMS2 GMP

Important settings:
 value of $LANG: en_JP.UTF-8
 locale-coding-system: utf-8

Major mode: Emacs-Lisp

Minor modes in effect:
 global-display-line-numbers-mode: t
 display-line-numbers-mode: t
 whitespace-mode: t
 flyspell-mode: t
 rainbow-delimiters-mode: t
 electric-pair-mode: t
 global-color-identifiers-mode: t
 color-identifiers-mode: t
 global-git-gutter+-mode: t
 global-git-commit-mode: t
 async-bytecomp-package-mode: t
 shell-dirtrack-mode: t
 ivy-mode: t
 global-company-mode: t
 company-mode: t
 projectile-mode: t
 recentf-mode: t
 server-mode: t
 icomplete-mode: t
 delete-selection-mode: t
 savehist-mode: t
 desktop-save-mode: t
 tooltip-mode: t
 global-eldoc-mode: t
 eldoc-mode: t
 electric-indent-mode: t
 mouse-wheel-mode: t
 file-name-shadow-mode: t
 global-font-lock-mode: t
 font-lock-mode: t
 blink-cursor-mode: t
 auto-composition-mode: t
 auto-encryption-mode: t
 auto-compression-mode: t
 size-indication-mode: t
 line-number-mode: t
 global-visual-line-mode: 1
 transient-mark-mode: t

Load-path shadows:
/Users/suzume/.emacs.d/elpa/svg-0.2/svg hides /Users/suzume/Documents/Code/emacs/nextstep/Emacs.app/Contents/Resources/lisp/svg

Features:
(shadow mail-extr emacsbug sendmail ps-mule ps-print ps-print-loaddefs
ps-def lpr reporter display-line-numbers sort whitespace osx-dictionary
mm-archive misearch multi-isearch gnutls network-stream url-http url-gw
nsm url-cache url-auth finder-inf smex ido helpful trace edebug
backtrace info-look shut-up f dash-functional help-fns radix-tree
elisp-refs s loop tabify org-datetree org-capture texinfo autorevert
filenotify vc-dispatcher vc-svn add-node-modules-path vc-git diff-mode
mhtml-mode js2-mode css-mode eww mm-url gnus nnheader url-queue url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap shr svg xml browse-url js cc-mode cc-fonts
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
sgml-mode dom writeroom-mode visual-fill-column org-indent org-element
avl-tree org org-macro org-footnote org-pcomplete org-list org-faces
org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle
org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval
org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs flyspell
ispell rainbow-delimiters elec-pair persistent-soft list-utils pcache
eieio-compat eieio-base font-utils color-identifiers-mode python
tramp-sh rubocop rinari jump inflections findr ruby-compilation
which-func imenu inf-ruby ruby-mode smie git-gutter+ git-commit
with-editor magit-git magit-section magit-utils magit-popup
async-bytecomp async crm log-edit easy-mmode message rmc puny dired
dired-loaddefs rfc822 mml mml-sec epa derived epg gnus-util rmail
rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
shell pcomplete parse-time flycheck cl-extra find-func help-mode rx dash
ivy colir color ivy-overlay ffap company-oddmuse company-keywords
company-etags etags fileloop generator xref project company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-xcode company-clang company-semantic company-eclim
company-template company-bbdb company pcase projectile grep ibuf-ext
ibuffer ibuffer-loaddefs thingatpt web-mode disp-table pdf-tools compile
comint ansi-color ring cus-edit cus-start cus-load pdf-view bookmark pp
jka-compr pdf-cache pdf-info tq pdf-util advice format-spec image-mode
ls-lisp recentf tree-widget wid-edit server exec-path-from-shell
icomplete unicode-fonts delsel savehist desktop frameset edmacro kmacro
cl info package easymenu epg-config url-handlers url-parse auth-source
cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json
subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/ns-win ns-win ucs-normalize mule-util
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind kqueue cocoa ns lcms2 multi-tty
make-network-process emacs)

Memory information:
((conses 16 1633272 170441)
(symbols 48 43284 3)
(strings 32 246856 85216)
(string-bytes 1 6574376)
(vectors 16 79760)
(vector-slots 8 1698327 143454)
(floats 8 677 262)
(intervals 56 184703 1323)
(buffers 992 58))

Jean-Christophe Helary
-----------------------------------------------
http://mac4translators.blogspot.com @brandelune