OBS-URL: https://build.opensuse.org/package/show/Publishing/enscript?expand=0&rev=33
144 lines
4.3 KiB
Diff
144 lines
4.3 KiB
Diff
---
|
|
configure.ac | 18 ++++++++++++++++++
|
|
lib/Makefile.am | 1 +
|
|
lib/enscript.cfg.in | 34 +++++++++++++++++++++++++++++++++-
|
|
src/main.c | 6 ++++++
|
|
src/util.c | 10 ++++++++++
|
|
5 files changed, 68 insertions(+), 1 deletion(-)
|
|
|
|
--- configure.ac
|
|
+++ configure.ac 2018-01-23 14:31:47.816179389 +0000
|
|
@@ -65,6 +65,23 @@ AC_ARG_WITH(media,
|
|
MEDIA=$ac_cv_value_media
|
|
AC_SUBST(MEDIA)
|
|
|
|
+dnl Define the default input encoding.
|
|
+AC_ARG_WITH(encoding,
|
|
+[ --with-encoding(=ENCODING) use input encoding (ENCODING), default is latin1],
|
|
+ if test "X$withval" != "Xno"; then
|
|
+ if test "X$withval" = "Xyes"; then
|
|
+ ac_cv_value_encoding='latin1'
|
|
+ else
|
|
+ ac_cv_value_encoding=$withval
|
|
+ fi
|
|
+ else
|
|
+ ac_cv_value_encoding=${ENCODING-latin1}
|
|
+ fi,
|
|
+ ac_cv_value_encoding=${ENCODING-latin1}
|
|
+)
|
|
+ENCODING=$ac_cv_value_encoding
|
|
+AC_SUBST(ENCODING)
|
|
+
|
|
dnl Find the printer spooler command.
|
|
|
|
AC_CHECK_PROG(SPOOLER, lpr, lpr)
|
|
@@ -142,6 +159,7 @@ echo ""
|
|
echo "Option Change with configure's option Current value"
|
|
echo "---------------------------------------------------------"
|
|
echo "Media --with-media=MEDIA $MEDIA"
|
|
+echo "Encoding --with-encoding=ENCODING $ENCODING"
|
|
echo "Spooler --with-spooler=SPOOLER $SPOOLER"
|
|
echo "PS level --with-ps-level=LEVEL $PSLEVEL"
|
|
echo ""
|
|
--- lib/Makefile.am
|
|
+++ lib/Makefile.am 2018-01-23 14:31:47.816179389 +0000
|
|
@@ -35,6 +35,7 @@ EXTRA_DIST = ChangeLog.old enscript.cfg.
|
|
Makefile-encodings make-encoding.pl
|
|
|
|
do_subst = sed -e 's%@DATADIR@%$(datadir)%g' \
|
|
+ -e 's%@encoding@%@ENCODING@%g' \
|
|
-e 's%@media@%@MEDIA@%g' \
|
|
-e 's%@BINDIR@%$(bindir)%g' \
|
|
-e 's%@spooler@%@SPOOLER@%g' \
|
|
--- lib/enscript.cfg.in
|
|
+++ lib/enscript.cfg.in 2018-01-23 14:31:47.816179389 +0000
|
|
@@ -40,7 +40,7 @@ AppendCtrlD: 0
|
|
Clean7Bit: 1
|
|
|
|
# Default input encoding.
|
|
-DefaultEncoding: latin1
|
|
+DefaultEncoding: @encoding@
|
|
|
|
# Default fancy header.
|
|
DefaultFancyHeader: enscript
|
|
@@ -94,6 +94,38 @@ Media: Letter 612 792 38 24 574 768
|
|
Media: A4dj 595 842 24 50 571 818
|
|
Media: Letterdj 612 792 24 40 588 768
|
|
|
|
+# Define ghostscript page names and their sizes
|
|
+Media: letter 612 792 24 24 574 768
|
|
+Media: note 540 720 24 24 516 696
|
|
+Media: legal 612 1008 24 24 588 984
|
|
+Media: a0 2380 3368 24 24 2356 3344
|
|
+Media: a1 1684 2380 24 24 1660 2356
|
|
+Media: a2 1190 1684 24 24 1166 1660
|
|
+Media: a3 842 1190 24 24 818 1166
|
|
+Media: a4 595 842 24 24 571 818
|
|
+Media: a5 421 595 24 24 397 571
|
|
+Media: a6 297 421 24 24 273 397
|
|
+Media: a7 210 297 24 24 186 273
|
|
+Media: a8 148 210 24 24 124 186
|
|
+Media: a9 105 148 24 24 81 124
|
|
+Media: a10 74 105 24 24 50 81
|
|
+Media: b0 2836 4008 24 24 2812 3984
|
|
+Media: b1 2004 2836 24 24 1980 2812
|
|
+Media: b2 1418 2004 24 24 1394 1980
|
|
+Media: b3 1002 1418 24 24 978 1394
|
|
+Media: b4 709 1002 24 24 685 978
|
|
+Media: b5 501 709 24 24 477 685
|
|
+Media: archE 2592 3456 24 24 2568 3432
|
|
+Media: archD 1728 2592 24 24 1704 2568
|
|
+Media: archC 1296 1728 24 24 1272 1704
|
|
+Media: archB 864 1296 24 24 840 1272
|
|
+Media: archA 648 864 24 24 624 840
|
|
+Media: flsa 612 936 24 24 588 912
|
|
+Media: flse 612 936 24 24 588 912
|
|
+Media: halfletter 396 612 24 24 372 588
|
|
+Media: 11x17 792 1224 24 24 768 1200
|
|
+Media: ledger 1224 792 24 24 1200 768
|
|
+
|
|
# Spooler option to suppress the job header.
|
|
NoJobHeaderSwitch: -h
|
|
|
|
--- src/main.c
|
|
+++ src/main.c 2018-01-23 14:31:47.816179389 +0000
|
|
@@ -24,6 +24,8 @@
|
|
|
|
#include "gsint.h"
|
|
#include "getopt.h"
|
|
+#include <locale.h>
|
|
+#include <limits.h>
|
|
|
|
/*
|
|
* Prototypes for static functions.
|
|
@@ -959,6 +961,10 @@ main (int argc, char *argv[])
|
|
#if HAVE_LC_MESSAGES
|
|
setlocale (LC_MESSAGES, "");
|
|
#endif
|
|
+ setlocale (LC_CTYPE, "");
|
|
+#ifdef LC_PAPER
|
|
+ setlocale (LC_PAPER, "");
|
|
+#endif
|
|
#endif
|
|
#if ENABLE_NLS
|
|
bindtextdomain (PACKAGE, LOCALEDIR);
|
|
--- src/util.c
|
|
+++ src/util.c 2018-01-23 14:31:47.816179389 +0000
|
|
@@ -179,6 +179,16 @@ read_config (char *path, char *file)
|
|
{
|
|
token2 = GET_TOKEN (NULL);
|
|
CHECK_TOKEN ();
|
|
+#ifdef LC_PAPER
|
|
+ if (!strcasecmp("LC_PAPER", token2))
|
|
+ {
|
|
+ unsigned int paperheight = (unsigned int)nl_langinfo(_NL_PAPER_HEIGHT);
|
|
+ if (paperheight && paperheight == 279)
|
|
+ token2 = "letter";
|
|
+ else
|
|
+ token2 = "a4";
|
|
+ }
|
|
+#endif
|
|
xfree (media_name);
|
|
media_name = xstrdup (token2);
|
|
}
|