diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-04 19:24:00 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-07-04 19:24:00 +0000 |
commit | 13c347f2a8126653b449bab4a1ae943f59dd5fac (patch) | |
tree | 17769b41c4e06bf03340c4a3e5b737b2ac0e5542 | |
parent | 49dd9b5dd748b620a0ce6f13386ed83f152ae465 (diff) | |
download | mandoc-13c347f2a8126653b449bab4a1ae943f59dd5fac.tar.gz |
Backed out margin calculations in favour of much simpler rule of thumb:
margins are 1/9 the length/width.
-rw-r--r-- | mandoc.1 | 6 | ||||
-rw-r--r-- | term_ps.c | 25 |
2 files changed, 12 insertions, 19 deletions
@@ -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 . @@ -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); } |