summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwl <wl>2011-01-20 07:13:57 +0000
committerwl <wl>2011-01-20 07:13:57 +0000
commit88cb540f524f0df1dea0c34c7740c11eab29856c (patch)
tree219546c7cfa9a259c4d63f53375b40ef69ef4caa /src
parenta1b0b463c3bde03f88919bef86e66bd284ead757 (diff)
downloadgroff-88cb540f524f0df1dea0c34c7740c11eab29856c.tar.gz
Fix handling of wide characters in no-SGR mode.
* src/devices/grotty/tty.cpp (tty_printer::make_underline): Only emit a single backspace in no-SGR mode. less (at least) backspaces over a character at a time. (tty_printer::make_bold): Likewise.
Diffstat (limited to 'src')
-rw-r--r--src/devices/grotty/tty.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/devices/grotty/tty.cpp b/src/devices/grotty/tty.cpp
index 87654107..e25f934d 100644
--- a/src/devices/grotty/tty.cpp
+++ b/src/devices/grotty/tty.cpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
- 2010
+/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ 2009-2011
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -311,11 +311,8 @@ void tty_printer::make_underline(int w)
if (!w)
warning("can't underline zero-width character");
else {
- int n = w / font::hor;
- for (int i = 0; i < n; i++)
- putchar('_');
- for (int j = 0; j < n; j++)
- putchar('\b');
+ putchar('_');
+ putchar('\b');
}
}
else {
@@ -337,10 +334,8 @@ void tty_printer::make_bold(output_character c, int w)
if (!w)
warning("can't print zero-width character in bold");
else {
- int n = w / font::hor;
put_char(c);
- for (int i = 0; i < n; i++)
- putchar('\b');
+ putchar('\b');
}
}
else {