=================================================================== RCS file: /cvs/mandoc/term.c,v retrieving revision 1.107 retrieving revision 1.109 diff -u -p -r1.107 -r1.109 --- mandoc/term.c 2009/10/18 19:03:37 1.107 +++ mandoc/term.c 2009/10/22 18:19:36 1.109 @@ -1,4 +1,4 @@ -/* $Id: term.c,v 1.107 2009/10/18 19:03:37 kristaps Exp $ */ +/* $Id: term.c,v 1.109 2009/10/22 18:19:36 kristaps Exp $ */ /* * Copyright (c) 2008, 2009 Kristaps Dzonsons * @@ -548,14 +548,14 @@ encode(struct termp *p, char c) { if (' ' != c) { - if (p->bold) { - buffer(p, c); - buffer(p, 8); - } if (p->under) { buffer(p, '_'); buffer(p, 8); } + if (p->bold) { + buffer(p, c); + buffer(p, 8); + } } buffer(p, c); } @@ -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. */