diff options
Diffstat (limited to 'Build/source/libs/paper/libpaper-1.1.24+nmu2')
34 files changed, 1627 insertions, 0 deletions
diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/ChangeLog b/Build/source/libs/paper/libpaper-1.1.24+nmu2/ChangeLog new file mode 100644 index 00000000000..1eadcbd9f1b --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/ChangeLog @@ -0,0 +1,33 @@ +Tue Sep 24 06:38:34 Yves Arrouye <arrouye@marin.sevy.fr> + + * completed the set of manual pages. + * added the libpaper.so.1 link in installation. + * added -E to less flags. + +Tue Aug 13 19:14:51 1996 Yves Arrouye <arrouye@marin.sevy.fr> + + * abstract interface (struct paper hidden) so that future changes + can be made safely. + * stores dimensions as double, still in PS points. + +Sun Aug 11 15:16:46 1996 Yves Arrouye <arrouye@marin.sevy.fr> + + * lib/paper.c: added paperinit(), paperdone(), paperfirst(), + paperlast(), papernext() and paperprev(), removed papertable(). + + * lib/paper.h: added new prototypes. + + * src/paper.c: added -N option. + Removed trailing spaces in what is printed. + + * examples/gsfrontend.c: corrected PAPERSIZE to PAGESIZE. + + * examples/a2ps: added calls to paperinit() and paperdone(), + added agressive page size selection at printing time. + +Sat Jul 20 10:15:49 1996 Yves Arrouye <arrouye@marin.fdn.fr> + + * Makefile.in: changed for PAPERSIZE. + * lib/paper.c: added the PAPERSIZE environment variable. + * examples: new directory containing examples (gs.sh and + diffs for a2ps-4.3). diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/Makefile.am b/Build/source/libs/paper/libpaper-1.1.24+nmu2/Makefile.am new file mode 100644 index 00000000000..e646ec42084 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/Makefile.am @@ -0,0 +1,3 @@ + +SUBDIRS = lib src man + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/README b/Build/source/libs/paper/libpaper-1.1.24+nmu2/README new file mode 100644 index 00000000000..2b451f7a552 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/README @@ -0,0 +1,39 @@ +The paper library and accompanying files are intended to provide a simple +way for applications to take actions based on a system- or user-specified +paper size. + +This release is quite minimal, its purpose being to provide really basic +functions (obtaining the system paper name and getting the height and +width of a given kond of paper) that applications can immediately +integrate. +A more complete library, using a capabilities file for papers (giving, +in addition to the size, informations like paper weigth, color, etc) +will be released later. + +See the sources for paperconf(1) in src/paper.c for how to use the library. + +Adding new paper sizes +====================== + +If a paper format is missing, one need to add it to lib/paperspecs. The +format of this file is one paper format per line, with the name of the +format, the width and height of the format separated with space. You +may add an option measurement unit among in, ft, pt, m, dm, cm, mm or you +may leave the default unit of "point". By defaults the width and height +are specified in the "point" unit, which is 1/72 inch (2.54 cm). This +is the A4 entry: + + a4 210 297 mm + +that was previously written as + + a4 595 842 + +The sizes here are 595 points / 72 points pr inch * 2.54 cm per +inch = 20.99 cm and 842/72*2.54 = 29.70 cm. The A4 format +is 210x297 mm so this is a good approximation. (Source: +<URL:http://en.wikipedia.org/wiki/A4_paper_size>) + +Copyright (C) Yves Arrouye <yves@debian.org>, 1996 + Adrian Bunk <bunk@fs.tum.de> , 2000 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/config.h.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/config.h.in new file mode 100644 index 00000000000..eb99fd55840 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/config.h.in @@ -0,0 +1,73 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Default configuration file location */ +#undef PAPERCONF + +/* Environment variable that overrides the default configuration file location + */ +#undef PAPERCONFVAR + +/* Default paper size */ +#undef PAPERSIZE + +/* Environment variable that overrides the defaultpaper size */ +#undef PAPERSIZEVAR + +/* Default directory for run-parts */ +#undef RUNPARTSDIR + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/configure.ac b/Build/source/libs/paper/libpaper-1.1.24+nmu2/configure.ac new file mode 100644 index 00000000000..4b6ef5714ad --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/configure.ac @@ -0,0 +1,66 @@ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT([libpaper], [1.1.9]) +AC_CONFIG_SRCDIR([configure.ac]) +AM_INIT_AUTOMAKE([no-define]) +AM_CONFIG_HEADER(config.h) +AM_MAINTAINER_MODE + +dnl Check for standard build environment +dnl ==================================== +AC_PROG_CC +AC_GNU_SOURCE +AC_PROG_INSTALL +AM_PROG_LIBTOOL +AC_PROG_MAKE_SET + +dnl Complier features +dnl ================= +AC_C_CONST + +dnl set up some substitutions +dnl ========================= +PAPERCONF="${sysconfdir}/papersize" +AC_SUBST(PAPERCONF) +AH_TEMPLATE(PAPERCONF, [Default configuration file location]) +AC_DEFINE_UNQUOTED(PAPERCONF, "$PAPERCONF") + +PAPERCONFVAR=PAPERCONF +AC_SUBST(PAPERCONFVAR) +AH_TEMPLATE(PAPERCONFVAR, [Environment variable that overrides the default configuration file location]) +AC_DEFINE_UNQUOTED(PAPERCONFVAR, "$PAPERCONFVAR") + +PAPERSIZE=letter +AC_SUBST(PAPERSIZE) +AH_TEMPLATE(PAPERSIZE, [Default paper size]) +AC_DEFINE_UNQUOTED(PAPERSIZE, "$PAPERSIZE") + +RUNPARTSDIR="${sysconfdir}/libpaper.d" +AC_SUBST(RUNPARTSDIR) +AH_TEMPLATE(RUNPARTSDIR, [Default directory for run-parts]) +AC_DEFINE_UNQUOTED(RUNPARTSDIR, "$RUNPARTSDIR") + +RUNPARTSDIRVAR=PAPERDIR +AC_SUBST(RUNPARTSDIRVAR) +AH_TEMPLATE(RUNPARTSDIRVAR, [Environment variable that overrides the default directory for run-parts]) +AC_DEFINE_UNQUOTED(RUNPARTSDIRVAR, "$RUNPARTSDIRVAR") + +PAPERSIZEVAR=PAPERSIZE +AC_SUBST(PAPERSIZEVAR) +AH_TEMPLATE(PAPERSIZEVAR, [Environment variable that overrides the default paper size]) +AC_DEFINE_UNQUOTED(PAPERSIZEVAR, "$PAPERSIZEVAR") + +dnl Create files +dnl ============ +AC_OUTPUT([ + Makefile + lib/Makefile + src/Makefile + src/paperconfig + man/Makefile + man/paperconf.1 + man/paperconfig.8 + man/papersize.5 + man/systempapername.3 +]) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/Makefile.am b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/Makefile.am new file mode 100644 index 00000000000..3375cc05d38 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/Makefile.am @@ -0,0 +1,21 @@ + +lib_LTLIBRARIES = libpaper.la +libpaper_la_SOURCES = dimen.c paper.c dimen.h paperspecs.h +libpaper_la_LDFLAGS = -version-info 2:2:1 +libpaper_la_CPPFLAGS = -D_REENTRANT + +BUILT_SOURCES = paperspecs.h + +include_HEADERS = paper.h + +EXTRA_DIST = paperspecs + +paperspecs.h: paperspecs Makefile + echo ' /* This file has been automaticaly generated.' >$@ + echo ' Edit paperspecs to make changes to the papers specifications. */' >>$@ + echo >>$@ + env LANG=C LC_ALL=C awk '{ factor = 1.0; \ + if ($$4 == "mm") factor = 72.0 / 25.4; \ + if ($$4 == "in") factor = 72.0; \ + printf(" { \"%s\", %5f, %5f },\n", \ + $$1, $$2 * factor, $$3 * factor); }' < $< >> $@ diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.c b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.c new file mode 100644 index 00000000000..d0c86e20524 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.c @@ -0,0 +1,72 @@ + +/* + * Copyright (C) Yves Arrouye <Yves.Arrouye@marin.fdn.fr>, 1996. + * + * Use under the GPL version 2. You are not allowed to remove this + * copyright notice. + * + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <ctype.h> +#include <string.h> +#include <stdlib.h> + +#include "dimen.h" + +static struct { + const char* name; + float factor; +} units[] = { + { "in", 1. }, + { "ft", 12. }, + { "pt", 1. / 72. }, + { "m", 100. / 2.54 }, + { "dm", 10. / 2.54 }, + { "cm", 1. / 2.54 }, + { "mm", .1 / 2.54 }, + { 0 } +}; + +float unitfactor(const char* unit) +{ + int i; + + for (i = 0; units[i].name; ++i) { + if (!strcasecmp(units[i].name, unit)) { + return units[i].factor; + } + } + + return 0; +} + +int psdimension(const char* what, int* dim) +{ + const char* unit; + int dot = 0; + + if (!what || !*what) return -1; + + if (*(unit = what) == '-') ++unit; + + for (; isdigit(*unit) || (*unit == '.' && !dot++); ++unit); + + if (*unit && !isalpha(*unit)) { + return -1; + } else { + double base = atof(what); + double factor = unitfactor(unit); + + if (factor) { + *dim = base * factor * 72; + return 0; + } + + return 1; + } +} + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.h b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.h new file mode 100644 index 00000000000..d574ac3202d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/dimen.h @@ -0,0 +1,36 @@ + +/* + * Copyright (C) Yves Arrouye <Yves.Arrouye@marin.fdn.fr>, 1996. + * + * Use under the GPL version 2. You are not allowed to remove this + * copyright notice. + * + */ + +#ifndef DIMEN_H +#define DIMEN_H + +/* + * psdimension() converts a string to a number of points, accepting a + * string consisting of a number (eventually decimal but without any + * exponent) followed by a unit (one of `m', `dm', `cm', `mm', `ft', + * `in' or `pt', `in' being the default); on success it returs 0, + * otherwise it returns -1 if no number was found or 1 if the unit is + * incorrect. + * + */ + +#if __STDC__ - 0 == 0 +#define const +#endif + +#if __STDC__ - 0 == 0 +extern float unitfactor(); +extern int psdimension(); +#else +extern float unitfactor(const char* unit); +extern int psdimension(const char* dimspec, int* dim); +#endif + +#endif + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.c b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.c new file mode 100644 index 00000000000..512dff88452 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.c @@ -0,0 +1,158 @@ + +/* + * Copyright (C) Yves Arrouye <Yves.Arrouye@marin.fdn.fr>, 1996. + * + * Use under the GPL version 2. You are not allowed to remove this + * copyright notice. + * + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <sys/stat.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> + +#include <unistd.h> + +#include "paper.h" + +struct paper { + const char* name; + double pswidth, psheight; +}; + +/* This table will be searched in order: please put typical paper sizes + at the beginning of it. */ + +/* The paper names have been got from gs 3.68 gs_stadt.ps file, with + some personal additions. */ + +static struct paper papers[] = { +#include "paperspecs.h" + { 0 } +}; + +int paperinit(void) { + return 0; +} + +int paperdone(void) { + return 0; +} + +const char* papername(const struct paper* spaper) +{ + return spaper->name; +} + +double paperpswidth(const struct paper* spaper) +{ + return spaper->pswidth; +} + +double paperpsheight(const struct paper* spaper) +{ + return spaper->psheight; +} + +const struct paper* paperfirst(void) { + return papers; +} + +const struct paper* paperlast(void) { + static const struct paper* lastpaper = 0; + + const struct paper* next = papers; + while (next->name) { + lastpaper = next, ++next; + } + + return lastpaper; +} + +const struct paper* papernext(const struct paper* spaper) +{ + return (++spaper)->name ? spaper : 0; +} + +const struct paper* paperprev(const struct paper* spaper) +{ + return spaper == papers ? 0 : --spaper; +} + +const char* defaultpapersizefile(void) { + return NULL; +} + +const char* systempapersizefile(void) { + return NULL; +} + +const char* defaultpapername(void) { + return PAPERSIZE; +} + +char* systempapername(void) { + char* paperstr; + char* paperenv; + const char* paperdef; + const struct paper* pp; + + paperenv = getenv(PAPERSIZEVAR); + if ((paperenv != NULL) && (strchr(paperenv, '/') != NULL)) { + paperenv = NULL; + } + + if (paperenv) { + paperstr = malloc((strlen(paperenv) + 1) * sizeof(char)); + + if (! paperstr) return 0; + + if ((pp = paperinfo(paperenv))) + return strcpy(paperstr, pp->name); + else + return strcpy(paperstr, paperenv); + } + + paperdef = defaultpapername(); + paperstr = malloc((strlen(paperdef) + 1) * sizeof(char)); + + if (paperstr) + return strcpy(paperstr, paperdef); + else + return 0; +} + +const struct paper* paperinfo(const char* paper) +{ + const struct paper* pp; + + for (pp = paperfirst(); pp; pp = papernext(pp)) { + if (!strcasecmp(pp->name, paper)) { + return pp; + } + } + + return 0; +} + +const struct paper* paperwithsize(double pswidth, double psheight) +{ + const struct paper* pp; + + for (pp = paperfirst(); pp; pp = papernext(pp)) { + if (pp->pswidth == pswidth + && pp->psheight == psheight) { + return pp; + } + } + + return 0; +} + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.h b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.h new file mode 100644 index 00000000000..993f7463c8c --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paper.h @@ -0,0 +1,73 @@ + +/* + * Copyright (C) Yves Arrouye <Yves.Arrouye@marin.fdn.fr>, 1996. + * + * Use under the GPL version 2. You are not allowed to remove this + * copyright notice. + * + */ + +#ifndef PAPER_H +#define PAPER_H + +/* + * systempapername() returns the preferred paper size got from either the + * PAPER environment variable or the /etc/papersize file. If 0 is + * returned, one should use the value of defaultpapername(). + * + * paperinfo() looks from the given paper name in a table of known sizes + * and returns 0 if it found it; if this is the case, the width and + * height arguments have been set to the correct values in points (one + * inch contains 72 points). The case of paper size is not significant. + * + */ + +#if !defined(__STDC__) + +#define __PAPER_CONST +#define __PAPER_PROTO(p) () + +#else + +#define __PAPER_CONST const +#define __PAPER_PROTO(p) p + +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct paper; + +extern int paperinit __PAPER_PROTO((void)); +extern int paperdone __PAPER_PROTO((void)); + +extern __PAPER_CONST char* papername __PAPER_PROTO((const struct paper*)); +extern double paperpswidth __PAPER_PROTO((const struct paper*)); +extern double paperpsheight __PAPER_PROTO((const struct paper*)); + +extern __PAPER_CONST char* defaultpapersizefile __PAPER_PROTO((void)); +extern __PAPER_CONST char* systempapersizefile __PAPER_PROTO((void)); +extern __PAPER_CONST char* defaultpapername __PAPER_PROTO((void)); +extern char* systempapername __PAPER_PROTO((void)); +extern __PAPER_CONST struct paper* paperinfo __PAPER_PROTO((const char*)); +extern __PAPER_CONST struct paper* paperwithsize __PAPER_PROTO(( + double pswidth, double psheight)); + +extern __PAPER_CONST struct paper* paperfirst __PAPER_PROTO((void)); +extern __PAPER_CONST struct paper* paperlast __PAPER_PROTO((void)); +extern __PAPER_CONST struct paper* papernext __PAPER_PROTO(( + const struct paper*)); +extern __PAPER_CONST struct paper* paperprev __PAPER_PROTO(( + const struct paper*)); + +#undef __PAPER_CONST +#undef __PAPER_PROTO + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs new file mode 100644 index 00000000000..6be0a46dc3a --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs @@ -0,0 +1,67 @@ +a4 210 297 mm +letter 612 792 +note 612 792 +legal 612 1008 +executive 522 756 +halfletter 396 612 +halfexecutive 378 522 +11x17 792 1224 +statement 396 612 +folio 612 936 +quarto 610 780 +10x14 720 1008 +ledger 1224 792 +tabloid 792 1224 +a0 841 1189 mm +a1 594 841 mm +a2 420 594 mm +a3 297 420 mm +a5 148 210 mm +a6 105 148 mm +a7 74 105 mm +a8 52 74 mm +a9 37 52 mm +a10 26 37 mm +b0 1000 1414 mm +b1 707 1000 mm +b2 500 707 mm +b3 353 500 mm +b4 250 353 mm +b5 176 250 mm +b6 125 176 mm +b7 88 125 mm +b8 62 88 mm +b9 44 62 mm +b10 31 44 mm +c2 458 648 mm +c3 324 458 mm +c4 229 354 mm +c5 162 229 mm +c6 114 162 mm +c7 81 114 mm +c8 57 81 mm +jisb0 1030 1456 mm +jisb1 728 1030 mm +jisb2 515 728 mm +jisb3 364 515 mm +jisb4 257 364 mm +jisb5 182 257 mm +jisb6 128 182 mm +jisb7 91 128 mm +jisb8 64 91 mm +jisb9 45 64 mm +jisb10 32 45 mm +b5var 182 230 mm +DL 110 220 mm +Comm10 297 684 +Monarch 279 540 +archE 2592 3456 +archD 1728 2592 +archC 1296 1728 +archB 864 1296 +archA 648 864 +flsa 612 936 +flse 612 936 +csheet 1224 1584 +dsheet 1584 2448 +esheet 2448 3168 diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs.h b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs.h new file mode 100644 index 00000000000..a94ec36dafb --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/lib/paperspecs.h @@ -0,0 +1,70 @@ + /* This file has been automaticaly generated. + Edit paperspecs to make changes to the papers specifications. */ + + { "a4", 595.275591, 841.889764 }, + { "letter", 612.000000, 792.000000 }, + { "note", 612.000000, 792.000000 }, + { "legal", 612.000000, 1008.000000 }, + { "executive", 522.000000, 756.000000 }, + { "halfletter", 396.000000, 612.000000 }, + { "halfexecutive", 378.000000, 522.000000 }, + { "11x17", 792.000000, 1224.000000 }, + { "statement", 396.000000, 612.000000 }, + { "folio", 612.000000, 936.000000 }, + { "quarto", 610.000000, 780.000000 }, + { "10x14", 720.000000, 1008.000000 }, + { "ledger", 1224.000000, 792.000000 }, + { "tabloid", 792.000000, 1224.000000 }, + { "a0", 2383.937008, 3370.393701 }, + { "a1", 1683.779528, 2383.937008 }, + { "a2", 1190.551181, 1683.779528 }, + { "a3", 841.889764, 1190.551181 }, + { "a5", 419.527559, 595.275591 }, + { "a6", 297.637795, 419.527559 }, + { "a7", 209.763780, 297.637795 }, + { "a8", 147.401575, 209.763780 }, + { "a9", 104.881890, 147.401575 }, + { "a10", 73.700787, 104.881890 }, + { "b0", 2834.645669, 4008.188976 }, + { "b1", 2004.094488, 2834.645669 }, + { "b2", 1417.322835, 2004.094488 }, + { "b3", 1000.629921, 1417.322835 }, + { "b4", 708.661417, 1000.629921 }, + { "b5", 498.897638, 708.661417 }, + { "b6", 354.330709, 498.897638 }, + { "b7", 249.448819, 354.330709 }, + { "b8", 175.748031, 249.448819 }, + { "b9", 124.724409, 175.748031 }, + { "b10", 87.874016, 124.724409 }, + { "c2", 1298.267717, 1836.850394 }, + { "c3", 918.425197, 1298.267717 }, + { "c4", 649.133858, 1003.464567 }, + { "c5", 459.212598, 649.133858 }, + { "c6", 323.149606, 459.212598 }, + { "c7", 229.606299, 323.149606 }, + { "c8", 161.574803, 229.606299 }, + { "jisb0", 2919.685039, 4127.244094 }, + { "jisb1", 2063.622047, 2919.685039 }, + { "jisb2", 1459.842520, 2063.622047 }, + { "jisb3", 1031.811024, 1459.842520 }, + { "jisb4", 728.503937, 1031.811024 }, + { "jisb5", 515.905512, 728.503937 }, + { "jisb6", 362.834646, 515.905512 }, + { "jisb7", 257.952756, 362.834646 }, + { "jisb8", 181.417323, 257.952756 }, + { "jisb9", 127.559055, 181.417323 }, + { "jisb10", 90.708661, 127.559055 }, + { "b5var", 515.905512, 651.968504 }, + { "DL", 311.811024, 623.622047 }, + { "Comm10", 297.000000, 684.000000 }, + { "Monarch", 279.000000, 540.000000 }, + { "archE", 2592.000000, 3456.000000 }, + { "archD", 1728.000000, 2592.000000 }, + { "archC", 1296.000000, 1728.000000 }, + { "archB", 864.000000, 1296.000000 }, + { "archA", 648.000000, 864.000000 }, + { "flsa", 612.000000, 936.000000 }, + { "flse", 612.000000, 936.000000 }, + { "csheet", 1224.000000, 1584.000000 }, + { "dsheet", 1584.000000, 2448.000000 }, + { "esheet", 2448.000000, 3168.000000 }, diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/Makefile.am b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/Makefile.am new file mode 100644 index 00000000000..f9d579a645c --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/Makefile.am @@ -0,0 +1,25 @@ +man_MANS = \ + paperconf.1 \ + defaultpapername.3 \ + defaultpapersizefile.3 \ + paperdone.3 \ + paperfirst.3 \ + paperinfo.3 \ + paperinit.3 \ + paperlast.3 \ + papernext.3 \ + paperprev.3 \ + paperpsheight.3 \ + paperpsname.3 \ + paperpswidth.3 \ + paperwithsize.3 \ + systempapername.3 \ + systempapersizefile.3 \ + papersize.5 \ + paperconfig.8 + +EXTRA_DIST = \ + paperconf.1.in \ + systempapername.3.in \ + papersize.5.in \ + paperconfig.8.in diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapername.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapername.3 new file mode 100644 index 00000000000..882f4bbf27e --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapername.3 @@ -0,0 +1,2 @@ +.so man3/systempapername.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapersizefile.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapersizefile.3 new file mode 100644 index 00000000000..390a56bdfeb --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/defaultpapersizefile.3 @@ -0,0 +1,2 @@ +.so man3/systempapersizefile.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconf.1.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconf.1.in new file mode 100644 index 00000000000..6be58eb6867 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconf.1.in @@ -0,0 +1,118 @@ +.TH PAPERCONF 1 "24 April 2001" +.SH NAME +.B paperconf +\- print paper configuration information +.SH SYNOPSIS +.B paperconf +[ +[ +.B \-p +] +.I paper +| +.B \-d +| +.B \-a +] +[ +.B \-z +] +[ +.B \-n +| +.B \-N +] +[ +.B \-s +| +.B \-w +| +.B \-h +] +[ +.B \-c +| +.B \-m +| +.B \-i +] +.SH DESCRIPTION +.B paperconf +prints information about a given paper. +The information that can be obtained is the name of the paper, its +size and its width or height. +When called without arguments, +.B paperconf +prints the name of the system- or user-specified paper, obtained by +looking in order at the +.B @PAPERSIZEVAR@ +environment variable, at the contents of the file specified by the +.B @PAPERCONFVAR@ +environment variable, at the contents of +.B @PAPERCONF@ +or by using +.B letter +as a fall-back value if none of the other alternatives are successful. +By default, width and height of the paper are printed in PostScript points. +.SH OPTIONS +.TP +.BI \-p " paper" +Specify the name of the +.I paper +about which information is asked. +.TP +.B \-d +Use the default builtin paper name. +.TP +.B \-a +Consider all known paper names. +.TP +.B \-z +If the paper name is unknown, print it but issue a message on the +standard error and exit with a non-zero code. +.TP +.B \-n +Print the name of the paper. +.TP +.B \-N +Print the name of the paper with the first letter capitalized. +.TP +.B \-s +Print the size (width followed by height) of the paper. +.TP +.B \-w +Print the width of the paper. +.TP +.B \-h +Print the height of the paper. +.TP +.B \-c +Use centimetres as unit for paper size. +.TP +.B \-m +Use millimetres as unit for paper size. +.TP +.B \-i +Use inches as unit for paper size. + +.SH ENVIRONMENT +.TP 20 +.B @PAPERSIZEVAR@ +Paper size to use regardless of what the papersize file contains. +.TP 20 +.B @PAPERCONFVAR@ +Full path to a file containing the paper size to use. +.SH FILES +.TP 20 +.B @PAPERCONF@ +Contains the name of the system-wide default paper size to be used +if the +.B @PAPERSIZEVAR@ +and +.B @PAPERCONFVAR@ +variables are not set. +.SH AUTHOR +Yves Arrouye <arrouye@debian.org> +.SH SEE ALSO +.BR papersize (5) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconfig.8.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconfig.8.in new file mode 100644 index 00000000000..1c7ce4d9159 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperconfig.8.in @@ -0,0 +1,73 @@ +.\" paperconfig.8, Copyright (C) 1996, Yves Arrouye <arrouye@debian.org> +.TH PAPERCONFIG 8 "5 January 2005" "Debian/Linux" "Linux Administrator's Manual" +.SH NAME +.B paperconfig +\- configure the system default paper size +.SH SYNOPSIS +.B paperconfig +[ +.BR \-v\fP, \fB\-\-version +] +[ +.BR \-h\fP, \fB\-\-help +] +[ +.BI "\-p\fP, \fB\-\-paper" " papername" +| +.B \-\-force +] +.SH DESCRIPTION +.B paperconfig +sets the system (or default) paper to be used by tools using the +.B papersize +file. +It can either ask interactively for the paper to use or be called +non-interactively by scripts. +.PP +When the paper size has been changed, +.B paperconfig +notifies other packages of the change by running the scripts in the +.I @RUNPARTSDIR@ +directory. +.SH OPTIONS +.TP +.BR \-v\fP, \fB\-\-version +Print the version of +.B paperconfig +and exit. +.TP +.BR \-h\fP, \fB\-\-help +Print help about usage and exit. +.TP +.BI "\-p\fP, \fB\-\-paper" " papername" +Use +.I papername +if possible. If +.I papername +is not a valid paper, print an error message and exit. +.TP +.B \-\-force +Force interactive selection of the system paper even if the actual paper +is a valid one. +.SH ENVIRONMENT +.B PAPERCONF +Full path to a file containing the paper size to use; this file will +be rewritten with the system paper size. +.SH FILES +.TP 20 +.B @PAPERCONF@ +Contains the name of the system-wide default paper size to be used +if the +.B @PAPERSIZEVAR@ +variable is not set. +.TP 20 +.B @RUNPARTSDIR@ +Directory of scripts to run after the paper size has been changed. +This package puts no scripts here, but other packages may. +.SH AUTHOR +Yves Arrouye <arrouye@debian.org> +.SH SEE ALSO +.BR paperconf (1) +.br +.BR papersize (5) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperdone.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperdone.3 new file mode 100644 index 00000000000..d1098b8c116 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperdone.3 @@ -0,0 +1,2 @@ +.so man3/paperinit.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperfirst.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperfirst.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperfirst.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinfo.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinfo.3 new file mode 100644 index 00000000000..68f5bf75f98 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinfo.3 @@ -0,0 +1,65 @@ +.TH PAPERINFO 3 "24 September 1996" +.SH NAME +paperinfo, paperwithsize, paperfirst, paperlast, papernext, paperprev +\- return informations about a paper +.SH SYNOPSYS +.nf +.B #include <paper.h> +.sp +.B "const struct paper* paperinfo(const char* papername)" +.B "const struct paper* paperwithsize(double psw, double psh)" +.sp +.B "char* papername(const struct paper*)" +.B "double paperpswidth(const struct paper*)" +.B "double paperpsheigth(const struct paper*)" +.sp +.B "const struct paper* paperfirst(void)" +.B "const struct paper* papernext(const struct paper* pinfo)" +.B "const struct paper* paperprev(const struct paper* pinfo)" +.B "const struct paper* paperlast(void)" +.fi +.SH DESCRIPTION +.B paperinfo() +returns a pointer to a +.B struct paper +containing informations about the paper with name +.B papername +. +.B paperwithsize() +looks for a paper whose width and height is +.B psw +and +.B psh +in PostScript points, and return a pointer to a +.B struct paper +corresponding to the paper found. +.PP +.B papername() +returns the name of a paper described by an opaque struct paper object +. +.B paperpswidth() +returns the width, in PostScript points, of a paper described by an +opaque struct paper object +. +.B paperpsheight() +returns the height, in PostScript points, of a paper described by an +opaque struct paper object +. +.PP +.B paperfirst() +and +.B paperlast() +return the first and last entries for papers. +Iteration from one entry to the next or the previous one can be done +with +.B papernext() +and +.B paperprev() +respectively. +.SH SEE ALSO +.BR paperinit (3), +.BR paperdone (3) +.BR defaultpapername (3) +.br +.BR papersize (5) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinit.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinit.3 new file mode 100644 index 00000000000..e1f71dfdf99 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperinit.3 @@ -0,0 +1,27 @@ +.TH PAPERINIT 3 "24 September 1996" +.SH NAME +paperinit, paperdone \- begin and end using the paper library +.SH SYNOPSYS +.nf +.B #include <paper.h> +.sp +.B "void paperinit(void)" +.B "void paperdone(void)" +.fi +.SH DESCRIPTION +.B paperinit() +initializes the paper library, allocating any resources that are +necessary for its use. +This function must be called before any other function of the paper +library is used. +.PP +.B paperdone() +frees any resources that were allocated for the paper library. +No function of the library should be called after a call to this +function. +.SH SEE ALSO +.BR defaultpapername (3), +.BR paperinfo (3) +.br +.BR papersize (5) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperlast.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperlast.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperlast.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papernext.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papernext.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papernext.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperprev.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperprev.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperprev.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsheight.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsheight.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsheight.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsname.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsname.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpsname.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpswidth.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpswidth.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperpswidth.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papersize.5.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papersize.5.in new file mode 100644 index 00000000000..f0f71934890 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/papersize.5.in @@ -0,0 +1,63 @@ +.TH PAPERSIZE 5 +.SH NAME +.B papersize +\- specify preferred paper size +.SH SYNOPSYS +.B @PAPERCONF@ +.SH DESCRIPTION +The +.B papersize +file is used to specify the preferred paper size to use by available +commands and programs generating documents. +.PP +The format of this file is extremely simple: whitespace and anything +starting with `#' is ignored, and the name of the paper is the first +string found; the case in the name of the paper does not import (see +.B CAVEATS +section however). +.SH "PAPER NAMES" +The following names are commonly understood by programs: +.B a3\fP,\fB a4\fP,\fB a5\fP, +.B b5\fP,\fB letter\fP,\fB legal\fP,\fB executive\fP,\fB note\fP +and +.BR 11x17 . +.PP +Additional paper names that one may encounter are: +.B a0\fP,\fB a1\fP,\fB a2\fP,\fB a6\fP,\fB a7\fP,\fB a8\fP,\fB a9\fP,\fB a10\fP, +.B b0\fP,\fB b1\fP,\fB b2\fP,\fB b3\fP,\fB b4\fP,\fB tabloid\fP, +.B statement\fP,\fB note\fP, +.B halfletter\fP,\fB halfexecutive\fP,\fB folio\fP,\fB quarto\fP,\fB ledger\fP, +.B archA\fP,\fB archB\fP,\fB archC\fP,\fB archD\fP,\fB archE\fP,\fB flsa\fP, +.B flse\fP,\fB csheet\fP,\fB dsheet\fP,\fB esheet\fP +and +.BR 10x14 . +.PP +The value of the +.B papersize +file can be overrideen by +looking in order at the +.B @PAPERSIZEVAR@ +environment variable, then at the contents of the file specified by the +.B @PAPERCONFVAR@ +environment variable. If the +.B papersize +file does not exist, programs using the paper library default to using +.B letter +as a fall-back value +.SH CAVEATS +This manual page documents the format of the +.B papersize +file that is read by the +.B libpaper +library. +Some programs that read this file do not yet use the library and may have +trouble ignoring whitespace and comments in the file; they may also +require that the paper names use a specific capitalization. +.SH DOCUMENTATION +Yves Arrouye <arrouye@debian.org> +.SH SEE ALSO +.BR paperconf (1) +.br +.BR paperconfig (8) + + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperwithsize.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperwithsize.3 new file mode 100644 index 00000000000..0ba4c23059d --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/paperwithsize.3 @@ -0,0 +1,2 @@ +.so man3/paperinfo.3 + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapername.3.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapername.3.in new file mode 100644 index 00000000000..033e0309756 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapername.3.in @@ -0,0 +1,53 @@ +.TH SYSTEMPAPERNAME 3 "17 September 2001" +.SH NAME +systempapername, defaultpapername, systempapersizefile, +defaultpapersizefile \- return names for managing system paper +information +.SH SYNOPSYS +.nf +.B #include <paper.h> +.sp +.B "const char* systempapername(void)" +.B "const char* defaultpapername(void)" +.sp +.B "const char* systempapersizefile(void)" +.B "const char* defaultpapersizefile(void)" +.fi +.SH DESCRIPTION +.B systempapername() +returns the name of the default paper to be used by a program. +This name is obtained by looking in that order at the +.B @PAPERCONFVAR@ +environment variable, at the contents of the file returned by +.B systempapersizefile() +or by using +.B defaultpapername() +as a last chance. +.PP +.B defaultpapername() +returns the name of the default paper to use if it is impossible to get +its name from the environment. +.PP +.B systempapersizefile() +returns the path of the papersize file to use. +This path is obtained by looking at the +.B @PAPERCONFVAR@ +environment variable or by calling +.BR defaultpapersizefile() . +.PP +.B defaultpapersizefile +returns the path of the default papersize file. +.SH ENVIRONMENT +.TP 20 +.B @PAPERSIZEVAR@ +Paper size to use regardless of what the papersize file contains. +.TP 20 +.B @PAPERCONFVAR@ +Full path to a file containing the paper size to use. +.SH FILES +.TP 20 +.B @PAPERCONF@ +Contains the name of the system-wide default paper size to be used. +.SH SEE ALSO +.BR papersize (5) + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapersizefile.3 b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapersizefile.3 new file mode 100644 index 00000000000..42182084272 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/man/systempapersizefile.3 @@ -0,0 +1 @@ +.so man3/systempapername.3 diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/Makefile.am b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/Makefile.am new file mode 100644 index 00000000000..5d7bc85170e --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/Makefile.am @@ -0,0 +1,8 @@ + +bin_PROGRAMS = paperconf +paperconf_LDADD = ../lib/libpaper.la +paperconf_CPPFLAGS = -I$(top_srcdir)/lib + +sbin_SCRIPTS = paperconfig + +EXTRA_DIST = paperconfig.in diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconf.c b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconf.c new file mode 100644 index 00000000000..d0fa34fab2f --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconf.c @@ -0,0 +1,234 @@ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <sys/param.h> + +#include <ctype.h> +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <errno.h> + +#include <paper.h> + + +/* needed for GNU/Hurd */ +#ifndef MAXPATHLEN +#define MAXPATHLEN 4096 +#endif + +static void usage(const char* name) +{ + fprintf(stderr, + "usage: %s [ [ -p ] papername | -d | -a ] [ -z ] [ -n | -N ] [ -s | -w | -h ] [ -c | -m | -i ]\n", + name); + exit(1); +} + +#define OPT_NAME 1 +#define OPT_UPPERNAME 2 +#define OPT_WIDTH 4 +#define OPT_HEIGHT 8 +#define OPT_CM 16 +#define OPT_MM 32 +#define OPT_INCH 64 +#define OPT_CONTINUE 128 + +#define OPT_UNIT (OPT_CM | OPT_MM | OPT_INCH) + +#define INCHxCM 2.54 + +static void printinfo(const struct paper* paper, int options) +{ + int pr = 0; + + if ((options & ~(OPT_CONTINUE)) == 0) { + options = OPT_NAME; + } + + if (options & OPT_NAME) { + printf("%s", papername(paper)); + pr = 1; + } else if (options & OPT_UPPERNAME) { + if (islower(*papername(paper))) { + printf("%c%s", toupper(*papername(paper)), papername(paper) + 1); + } else { + printf("%s", papername(paper)); + } + pr = 1; + } + + if (options & OPT_WIDTH) { + if (pr) putchar(' '); + if (options & OPT_CM) + printf("%g cm", paperpswidth(paper) / 72.0 * INCHxCM ); + else if (options & OPT_MM) + printf("%g mm", paperpswidth(paper) / 72.0 * 10 * INCHxCM ); + else if (options & OPT_INCH) + printf("%g\"", paperpswidth(paper) / 72.0 ); + else + printf("%g", paperpswidth(paper) ); + pr = 1; + } + if (options & OPT_HEIGHT) { + if (pr) putchar(' '); + if (options & OPT_CM) + printf("%g cm", paperpsheight(paper) / 72.0 * INCHxCM ); + else if (options & OPT_MM) + printf("%g mm", paperpsheight(paper) / 72.0 * 10 * INCHxCM ); + else if (options & OPT_INCH) + printf("%g\"", paperpsheight(paper) / 72.0 ); + else + printf("%g", paperpsheight(paper) ); + pr = 1; + } + + putchar('\n'); +} + +int main(int argc, char** argv) +{ + int c; + + int all = 0; + const char* paper = 0; + unsigned options = 0; + + const char* progname; + + progname = strrchr(*argv, '/'); + if (progname) { + ++progname; + } else { + progname = *argv; + } + + while ((c = getopt(argc, argv, "adznNswhcmip:")) != EOF) { + switch (c) { + case 'a': + if (paper || all) { + usage(progname); + } + all = 1; + break; + + case 'd': + if (paper || all) { + usage(progname); + } + paper = defaultpapername(); + break; + + case 'p': + if (paper || all) { + usage(progname); + } + paper = optarg; + break; + + case 'z': + options |= OPT_CONTINUE; + break; + + case 'n': + if (options & OPT_UPPERNAME) usage(progname); + options |= OPT_NAME; + break; + + case 'N': + if (options & OPT_NAME) usage(progname); + options |= OPT_UPPERNAME; + break; + + case 's': + options |= OPT_WIDTH | OPT_HEIGHT; + break; + + case 'w': + options |= OPT_WIDTH; + break; + + case 'h': + options |= OPT_HEIGHT; + break; + + case 'c': + if (options & OPT_UNIT) usage(progname); + options |= OPT_CM; + break; + + case 'm': + if (options & OPT_UNIT) usage(progname); + options |= OPT_MM; + break; + + case 'i': + if (options & OPT_UNIT) usage(progname); + options |= OPT_INCH; + break; + + default: + usage(progname); + } + } + + if (optind < argc - 1 || (paper && optind != argc)) { + usage(progname); + } else if (optind != argc) { + paper = argv[optind]; + } + + paperinit(); + + if (all) { + const struct paper* papers; + + for (papers = paperfirst(); papers; papers = papernext(papers)) { + printinfo(papers, options); + } + } else { + const struct paper* syspaper; + + if (!paper) paper = systempapername(); + if (!paper) paper = defaultpapername(); + if (!paper) { + char errmsg[2 * MAXPATHLEN + 64]; + + sprintf(errmsg, "%s: cannot get paper size from %s", + progname, systempapersizefile()); + + if (errno) { + perror(errmsg); + } else { + fputs(errmsg, stderr); + } + + paperdone(); + + exit(3); + } + + syspaper = paperinfo(paper); + + if (syspaper) { + printinfo(syspaper, options); + } else { + fprintf(stderr, "%s: unknown paper `%s'\n", progname, paper); + if (options & OPT_CONTINUE) { + puts(paper); + } + + paperdone(); + + exit(2); + } + } + + paperdone(); + + return 0; +} + diff --git a/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconfig.in b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconfig.in new file mode 100644 index 00000000000..9548b4aa2f9 --- /dev/null +++ b/Build/source/libs/paper/libpaper-1.1.24+nmu2/src/paperconfig.in @@ -0,0 +1,227 @@ +#! /bin/sh + +# paperconfig: configuration of system paper name +# +# Copyright (C) 1996, Yves Arrouye <arrouye@debian.org> +# 2001, Adrian Bunk <bunk@fs.tum.de> + +usage() { + if [ "$1" = -h ] + then + exec 1>&2 + echo -n U + else + echo -n u + fi + + echo "sage: `basename $0` [ -v, --version ] [ -h, --help ] [ -p, --paper name | --force ]" + + if [ "$1" = -h ] + then + cat <<EOF + +Options: -v, --verbose print version information and exit + -h, --help print this help and exit + -p, --paper name specify the paper to use + --force force paper configuration +EOF + exit 0 + else + exit 1 + fi +} + +# "|| true" added below, to assure that the script does not fail even if +# called with bash -e. (MP 22/08/98) + +unset @PAPERSIZEVAR@ || true +: ${@PAPERCONFVAR@:=@PAPERCONF@} +export @PAPERCONFVAR@ + +unset @RUNPARTSDIRVAR@ || true +: ${@RUNPARTSDIRVAR@:=@RUNPARTSDIR@} +export @RUNPARTSDIRVAR@ + +force=0 + +if [ "$#" -eq 0 ] + then + usage +fi + +while [ $# -ne 0 ] +do + case "$1" in + -v|--version) + echo "`basename $0` version 1.0" \ + "by Yves Arrouye <arrouye@debian.org>" + exit 0 + ;; + -h|--help) + usage -h + ;; + -p|--paper) + test $# -gt 1 || usage + paper="$2" + shift + ;; + --force) + force=1 + ;; + *) + usage + ;; + esac + shift +done + +invalidpaper() { + ! paperconf "$1" 2>/dev/null 1>&2 +} + +format() { + _maxwidth=$1; shift + _start="$1"; shift + + _cline= + + for w + do + if [ `echo "$_start$_cline$w " | wc -c` -ge 0$_maxwidth ] + then + echo "$_cline" + _cline= + _start= + fi + _cline="$_cline$w " + done + + if [ -n "$_cline" ] + then + echo "$_cline" + fi + + unset _maxwidth _cline _start +} + +# "chmod 644" added below, to assure that the conf file is created +# with the right access permissions (MP 13/05/2000) + +setpaper() { + paperright=`paperconf "$1" 2>/dev/null` + + ok=0 + + if 2>/dev/null echo "$paperright" >${@PAPERCONFVAR@}.new + then + if 2>/dev/null mv -f ${@PAPERCONFVAR@}.new $@PAPERCONFVAR@ + then + if 2>/dev/null chmod 644 $@PAPERCONFVAR@ + then + ok=1 + fi + fi + fi + + if [ $ok -eq 0 ] + then + echo `basename $0`: cannot create $@PAPERCONFVAR@ + exit 2 + else + # + # Added code for calling back applications when + # papersize changes. See bug #345466 + # eppesuig@debian.org, 2006-01-05 + if [ -d ${@RUNPARTSDIRVAR@} ] + then + run-parts ${@RUNPARTSDIRVAR@} + fi + fi +} + +if [ ! -z "$paper" ] +then + if invalidpaper $paper + then + >&2 echo `basename $0`: \"$paper\" is not a known paper name + exit 3 + fi + setpaper "$paper" + exit 0 +fi + +knownpapers="`paperconf -a`" + +prompt= +width=72 + +# "|| true" added below, to assure that the script does not fail even if +# called with bash -e. (MP 22/08/98) + +paper=`paperconf 2>/dev/null || true` +dftpaper=`paperconf -d` + +if [ $force -eq 1 ] || [ ! -e $@PAPERCONFVAR@ ] || invalidpaper $paper +then + papers="`format $width \"\" $knownpapers`" + echo + + if [ -x /usr/bin/pager ] + then + : ${PAGER:=/usr/bin/pager} + fi + if [ -x /bin/more ] + then + : ${PAGER:=/bin/more} + fi + : ${PAGER:=cat} + + LESS="-X -E $LESS" + export LESS + + ( + cat <<EOF +The default (also known as system) paper can be chosen from many known +papers that are currently recognized by programs using the libpaper +library (with libpaper, paper names are case insensitive; if you use +programs that use the system paper size but do not rely on the libpaper +library, this may not be true and some of the papers listed below may +not be known by these programs): + +EOF + echo "$papers" | sed 's/^/ /' + echo + ) | ${PAGER} + + : ${paper:=$dftpaper} + + echo -n "Default paper name? [$paper] " + read ans + : ${ans:=$paper} + paper=$ans +fi + +while invalidpaper "$paper" +do + if [ -z "$paper" ] + then + echo "Please choose a paper from the available papers list." + else + echo "Unknow paper \"$paper\"," \ + "please choose one from the available papers list." + fi + + paper=$dftpaper + + echo -n "Default paper name? [$paper] " + read ans + paper=$ans +done + +if [ "`paperconf 2>/dev/null`" != "$paper" ] || grep -q "[# ]" $@PAPERCONFVAR@ +then + setpaper "$paper" +fi + +exit 0 + |