/* This is DVIPDFMx, an eXtended version of DVIPDFM by Mark A. Wicks. Copyright (C) 2002-2020 by Jin-Hwan Cho and Shunsaku Hirata, the dvipdfmx project team. Copyright (C) 1998, 1999 by Mark A. Wicks This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifdef HAVE_CONFIG_H #include #endif #include "system.h" #include "error.h" #include "mem.h" #include "dpxconf.h" struct _dpx_conf dpx_conf = {0, 0, dpx_mode_normal_mode, 0, {0}}; #ifndef HAVE_LIBPAPER const struct paper paperspecs[] = { {"letter", 612.00, 792.00}, {"legal" , 612.00, 1008.00}, {"ledger", 1224.00, 792.00}, {"tabloid", 792.00, 1224.00}, {"a6", 297.638, 419.528}, {"a5", 419.528, 595.276}, {"a4", 595.276, 841.890}, {"a3", 841.890, 1190.550}, /* * The B series paper formats were first introduced in Japanese * patch (jpatch). The size of b6, ..., b5var paper is JIS paper * size for this reason. Please modify the following line or use * libpaper if you need ISO paper sizes. */ #if defined(USE_ISO_PAPERSIZE) || defined(ISO_PAPERSIZE) {"b6", 354.331, 498.898}, {"b5", 498.898, 708.661}, {"b4", 708.661, 1000.630}, {"b3", 1000.630, 1417.320}, #else {"b6", 364.25, 515.91}, {"b5", 515.91, 728.50}, {"b4", 728.50, 1031.81}, {"b3", 1031.81, 1457.00}, {"b5var", 515.91, 651.97}, #endif /* USE_ISO_PAPERSIZE */ /* Alias for JIS and ISO */ {"jisb6", 364.25, 515.91}, {"jisb5", 515.91, 728.50}, {"jisb4", 728.50, 1031.81}, {"jisb3", 1031.81, 1457.00}, {"isob6", 354.331, 498.898}, {"isob5", 498.898, 708.661}, {"isob4", 708.661, 1000.630}, {"isob3", 1000.630, 1417.320}, /* -- */ {NULL, 0, 0}, }; const struct paper * paperinfo (const char *ppformat) { const struct paper *ppinfo; if (!ppformat) return NULL; ppinfo = paperfirst(); while (ppinfo && papername(ppinfo)) { if (!strcmp(ppformat, ppinfo->name)) /* ppinfo->name == papername(ppinfo), but gcc doesn't like the latter */ break; ppinfo = papernext(ppinfo); } return ((ppinfo && papername(ppinfo)) ? ppinfo : NULL); } #endif /* HAVE_LIBPAPER */ void dumppaperinfo (void) { const struct paper *ppinfo; ppinfo = paperfirst(); while (ppinfo && papername(ppinfo)) { double wd, ht; wd = paperpswidth (ppinfo); ht = paperpsheight(ppinfo); fprintf(stdout, "%s: %.2f %.2f (%.2fmm %.2fmm)\n", papername(ppinfo), wd, ht, 25.4 * wd / 72.0, 25.4 * ht / 72.0); ppinfo = papernext(ppinfo); } }