diff options
-rw-r--r-- | mandoc.1 | 8 | ||||
-rw-r--r-- | term_ps.c | 27 |
2 files changed, 14 insertions, 21 deletions
@@ -1,4 +1,4 @@ -.\" $Id: mandoc.1,v 1.69 2010/07/04 10:53:04 kristaps Exp $ +.\" $Id: mandoc.1,v 1.70 2010/07/04 19:24:00 kristaps Exp $ .\" .\" Copyright (c) 2009 Kristaps Dzonsons <kristaps@bsd.lv> .\" @@ -303,10 +303,8 @@ PostScript Level-2 pages may be generated by .Fl T Ns Cm ps . Output pages default to letter sized and are rendered in the Times font -family, 11-point. Margins are calculated as the maximum of either space -left by page width minus text width (65 -.Sq m -characters), or given default margins of 2 cm. +family, 11-point. +Margins are calculated as 1/9 the page length and width. .Pp Special characters are rendered as in .Sx ASCII Output . @@ -1,4 +1,4 @@ -/* $Id: term_ps.c,v 1.27 2010/07/04 10:53:04 kristaps Exp $ */ +/* $Id: term_ps.c,v 1.28 2010/07/04 19:24:00 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -393,7 +393,7 @@ void * ps_alloc(char *outopts) { struct termp *p; - size_t pagex, pagey, margin, lineheight, m1, m2; + size_t pagex, pagey, marginx, marginy, lineheight; const char *toks[2]; const char *pp; char *v; @@ -476,28 +476,23 @@ ps_alloc(char *outopts) pagex = PNT2AFM(p, ((double)pagex * 2.834)); pagey = PNT2AFM(p, ((double)pagey * 2.834)); - /* - * Calculate margins. First get the minimum text width: either - * page minus margins or width of 65 'm' characters. Set total - * margins to page size minus text width. - */ + /* Margins are 1/9 the page x and y. */ - m1 = ps_width(p, 'm') * 65; - m2 = pagex - (2 * PNT2AFM(p, MINMARGIN_PNT)); - margin = (pagex - (m1 < m2 ? m1 : m2)) / 2; + marginx = (size_t)((double)pagex / 9.0); + marginy = (size_t)((double)pagey / 9.0); lineheight = PNT2AFM(p, 16); p->engine.ps.width = pagex; p->engine.ps.height = pagey; - p->engine.ps.header = pagey - (margin / 2) - (lineheight / 2); - p->engine.ps.top = pagey - margin; - p->engine.ps.footer = (margin / 2) - (lineheight / 2); - p->engine.ps.bottom = margin; - p->engine.ps.left = margin; + p->engine.ps.header = pagey - (marginy / 2) - (lineheight / 2); + p->engine.ps.top = pagey - marginy; + p->engine.ps.footer = (marginy / 2) - (lineheight / 2); + p->engine.ps.bottom = marginy; + p->engine.ps.left = marginx; p->engine.ps.lineheight = lineheight; - p->defrmargin = pagex - (margin * 2); + p->defrmargin = pagex - (marginx * 2); return(p); } |