diff options
Diffstat (limited to 'dvi/mdvi-lib/paper.c')
-rw-r--r-- | dvi/mdvi-lib/paper.c | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/dvi/mdvi-lib/paper.c b/dvi/mdvi-lib/paper.c deleted file mode 100644 index 7a7412d..0000000 --- a/dvi/mdvi-lib/paper.c +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (C) 2000, Matias Atria - * - * 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 - */ - -#include <string.h> - -#include "common.h" -#include "mdvi.h" -#include "private.h" - -static const DviPaperSpec papers[] = { - {"ISO", 0, 0}, - {"4A0", "1682mm", "2378mm"}, - {"2A0", "1189mm", "1682mm"}, - {"A0", "841mm", "1189mm"}, - {"A1", "594mm", "841mm"}, - {"A2", "420mm", "594mm"}, - {"A3", "297mm", "420mm"}, - {"A4", "210mm", "297mm"}, - {"A5", "148mm", "210mm"}, - {"A6", "105mm", "148mm"}, - {"A7", "74mm", "105mm"}, - {"A8", "52mm", "74mm"}, - {"A9", "37mm", "52mm"}, - {"A10", "26mm", "37mm"}, - {"B0", "1000mm", "1414mm"}, - {"B1", "707mm", "1000mm"}, - {"B2", "500mm", "707mm"}, - {"B3", "353mm", "500mm"}, - {"B4", "250mm", "353mm"}, - {"B5", "176mm", "250mm"}, - {"B6", "125mm", "176mm"}, - {"B7", "88mm", "125mm"}, - {"B8", "62mm", "88mm"}, - {"B9", "44mm", "62mm"}, - {"B10", "31mm", "44mm"}, - {"C0", "917mm", "1297mm"}, - {"C1", "648mm", "917mm"}, - {"C2", "458mm", "648mm"}, - {"C3", "324mm", "458mm"}, - {"C4", "229mm", "324mm"}, - {"C5", "162mm", "229mm"}, - {"C6", "114mm", "162mm"}, - {"C7", "81mm", "114mm"}, - {"C8", "57mm", "81mm"}, - {"C9", "40mm", "57mm"}, - {"C10", "28mm", "40mm"}, - {"US", 0, 0}, - {"archA", "9in", "12in"}, - {"archB", "12in", "18in"}, - {"archC", "18in", "24in"}, - {"archD", "24in", "36in"}, - {"archE", "36in", "48in"}, - {"executive", "7.5in", "10in"}, - {"flsa", "8.5in", "13in"}, - {"flse", "8.5in", "13in"}, - {"halfletter", "5.5in", "8.5in"}, - {"letter", "8.5in", "11in"}, - {"legal", "8.5in", "14in"}, - {"ledger", "17in", "11in"}, - {"note", "7.5in", "10in"}, - {"tabloid", "11in", "17in"}, - {"statement", "5.5in", "8.5in"}, - {0, 0, 0} -}; - -static DviPaperClass str2class(const char *name) -{ - if(STRCEQ(name, "ISO")) - return MDVI_PAPER_CLASS_ISO; - else if(STRCEQ(name, "US")) - return MDVI_PAPER_CLASS_US; - return MDVI_PAPER_CLASS_CUSTOM; -} - -int mdvi_get_paper_size(const char *name, DviPaper *paper) -{ - const DviPaperSpec *sp; - double a, b; - char c, d, e, f; - char buf[32]; - - paper->pclass = MDVI_PAPER_CLASS_CUSTOM; - if(sscanf(name, "%lfx%lf%c%c", &a, &b, &c, &d) == 4) { - sprintf(buf, "%12.16f%c%c", a, c, d); - paper->inches_wide = unit2pix_factor(buf); - sprintf(buf, "%12.16f%c%c", b, c, d); - paper->inches_tall = unit2pix_factor(buf); - paper->name = _("custom"); - return 0; - } else if(sscanf(name, "%lf%c%c,%lf%c%c", &a, &c, &d, &b, &e, &f) == 6) { - sprintf(buf, "%12.16f%c%c", a, c, d); - paper->inches_wide = unit2pix_factor(buf); - sprintf(buf, "%12.16f%c%c", b, e, f); - paper->inches_tall = unit2pix_factor(buf); - paper->name = _("custom"); - return 0; - } - - for(sp = &papers[0]; sp->name; sp++) { - if(!sp->width || !sp->height) { - paper->pclass = str2class(sp->name); - continue; - } - if(strcasecmp(sp->name, name) == 0) { - paper->inches_wide = unit2pix_factor(sp->width); - paper->inches_tall = unit2pix_factor(sp->height); - paper->name = sp->name; - return 0; - } - } - return -1; -} - -DviPaperSpec *mdvi_get_paper_specs(DviPaperClass pclass) -{ - int i; - int first, count; - DviPaperSpec *spec, *ptr; - - first = -1; - count = 0; - if(pclass == MDVI_PAPER_CLASS_ANY || - pclass == MDVI_PAPER_CLASS_CUSTOM) { - first = 0; - count = (sizeof(papers) / sizeof(papers[0])) - 3; - } else for(i = 0; papers[i].name; i++) { - if(papers[i].width == NULL) { - if(str2class(papers[i].name) == pclass) - first = i; - else if(first >= 0) - break; - } else if(first >= 0) - count++; - } - ptr = spec = xnalloc(DviPaperSpec, count + 1); - for(i = first; papers[i].name&& count > 0; i++) { - if(papers[i].width) { - ptr->name = papers[i].name; - ptr->width = papers[i].width; - ptr->height = papers[i].height; - ptr++; - count--; - } - } - ptr->name = NULL; - ptr->width = NULL; - ptr->height = NULL; - - return spec; -} - -void mdvi_free_paper_specs(DviPaperSpec *spec) -{ - mdvi_free(spec); -} |