diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-19 15:18:30 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-10-19 15:18:30 +0000 |
commit | af2a03c0019957aeee8786d2055ba9a304d433d3 (patch) | |
tree | 233946af8db2644bf1588a2d0e85cfc16957ca17 | |
parent | 3a025f9c259f9990e66a6984935a8b85cb9b8593 (diff) | |
download | mandoc-af2a03c0019957aeee8786d2055ba9a304d433d3.tar.gz mandoc-af2a03c0019957aeee8786d2055ba9a304d433d3.tar.zst mandoc-af2a03c0019957aeee8786d2055ba9a304d433d3.zip |
More fixes to scaling-width multipliers (which, just to make my life difficult, differ not only between -mdoc and -man, but between various invocation, e.g., -offset and -width).
-rw-r--r-- | mdoc_term.c | 8 | ||||
-rw-r--r-- | term.c | 13 |
2 files changed, 12 insertions, 9 deletions
diff --git a/mdoc_term.c b/mdoc_term.c index e3d0f1dc..ad4e0640 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.92 2009/10/18 19:03:37 kristaps Exp $ */ +/* $Id: mdoc_term.c,v 1.93 2009/10/19 15:18:30 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -494,13 +494,13 @@ arg2width(const struct mdoc_argv *arg, int pos) assert(arg->value[pos]); if ( ! a2roffsu(arg->value[pos], &su, SCALE_MAX)) - SCALE_HS_INIT(&su, strlen(arg->value[pos]) + 2); + SCALE_HS_INIT(&su, strlen(arg->value[pos])); - return(term_hspan(&su)); + /* XXX: pachemu? */ + return(term_hspan(&su) + 2); } -/* FIXME: put in utility file for front-ends. */ static int arg_listtype(const struct mdoc_node *n) { @@ -1,4 +1,4 @@ -/* $Id: term.c,v 1.107 2009/10/18 19:03:37 kristaps Exp $ */ +/* $Id: term.c,v 1.108 2009/10/19 15:18:30 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@kth.se> * @@ -602,18 +602,21 @@ term_hspan(const struct roffsu *su) { double r; + /* XXX: CM, IN, and PT are approximations. */ + switch (su->unit) { case (SCALE_CM): - r = (4 * su->scale) + 2; /* FIXME: double-check. */ + r = 4 * su->scale; break; case (SCALE_IN): - r = (10 * su->scale) + 2; /* FIXME: double-check. */ + /* XXX: this is an approximation. */ + r = 10 * su->scale; break; case (SCALE_PC): - r = (10 * su->scale) / 6; /* FIXME: double-check. */ + r = (10 * su->scale) / 6; break; case (SCALE_PT): - r = (10 * su->scale) / 72; /* FIXME: double-check. */ + r = (10 * su->scale) / 72; break; case (SCALE_MM): r = su->scale / 1000; /* FIXME: double-check. */ |