view src/s/sol2-3.h @ 23091:25c95d9da0af

Multi-byte buffer handling. (ps-print-version): New version number (4.0) and doc fix. (ps-color-device, ps-face-bold-p, ps-face-italic-p): Conditional compilation for GNU Emacs and emacsens. (ps-generate-postscript-with-faces): Force invisible text to be visible. (dos-ps-printer): New var to avoid compilation gripes. (ps-mule-plot-string): Pay attention to the case that no more characters can't be printed in the current line. (ps-mule-find-wrappoint): ENDPOS should not be greater than TO. Add codes to make ps-print.el work also on Emacs 20.2 and the earlier version. (ps-mule-encode-7bit, ps-mule-encode-8bit): Modified for 20.2. (ccl-encode-ethio-unicode, ps-mule-encode-ethiopic): Likewise. (ps-mule-find-wrappoint): Likewise. (ps-mule-generate-font): Change `X' to `x' in format control-string. (ps-generate): Call ps-mule-begin before calling ps-begin-job. (ps-mule-cmpchar-prologue): Delete unnecessary `gsave' and `restore' form procedures `BC' and `EC'. (ps-print-prologue-1): Handle the case that FontBBox is an executable procedure. Make LineThickness, Xshadow, and Yshadow relative to FontHeight. Set SpaceWidth in BeginDoc. (ps-mule-font-info-database, ps-mule-font-info-database-ps, ps-mule-font-info-database-bdf): New vars. (ps-mule-encode-7bit, ps-mule-encode-8bit): New funs. (ccl-encode-ethio-unicode): New CCL program. (ps-mule-encode-ethiopic): New fun. (ps-mule-current-charset): New var. (ps-mule-get-font-spec, ps-mule-font-spec-src, ps-mule-font-spec-name, ps-mule-font-spec-encoding, ps-mule-font-spec-bytes, ps-mule-printable-p): New funs. (ps-mule-external-libraries): New var. (ps-mule-init-external-library): New fun. (ps-mule-font-cache): New var. (ps-mule-generate-font, ps-mule-generate-glyphs): New funs. (ps-last-font): New var. (ps-mule-prepare-font): New fun. (ps-mule-charset-list): New var. (ps-mule-prologue-generated, ps-mule-prologue): New vars. (ps-mule-skip-same-charset, ps-mule-find-wrappoint, ps-mule-plot-string): New funs. (ps-mule-cmpchar-prologue-generated, ps-mule-cmpchar-prologue): New vars. (ps-mule-plot-rule-cmpchar, ps-mule-plot-cmpchar, ps-mule-prepare-cmpchar-font): New funs. (ps-mule-bitmap-prologue-generated, ps-mule-bitmap-prologue): New vars. (ps-mule-generate-bitmap-prologue, ps-mule-generate-bitmap-font, ps-mule-generate-bitmap-glyph): New funs. (ps-mule-initialize, ps-mule-begin): New funs. (ps-output-string-prim): Insert string as unibyte. (ps-output-prologue): New fun. (ps-flush-output): Handle the case of 'prologue. (ps-begin-file): Call ps-mule-initialize. (ps-begin-job): Set ps-control-or-escape-regexp differently if printing multibyte characters. (ps-begin-page): Set ps-mule-current-charset to 'ascii. (ps-basic-plot-string): Handle the case of printing ASCII characters by external libraries (e.g. BDF). (ps-set-font): Set ps-last-font. (ps-plot-region): Handle multibyte characters, use ps-mule-plot-string for them. (ps-generate): Set the spool buffer unibyte. Call ps-mule-begin.
author Kenichi Handa <handa@m17n.org>
date Mon, 24 Aug 1998 10:19:29 +0000
parents df451c7f6820
children 63fd40a97a75
line wrap: on
line source

#include "sol2.h"

/* Solaris 2.3 has a bug in XListFontsWithInfo.  */
#define BROKEN_XLISTFONTSWITHINFO

/* Override LD_SWITCH_SYSTEM: add  -L /usr/ccs/lib to the sol2.h value.  */

#undef LD_SWITCH_SYSTEM

#ifndef __GNUC__
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
#else /* GCC */
/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
   has anything in it.  It can be empty.
   This works ok in src.  Luckily lib-src does not use LD_SWITCH_SYSTEM.  */
#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
#endif /* GCC */

/* Info from fnf@cygnus.com suggests this is appropriate.  */
#define POSIX_SIGNALS

/* We don't need the definition from usg5-3.h with POSIX_SIGNALS.  */
#undef sigsetmask

/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
   rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
   work if POSIX_SIGNALS is defined.  It may also be appropriate for SVR4.x
   (x<2) but I'm not sure.   fnf@cygnus.com */
/* This sets the name of the slave side of the PTY.  On SysVr4,
   grantpt(3) forks a subprocess, so keep sigchld_handler() from
   intercepting that death.  If any child but grantpt's should die
   within, it should be caught after sigrelse(2). */

#undef PTY_TTY_NAME_SPRINTF
#define PTY_TTY_NAME_SPRINTF			\
  {						\
    char *ptsname (), *ptyname;			\
						\
    sigblock (sigmask (SIGCLD));		\
    if (grantpt (fd) == -1)			\
      { close (fd); return -1; }		\
    sigunblock (sigmask (SIGCLD));		\
    if (unlockpt (fd) == -1)			\
      { close (fd); return -1; }		\
    if (!(ptyname = ptsname (fd)))		\
      { close (fd); return -1; }		\
    strncpy (pty_name, ptyname, sizeof (pty_name)); \
    pty_name[sizeof (pty_name) - 1] = 0;	\
  }